diff --git a/.gitignore b/.gitignore index b989be6c..deb02efc 100644 --- a/.gitignore +++ b/.gitignore @@ -103,3 +103,5 @@ venv.bak/ # mypy .mypy_cache/ + +.DS_Store \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 00000000..105ce2da --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/jupyter-settings.xml b/.idea/jupyter-settings.xml new file mode 100644 index 00000000..e83f7f4b --- /dev/null +++ b/.idea/jupyter-settings.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/.idea/maddpg.iml b/.idea/maddpg.iml new file mode 100644 index 00000000..06f9c78b --- /dev/null +++ b/.idea/maddpg.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 00000000..87073165 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000..ff190687 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..ba9ccfd7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 00000000..e415d03e --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,209 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { + "associatedIndex": 3 +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1710515781243 + + + + + + + + + + + \ No newline at end of file diff --git a/environment.yml b/environment.yml new file mode 100644 index 00000000..e7c493eb --- /dev/null +++ b/environment.yml @@ -0,0 +1,15 @@ +name: base +channels: + - defaults +dependencies: + - conda + - python=3.9 + - python.app + - conda-env + - conda-build + - conda-verify + - _ipyw_jlab_nb_ext_conf + - anaconda==2022.10=py39_0 + - anaconda-navigator==2.4.0 + - navigator-updater +prefix: /Users/Hunter/opt/anaconda3 diff --git a/experiments/.gitignore b/experiments/.gitignore new file mode 100644 index 00000000..c0c2ee29 --- /dev/null +++ b/experiments/.gitignore @@ -0,0 +1,21 @@ +<<<<<<< HEAD +# Git Ignore File + +# Ignore specific configuration files +configs/ +plots/ +Analysis/ +#tmp/ +#learning_curves/ + +# Additionally, always ignore the .gitignore file itself +.gitignore +======= + +./configs/ + +./.gitignore +>>>>>>> cc2c223 (.) + + +.DS_Store \ No newline at end of file diff --git a/experiments/Analysis/MMJC-trajectories.ipynb b/experiments/Analysis/MMJC-trajectories.ipynb new file mode 100644 index 00000000..06f8431a --- /dev/null +++ b/experiments/Analysis/MMJC-trajectories.ipynb @@ -0,0 +1,398 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 3, + "id": "initial_id", + "metadata": { + "collapsed": true, + "ExecuteTime": { + "end_time": "2024-03-22T16:12:19.830402Z", + "start_time": "2024-03-22T16:12:18.011451Z" + } + }, + "outputs": [], + "source": [ + "from utils import get_rewards_for_last_n_runs, average_and_confidence, plot_with_confidence_interval, plot_multiple_with_confidence_intervals, get_trajectories_and_distances, plot_trajectories, plot_distance_distribution" + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Ant 2x4" + ], + "metadata": { + "collapsed": false + }, + "id": "13c717518dc36291" + }, + { + "cell_type": "code", + "execution_count": 1, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'get_trajectories' is not defined", + "output_type": "error", + "traceback": [ + "\u001B[0;31m---------------------------------------------------------------------------\u001B[0m", + "\u001B[0;31mNameError\u001B[0m Traceback (most recent call last)", + "\u001B[0;32m/var/folders/l2/bsmxrkc10x736tqpcsz1q6mw0000gp/T/ipykernel_60156/1160692471.py\u001B[0m in \u001B[0;36m\u001B[0;34m\u001B[0m\n\u001B[1;32m 3\u001B[0m \u001B[0mbase_path_mal2\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0;34m'/Users/Hunter/Development/Academic/UML/RL/Hasenfus-RL/Multi-Agent/maddpg/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/Agent_2'\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m 4\u001B[0m \u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0;32m----> 5\u001B[0;31m \u001B[0mT1\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0m_\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0m_\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0mget_trajectories\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mbase_path\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0m\u001B[1;32m 6\u001B[0m \u001B[0mT2\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0mget_trajectories\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mbase_path_mal0\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m 7\u001B[0m \u001B[0mT3\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0mget_trajectories\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mbase_path_mal2\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n", + "\u001B[0;31mNameError\u001B[0m: name 'get_trajectories' is not defined" + ] + } + ], + "source": [ + "base_path = '/Users/Hunter/Development/Academic/UML/RL/Hasenfus-RL/Multi-Agent/maddpg/experiments/learning_curves/Ant.2x4.0.001.350.0.99'\n", + "base_path_mal0 = '/Users/Hunter/Development/Academic/UML/RL/Hasenfus-RL/Multi-Agent/maddpg/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/Agent_0'\n", + "base_path_mal2 = '/Users/Hunter/Development/Academic/UML/RL/Hasenfus-RL/Multi-Agent/maddpg/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/Agent_2'\n", + "\n", + "T1,_,_ = get_trajectories(base_path)\n", + "T2 = get_trajectories(base_path_mal0)\n", + "T3 = get_trajectories(base_path_mal2)" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-03-22T16:12:09.816028Z", + "start_time": "2024-03-22T16:12:09.704285Z" + } + }, + "id": "257e98665cd42423" + }, + { + "cell_type": "code", + "execution_count": 2, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'plot_trajectories' is not defined", + "output_type": "error", + "traceback": [ + "\u001B[0;31m---------------------------------------------------------------------------\u001B[0m", + "\u001B[0;31mNameError\u001B[0m Traceback (most recent call last)", + "\u001B[0;32m/var/folders/l2/bsmxrkc10x736tqpcsz1q6mw0000gp/T/ipykernel_60156/3057526900.py\u001B[0m in \u001B[0;36m\u001B[0;34m\u001B[0m\n\u001B[0;32m----> 1\u001B[0;31m \u001B[0mplot_trajectories\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mT1\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mtitle\u001B[0m\u001B[0;34m=\u001B[0m\u001B[0;34m'Ant2x4'\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0msave\u001B[0m\u001B[0;34m=\u001B[0m\u001B[0;32mTrue\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0m", + "\u001B[0;31mNameError\u001B[0m: name 'plot_trajectories' is not defined" + ] + } + ], + "source": [ + "plot_trajectories(T1, title='Ant2x4', save=True)" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-03-22T16:12:13.463432Z", + "start_time": "2024-03-22T16:12:13.429632Z" + } + }, + "id": "e57711605b8b9ed2" + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "plot_trajectories(T2, title='Ant.2x4.malfunction', save=True)" + ], + "metadata": { + "collapsed": false + }, + "id": "b4be6376224985af" + }, + { + "cell_type": "markdown", + "source": [ + "# Ant 4x2" + ], + "metadata": { + "collapsed": false + }, + "id": "4322e4ffddad4075" + }, + { + "cell_type": "code", + "execution_count": 23, + "outputs": [], + "source": [ + "\n", + "HE = \"/Users/Hunter/Development/Academic/UML/RL/Hasenfus-RL/Multi-Agent/maddpg/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140\"\n", + "mal_HE_0 = \"/Users/Hunter/Development/Academic/UML/RL/Hasenfus-RL/Multi-Agent/maddpg/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607\"\n", + "mal_HE_2 = \"/Users/Hunter/Development/Academic/UML/RL/Hasenfus-RL/Multi-Agent/maddpg/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439\"\n", + "\n", + "\n", + "HE, ME, d = get_trajectories_and_distances(HE)\n", + "mal_HE, mal_ME, mal_d = get_trajectories_and_distances(mal_HE_0)\n", + "mal_HE_2, mal_ME_2, mal_d_2 = get_trajectories_and_distances(mal_HE_2)\n", + "\n" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-03-19T17:29:08.736629Z", + "start_time": "2024-03-19T17:29:08.640594Z" + } + }, + "id": "c04152a3a1e2e25f" + }, + { + "cell_type": "code", + "execution_count": 31, + "outputs": [ + { + "data": { + "text/plain": "
", + "image/png": "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3LmDli1bYt68eXB1dXXcgyMiIv0FBgLr1gFhYcC5c8CzzwIbNwI20uiIqOgqNMHxvHnzsqxxrAkJCcHq1auz/H3lypWhlLK6zMvLCzNnzsTMmTPtMUwiIirMypcH1qyRAHnnTql/PG+e1EcmovtCoUmrICIicog6dYBff5Vc5J9+MrecJqL7AoNjIiKijNq2BbQziu+9J8EyEd0XGBwTERHZ8vrrwP/9n3zfty9w7JiuwyEix2BwTERElJUpU2QW+c4dWaAXG6v3iIiogDE4JiIiyoqrK7BoEVClCnDxItCjB2A06j0qIipADI6JiIiyExQELF8OeHtLqbexY/UeEREVIAbHRERE91K/PvDDD/L9J59wgR5REcbgmIiIKCe6dzcv0OvdG9izR9/xEFGBYHBMRESUU1OmAB07AklJQKdOwPnzeo+IiOyMwTEREVFOuboCv/wCNGoEXL8OtG8PXLum96iIyI4YHBMREeWGry+wejVQqZLMHHfpAty9q/eoiMhOGBwTERHlVtmywJo1QEAAsHs30Lmz1EImokKPwTEREVFe1KkDrFolM8kbNgDPPAPcvq33qIgonxgcExER5dXjj0vtYz8/YMsWyUFOSNB7VESUDwyOiYiI8qNZM2DjRqBYMWDnTmk3zUV6RIUWg2MiIqL8euwxYPNmoHhxYO9eICQEeO014MQJvUdGRLnE4JiIiMgeQkOBrVuBBg1kcd733wP16gFPPQX89huQnKz3CIkoBxgcExER2Uv9+sChQ8COHcDzzwMuLhIwv/giEBwMjBkDnD4NKKX3SIkoCwyOiYiI7MlgAJo3l9ni8HDg3XeBcuWAmBhg8mSgdm2pkdyvH7BwIRAdrfeIicgCg2MiIqKCEhICTJwIREQAK1YAHToAHh5AZCQwbx7Qsyfwzjt6j5KILLjpPQAiIqIiz81NGoV07gwkJgK7dskCvk2bgNat9R4dEVlgcExERORIPj5AmzayEZHTYVoFEREREVEaBsdERERERGkYHBMRERERpWFwTERERESUhsExEREREVEaBsdERERERGkYHBMRERERpWFwTERERESUhsExEREREVEaBsdERERERGkYHBMRERERpWFwTERERESUhsExEREREVEaBsdERERERGkYHBMRERERpWFwTERERESUhsExEREREVEaBsdERERERGnc9B5AUaCU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\n" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0oAAAI6CAYAAAAZj7iYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAByyUlEQVR4nO3dd3gU9drG8Xt30yGhhZBQEjAgnQCCSJUiICCCiDQLqFiQoiCCxwYIgqLHyhHUI0U5FAsor3AQkBKaivQOQiAQamiB9GTn/QOzh50kmIUkm4Tv57py6T47u/v8fjMZ9s7MzloMwzAEAAAAAHCwursBAAAAAChoCEoAAAAAYEJQAgAAAAATghIAAAAAmBCUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgCQy2bOnCmLxeL48fHxUXBwsNq0aaNJkybpzJkzmR4zduxYWSwWl14nISFBY8eO1erVq116XFavVblyZd13330uPc/fmTNnjj788MMs77NYLBo7dmyuvl5u++WXX9SoUSMVK1ZMFotFP/zwQ5bLHTlyxGl9e3p6qkyZMmrcuLGGDx+u3bt3Z3rM6tWrZbFYXF53n376qWbOnOn6YAAALiMoAUAemTFjhjZu3Kjly5frX//6l+rXr6933nlHNWvW1IoVK5yWHThwoDZu3OjS8yckJGjcuHEuv9m+kde6EdcLShs3btTAgQPzvIcbZRiGevXqJU9PTy1atEgbN27U3Xfffd3HDB06VBs3btSaNWv09ddfq3v37lq0aJEiIiL07rvvOi3bsGFDbdy4UQ0bNnSpL4ISAOQfD3c3AABFVZ06ddSoUSPH7QcffFDDhw9XixYt1KNHDx08eFDlypWTJFWsWFEVK1bM034SEhLk5+eXL6/1d+666y63vv7fOXHihM6fP68HHnhA7dq1y9FjQkNDncbVuXNnjRgxQj169NCoUaNUp04dderUSZIUEBBQ4OcAAG51HFECgHwUGhqqf/7zn7p8+bI+++wzRz2r0+FWrlyp1q1bq0yZMvL19VVoaKgefPBBJSQk6MiRIypbtqwkady4cY7TvgYMGOD0fFu2bFHPnj1VqlQphYeHZ/taGRYuXKh69erJx8dHt912mz7++GOn+zNOKzxy5IhT3XwqWevWrbV48WIdPXrU6bS0DFmderdr1y5169ZNpUqVko+Pj+rXr69Zs2Zl+Tpz587Vq6++qvLlyysgIED33HOP9u/fn/3EX2PdunVq166d/P395efnp2bNmmnx4sWO+8eOHesIkqNHj5bFYlHlypVz9Nxmvr6++vLLL+Xp6el0VCmrU+8OHz6sPn36qHz58vL29la5cuXUrl07bdu2TdLV0yN3796tNWvWOOYzo6+kpCS9+OKLql+/vkqUKKHSpUuradOm+vHHHzP1ZLFYNGTIEH399deqWbOm/Pz8FBERoZ9++inTsvv27VPfvn1Vrlw5eXt7KzQ0VI899piSk5Mdy5w6dUrPPPOMKlasKC8vL1WpUkXjxo1TWlqa03NNnTpVERERKl68uPz9/VWjRg298sorNzSvAJAfOKIEAPmsc+fOstlsioyMzHaZI0eOqEuXLmrZsqWmT5+ukiVLKiYmRkuXLlVKSopCQkK0dOlS3XvvvXryyScdp7FlhKcMPXr0UJ8+ffTss88qPj7+un1t27ZNL7zwgsaOHavg4GD95z//0fPPP6+UlBSNHDnSpTF++umnevrpp3Xo0CEtXLjwb5ffv3+/mjVrpqCgIH388ccqU6aMZs+erQEDBuj06dMaNWqU0/KvvPKKmjdvrn//+9+Ki4vT6NGj1bVrV+3du1c2my3b11mzZo3at2+vevXq6csvv5S3t7c+/fRTde3aVXPnzlXv3r01cOBARUREqEePHho6dKj69esnb29vl8Z/rfLly+uOO+7Qhg0blJaWJg+PrP/p7dy5s9LT0zV58mSFhoYqNjZWGzZs0MWLFyVdDbE9e/ZUiRIl9Omnn0qSo6/k5GSdP39eI0eOVIUKFZSSkqIVK1aoR48emjFjhh577DGn11q8eLE2bdqkN998U8WLF9fkyZP1wAMPaP/+/brtttskSdu3b1eLFi0UGBioN998U9WqVdPJkye1aNEipaSkyNvbW6dOndKdd94pq9WqN954Q+Hh4dq4caMmTJigI0eOaMaMGZKkefPm6bnnntPQoUP13nvvyWq16s8//9SePXtueF4BIM8ZAIBcNWPGDEOSsWnTpmyXKVeunFGzZk3H7TFjxhjX7pK/++47Q5Kxbdu2bJ/j7NmzhiRjzJgxme7LeL433ngj2/uuFRYWZlgslkyv1759eyMgIMCIj493GltUVJTTcqtWrTIkGatWrXLUunTpYoSFhWXZu7nvPn36GN7e3kZ0dLTTcp06dTL8/PyMixcvOr1O586dnZb75ptvDEnGxo0bs3y9DHfddZcRFBRkXL582VFLS0sz6tSpY1SsWNGw2+2GYRhGVFSUIcl49913r/t8OV22d+/ehiTj9OnTTuPImK/Y2FhDkvHhhx9e97Vq165t3H333X/bU1pampGammo8+eSTRoMGDZzuk2SUK1fOiIuLc9ROnTplWK1WY9KkSY5a27ZtjZIlSxpnzpzJ9nWeeeYZo3jx4sbRo0ed6u+9954hydi9e7dhGIYxZMgQo2TJkn/bNwAUJJx6BwBuYBjGde+vX7++vLy89PTTT2vWrFk6fPjwDb3Ogw8+mONla9eurYiICKdav379FBcXpy1bttzQ6+fUypUr1a5dO1WqVMmpPmDAACUkJGS6+MT999/vdLtevXqSpKNHj2b7GvHx8frtt9/Us2dPFS9e3FG32Wx69NFHdfz48Ryfvueqv1vfpUuXVnh4uN599129//772rp1q+x2u0uv8e2336p58+YqXry4PDw85OnpqS+//FJ79+7NtGybNm3k7+/vuF2uXDkFBQU55i8hIUFr1qxRr169Mh2lvNZPP/2kNm3aqHz58kpLS3P8ZHwWa82aNZKkO++8UxcvXlTfvn31448/KjY21qWxAYA7EJQAIJ/Fx8fr3LlzKl++fLbLhIeHa8WKFQoKCtLgwYMVHh6u8PBwffTRRy69VkhISI6XDQ4OzrZ27tw5l17XVefOncuy14w5Mr9+mTJlnG5nnIKWmJiY7WtcuHBBhmG49Dq55ejRo/L29lbp0qWzvN9iseiXX35Rx44dNXnyZDVs2FBly5bVsGHDdPny5b99/gULFqhXr16qUKGCZs+erY0bN2rTpk164oknlJSUlGl58/xJV+cwY/4uXLig9PT0v73ox+nTp/V///d/8vT0dPqpXbu2JDkC0aOPPqrp06fr6NGjevDBBxUUFKQmTZpo+fLlfzs2AHAXPqMEAPls8eLFSk9PV+vWra+7XMuWLdWyZUulp6frjz/+0CeffKIXXnhB5cqVU58+fXL0Wq58N9OpU6eyrWW8sfbx8ZEkpw/zS7rpIwRlypTRyZMnM9VPnDghSQoMDLyp55ekUqVKyWq15vnrmMXExGjz5s26++67s/18kiSFhYXpyy+/lCQdOHBA33zzjcaOHauUlBRNmzbtuq8xe/ZsValSRfPnz3da5+b1lFOlS5eWzWbT8ePHr7tcYGCg6tWrp7feeivL+6/9Y8Djjz+uxx9/XPHx8YqMjNSYMWN033336cCBAwoLC7uhPgEgL3FECQDyUXR0tEaOHKkSJUromWeeydFjbDabmjRpon/961+S5DgNLidHUVyxe/dubd++3ak2Z84c+fv7O77vJ+Mqazt27HBabtGiRZme79ojFH+nXbt2WrlypSOwZPjqq6/k5+eXK5fSLlasmJo0aaIFCxY49WW32zV79mxVrFhRt99++02/zrUSExM1cOBApaWlZbogxfXcfvvteu2111S3bl2n0x6zm1OLxSIvLy+nkHTq1Kksr3qXE76+vrr77rv17bffXjcE33fffdq1a5fCw8PVqFGjTD9ZHTUtVqyYOnXqpFdffVUpKSlZfiEvABQEHFECgDyya9cux2c2zpw5o7Vr12rGjBmy2WxauHDhdT/7MW3aNK1cuVJdunRRaGiokpKSNH36dEnSPffcI0ny9/dXWFiYfvzxR7Vr106lS5dWYGDgDV/Kunz58rr//vs1duxYhYSEaPbs2Vq+fLneeecd+fn5SZIaN26s6tWra+TIkUpLS1OpUqW0cOFCrVu3LtPz1a1bVwsWLNDUqVN1xx13yGq1On2v1LXGjBnj+LzLG2+8odKlS+s///mPFi9erMmTJ6tEiRI3NCazSZMmqX379mrTpo1GjhwpLy8vffrpp9q1a5fmzp3r0hE4s+joaP3666+y2+26dOmStm7d6jjd7J///Kc6dOiQ7WN37NihIUOG6KGHHlK1atXk5eWllStXaseOHXr55Zcdy9WtW1fz5s3T/Pnzddttt8nHx0d169bVfffdpwULFui5555Tz549dezYMY0fP14hISE6ePDgDY3n/fffV4sWLdSkSRO9/PLLqlq1qk6fPq1Fixbps88+k7+/v958800tX75czZo107Bhw1S9enUlJSXpyJEjWrJkiaZNm6aKFSvqqaeekq+vr5o3b66QkBCdOnVKkyZNUokSJdS4ceMb6g8A8pybLyYBAEVOxpXhMn68vLyMoKAg4+677zYmTpyY5VXEzFei27hxo/HAAw8YYWFhhre3t1GmTBnj7rvvNhYtWuT0uBUrVhgNGjQwvL29DUlG//79nZ7v7Nmzf/tahnH1qnddunQxvvvuO6N27dqG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KiAgQBJpnDExJsbEmBhT1mPavn27WrVqpaf/vUjBNSKuPl8B+gu4u/+qf2L/Ln32ZFetX79e9evXv+H1tH37djVt2lTPzlqqitXrFLkjFTe7no7t36UpD7fXpk2bFBER4ai7+vu0Y8cONWnSRINn/Vflq9dx65gK4no6uXebvhh4vyIjIxUREXHL7vdutTHFxcUpMDBQly5dcmSD7OToiNLHH3+sp59+Wj4+PoqOjlalSpUch3Tz07lz53Ts2DGFhIRku4y3t3eWp+V5enrK09PTqWaz2WSz2TItmzGhOa2bn/dG6larVVZr5o+MZVfPrnfGxJhcrTMmxiQxpowerVarEhMTlS6L9Ne/c3ZL1stnWbdYsqlbr76xNMl4w5apbrVd87buxut2qwu9Z1e/ZkzpsigpKUnSza2njDc51+s9v8bkXC8o6+nqtme1WrP83XHl9yktLU3psmR6jcK27TnXc2c92WVRYmJipnm+1fZ7N1svbGPK7v6s5OhiDiNGjHB81qdKlSpOh79uxpUrV7Rt2zbHYbmoqCht27ZN0dHRunLlikaOHKmNGzfqyJEjWr16tbp27arAwEA98MADufL6AAAAAJCVHB1RKl++vL7//nt17txZhmHo+PHjjr8omYWGhub4xf/44w+1adPGcXvEiBGSrn5f09SpU7Vz50599dVXunjxokJCQtSmTRvNnz9f/v7+OX4NAAAAAHBVjoLSa6+9pqFDh2rIkCGyWCxq3LhxpmUMw3D5C2dbt26t631E6ueff87xcwEAAABAbslRUHr66afVt29fHT16VPXq1dOKFStUpkyZvO4NAAAAANwix5cH9/f3V506dTRjxgw1b9482+8xAgAAAIDCzuXvUerfv78kafPmzdq7d68sFotq1qyphg0b5npzAAAAAOAOLgelM2fOqE+fPlq9erVKliwpwzB06dIltWnTRvPmzVPZsmXzok8AAAAAyDc5ujz4tYYOHaq4uDjt3r1b58+f14ULF7Rr1y7FxcVp2LBhedEjAAAAAOQrl48oLV26VCtWrFDNmjUdtVq1aulf//qXOnTokKvNAQAAAIA7uHxEyW63Z/st0Xa7PVeaAgAAAAB3cjkotW3bVs8//7xOnDjhqMXExGj48OFq165drjYHAAAAAO7gclCaMmWKLl++rMqVKys8PFxVq1ZVlSpVdPnyZX3yySd50SMAAAAA5CuXP6NUqVIlbdmyRcuXL9e+fftkGIZq1aqle+65Jy/6AwAAAIB853JQytC+fXu1b98+N3sBAAAAgALB5VPvAAAAAKCoIygBAAAAgAlBCQAAAABMCEoAAAAAYHJDQenQoUN67bXX1LdvX505c0aStHTpUu3evTtXmwMAAAAAd3A5KK1Zs0Z169bVb7/9pgULFujKlSuSpB07dmjMmDG53iAAAAAA5DeXg9LLL7+sCRMmaPny5fLy8nLU27Rpo40bN+ZqcwAAAADgDi4HpZ07d+qBBx7IVC9btqzOnTuXK00BAAAAgDu5HJRKliypkydPZqpv3bpVFSpUyJWmAAAAAMCdPFx9QL9+/TR69Gh9++23slgsstvtWr9+vUaOHKnHHnssL3oEgFtedHS0YmNj3d1GgRUYGKjQ0FB3twEAKEJcDkpvvfWWBgwYoAoVKsgwDNWqVUvp6enq16+fXnvttbzoEQBuadHR0apRs6YSExLc3UqB5evnp3179xKWAAC5xuWg5Onpqf/85z968803tXXrVtntdjVo0EDVqlXLi/4A4JYXGxurxIQE9ZowVUFV2NeanYk6qG9eG6TY2FiCEgAg17gclDKEh4crPDw8N3sBAFxHUJVqqlAzwt1tAABwS3A5KI0YMSLLusVikY+Pj6pWrapu3bqpdOnSN90cAAAAALiDy0Fp69at2rJli9LT01W9enUZhqGDBw/KZrOpRo0a+vTTT/Xiiy9q3bp1qlWrVl70DAAAAAB5yuXLg3fr1k333HOPTpw4oc2bN2vLli2KiYlR+/bt1bdvX8XExKhVq1YaPnx4XvQLAAAAAHnO5aD07rvvavz48QoICHDUAgICNHbsWE2ePFl+fn564403tHnz5lxtFAAAAADyi8tB6dKlSzpz5kym+tmzZxUXFyfp6pfSpqSk3Hx3AAAAAOAGN3Tq3RNPPKGFCxfq+PHjiomJ0cKFC/Xkk0+qe/fukqTff/9dt99+e273CgAAAAD5wuWLOXz22WcaPny4+vTpo7S0tKtP4uGh/v3764MPPpAk1ahRQ//+979zt1MAAAAAyCcuB6XixYvriy++0AcffKDDhw/LMAyFh4erePHijmXq16+fmz0CAAAAQL664S+cLV68uOrVq5ebvQAAAABAgXBDQWnTpk369ttvFR0dnemiDQsWLMiVxgAAAADAXVy+mMO8efPUvHlz7dmzRwsXLlRqaqr27NmjlStXqkSJEnnRIwAAAADkK5eD0sSJE/XBBx/op59+kpeXlz766CPt3btXvXr1UmhoaF70CAAAAAD5yuWgdOjQIXXp0kWS5O3trfj4eFksFg0fPlyff/55rjcIAAAAAPnN5aBUunRpXb58WZJUoUIF7dq1S5J08eJFJSQk5G53AAAAAOAGLl/MoWXLllq+fLnq1q2rXr166fnnn9fKlSu1fPlytWvXLi96BAAAAIB85XJQmjJlipKSkiRJ//jHP+Tp6al169apR48eev3113O9QQAAAADIby4HpdKlSzv+32q1atSoURo1alSuNgUAAAAA7uTyZ5RsNpvOnDmTqX7u3DnZbLZcaQoAAAAA3MnloGQYRpb15ORkeXl53XRDAAAAAOBuOT717uOPP5YkWSwW/fvf/1bx4sUd96WnpysyMlI1atTI/Q4BAAAAIJ/lOCh98MEHkq4eUZo2bZrTaXZeXl6qXLmypk2blvsdAgAAAEA+y3FQioqKkiS1adNGCxYsUKlSpfKsKQAAAABwJ5everdq1aq86AMAAAAACgyXg1J6erpmzpypX375RWfOnJHdbne6f+XKlbnWHAAAAAC4g8tB6fnnn9fMmTPVpUsX1alTRxaLJS/6AgAAAAC3cTkozZs3T9988406d+6cF/0AAAAAgNu5/D1KXl5eqlq1al70AgAAAAAFgstB6cUXX9RHH32U7RfPAgAAAEBh5/Kpd+vWrdOqVav03//+V7Vr15anp6fT/QsWLMi15gAAAADAHVwOSiVLltQDDzyQF70AAAAAQIHgclCaMWNGXvQBAAAAAAWGy59RkqS0tDStWLFCn332mS5fvixJOnHihK5cuZKrzQEAAACAO7h8ROno0aO69957FR0dreTkZLVv317+/v6aPHmykpKSNG3atLzoEwAAAADyjctHlJ5//nk1atRIFy5ckK+vr6P+wAMP6JdffsnV5gAAAADAHW7oqnfr16+Xl5eXUz0sLEwxMTG51hgAAAAAuIvLR5TsdrvS09Mz1Y8fPy5/f/9caQoAAAAA3MnloNS+fXt9+OGHjtsWi0VXrlzRmDFj1Llz59zsDQAAAADcwuVT7z744AO1adNGtWrVUlJSkvr166eDBw8qMDBQc+fOzYseAQAAACBfuRyUypcvr23b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fv3Utm1btWjRQkePHpXEG5y8sHv3bnXu3FmrV692dytF2p49e/TII4+oW7du6tSpk1auXKmLFy+6u60ibffu3erTp4+aN2+url276p133pHEG8q8tm3bNoWHh+vIkSPubqVI27Nnj7p37642bdqoXr16OnjwoCT+ncxtJ06c0Pnz52W1WpWenu7udoq0l156SUuWLFGHDh2Y879BULqF7dy5U82bN1eZMmX00EMPyW63q3fv3pKuvsHhH4Hcs3v3brVs2VL169dXcHBwpvuZ69yxb98+tWzZUgEBAWrXrp08PDzUqVMnTZgwwfFHAOSuPXv2qGXLlqpevbqGDRumLl26aNq0afrpp5/c3VqRtn37drVo0UIjRozQo48+mul+3vTkjr1796pVq1aqWrWqBg0apDJlyqh///6S+HcyN+3bt08RERHq2rWrzpw5I5vNxjachxo1aqQRI0YoMDBQTZs21enTp2Wz2dzdVoFkMfgtvyUdPXpUnTt3VteuXfX2229LkhYuXKjvvvtOX3zxhfz8/NzcYdGRmJioHj16KCwsTNOmTZNhGDp69KhOnjypiIgIx1wbhsFf4G9Camqq+vfvr+LFi+vzzz931Js1a6Z9+/apb9++euWVV1ShQgU3dlm0nD9/Xr169VK9evX0/vvvS5LOnDmjBx98UB07dtRrr73m5g6Lpl27dqlZs2Z65pln9O6778put2vx4sU6fvy4fH19NWDAAEnsU25WcnKyevXqpeDgYH322WeSpEWLFun777/XtGnT5OXlxZvLXHDixAn16dNHKSkp8vb2lo+Pj7766iuVK1dO6enpzHEe+Pjjj7Vu3TpNnDhRDz74oNLS0rR7925NmTJFERERatmypbtbLDA4onSL+vXXX9W4cWO9+OKLjtr69eu1atUqNW3aVHXr1tWXX36p+Ph4N3ZZNKSlpSk2NlZPP/20JKljx4566KGH1Lx5c91333366KOPJHGa0s3y8PDQmTNndPvtt0uSLl26JEm64447VLduXa1cuVIrVqyQxBG83HLu3DkVL15c7du3d9SCgoLUpEkT7dmzR5Lz58WQO6ZNm6YrV66ob9++SkpKUvv27fXWW29p/PjxGjNmjGrWrKlTp05xxOMmpaen6/Tp02rYsKGjtm7dOv38889q3Lixqlevrs8//5x/J2/S5s2b5ePjo3fffVdDhgxRUlKSHnvsMcdRDo4s5Z6M/cHtt9+uxMREVa1aVYsWLVJAQID8/f01fvx4Va9e3c1dFiwEpVtU79699eKLL6ps2bKSpE8++UTvv/++Ro8erSlTpqhFixZ6+eWXOfc9lyQnJ+v06dMaOHCgbDabpk6dqi1btqhy5cr65ptvNH/+fHe3WOhZLBZZrVYtXrxYklSiRAmdPXtWCxcu1Pjx49W0aVNNnDhRaWlphNJcEhQUpOeff16dOnWS9L8PYVssFiUnJ0u6GmCRu6ZMmaJu3bqpY8eOat68uYoXL66ZM2dqx44dWrp0qQICAnT//fdzROkm+fn5yc/PT59++ql+/PFHvfjii5oyZYrefPNNzZgxQ127dtWrr77q+MwSbkzXrl310ksvqWXLlnrooYf03HPPKTExUY899phOnTpFWMpFGUHpzjvv1IkTJ5SYmKiwsDAFBQUpLS1Nfn5+8vX1lcRFNTIQlG5BGb8odevWlSRdvnxZdrtdq1at0vPPP6+WLVtq6tSpMgzD8aYTN87Dw0MlS5bUwoULlZKSohdffFGNGjVS/fr19e6778rX11dLly51d5uFWsY2PXbsWP3555+qVq2annjiCd12223q2LGjWrVqpVGjRikpKUmHDh1yc7eFX8Y/oCVKlFCbNm0cNav16j8pPj4+Tm9sXnzxRU2YMCH/Gy2CMo7QLVy4UK1atdLFixf1wQcfqEaNGgoMDFTNmjX16quvKjo6Wtu3b3dzt4VXxj7liy++UKlSpTRv3jx99913mjx5sp5++mk1btxYH3zwgXx9ffXdd9+5udvC79qj0r169dLQoUOVmJio/v37O44svfPOO4qKinJjl4WP+WqkVqtVKSkpstvtSklJUWxsrAYPHqxNmzbpP//5j0JCQlStWjVduHDBsT+/1fGnvluQ+S+M/v7+GjRokLy8vCRdPd3g5MmTql69uurVq+eOFosUX19fvfHGG+rcubPS0tLUsWNHx31lypRR+/bttWjRIqWmpsrT09ONnRZeGdv0nXfeqZ9//ln//Oc/5evrq8mTJ2vQoEGSpMOHD8vT01MBAQHubLVQi4qKksViUeXKlZ2CkSSn//fz83O80Xz11Vcd58PjxiQmJsrX11eGYchmsyktLU0eHh76/vvvtWzZMpUvX17S/z6TZLVaFRAQoDJlyri588Ll2nnOEB4ertWrVysxMVFt27ZVRESEJCkpKUmpqakKDQ3Vbbfd5q6WC6XTp0/rwIEDSk5OVs2aNVWhQgXHZ5EytuGePXtKunq2S//+/VW+fHnNnDlT3bt3d2/zhcju3bs1evRoHT16VN7e3nrooYc0evRoeXl5KTAwUHfeeaeaNWsmu92u//73v4qIiFD16tU1dOhQnT9/XqVKlXL3EAoE4uItyvy5gWtPj7HZbPr8888VFxfnOOqEG2e323XPPffo008/lZeXl77//nunUzWioqIUHh7OX29uUmpqqjw8PFSrVi19+eWX+vjjjx0hSZJWrlypihUrqlixYm7ssvDav3+/wsPDVadOHR04cOC6372RmJioYsWK6d1339V7772n3377TU2aNMnnjouGPXv2qHr16lq4cKHjDwLXnorUoUMH+fj4SPrfHwxWrVql0NBQlShRwj1NF0JZzbNhGI7Q5OvrK29vb8eFYpKTk/XJJ58oOjparVu3dlfbhc7OnTvVrl07DRo0SI8//rg6duyovXv3Oi7YYLFYZLfbZbFYHKfhrVu3Tj/88IO2bNnC52dyKCdXI61UqZJCQkK0ePFixx8AateuraVLlyo8PNxdrRc8Boq01NRUIyUlxamWlJRkGIZhHD582Bg/frxht9sd961du9Z46aWXjICAAGPr1q352WqRlJqaahiGYaSkpBhpaWnGl19+aXh7exutW7c2evXqZTzxxBNGiRIljJ07d7q508IjPj4+0zadlpZmGMbVbXrcuHFO2/TGjRuN4cOHG8WLFze2bduWr70WFWfPnjU6depkdOvWzejQoYNRtmxZY+/evYZhGEZ6enqm5d944w3DYrEYJUqUMDZt2pTf7RYZR48eNWrXrm0EBQUZZcqUMRYsWGAYhmHY7XanbTzD3r17jZdeeskoWbKksX379vxut9D6u3nO2MZnzJhhVK1a1ShTpozRokULo1KlSsaWLVvc2XqhcuDAAaNcuXLG6NGjjaNHjxpr1qwxunfvbjzzzDNGamqq0zad8f/PPfecUaxYMWPXrl3uarvQOXfunNGuXTtj+PDhjtrp06eNFi1aGOPHj3da9tSpU/ndXqHDn7CLsD179ujhhx9W27Zt9fjjj2vu3Lmy2+3y9vbWn3/+qebNm+vgwYOOv56dO3dOy5Yt05o1a7Ru3TrVr1/fvQMoRM6fP699+/bp4MGDSklJkXT1FEYPDw8dPnxYDRs21KFDh/TEE09o48aNqlevntLS0uTt7a3169erTp06bh5B4bBr1y717dtXv/76q+NiAcZfpyMdOXJEzZs316FDh5xOL42Ojtbx48e1YcMGx1/N4JojR46ofPnyGjRokKZPn64777xTd999t/bt25flFxXWrl1bVapU0bp169SoUSM3dV24paam6quvvlKNGjX09ddfq0+fPhowYIB++OEHpyMeGbZt26YpU6Zo4cKFWr16NadN51BO5jlDr1699O2332rYsGEaOHCg1qxZowYNGrip88IlMTFRkydPVseOHTVp0iSFhoaqVatWql+/vjZs2CAPDw+n+bZYLPrll1+0ZMkSRUZGqnbt2m7svnDJydVIM/79LFeuHFfG/DtuDmrII/v37zdKlChhPPLII8a4ceOMVq1aGQ0aNDCeeOIJ48KFC0a7du2M/v37Z/qr5IULF4yzZ8+6qevCaefOnUaDBg2MunXrGt7e3sb48eMdR5KOHDlihISEGI899piRnp7u+MtkxhGQjOXw93bt2mWUKlXKeO6554zjx4873Xfp0iWjQYMGxsCBA7P8S/vly5fzq80i69ojQ9HR0Ubnzp0zHVmy2+1GSkqKcf78eePMmTPuarXIWLdunfH1118bhnF1zp977jkjICDAccTDMP73l/eEhATjt99+y/S7gb/3d/Nst9sd+2zcmMTEROPNN980Pv30U8Mw/rfdbt682ahevbpx4cKFLOf49OnT+dpnUXDx4kVj5cqVjtsZ7ztGjhxp9OjRw11tFVoEpSLIbrcbr776qtGzZ09HLT4+3pgyZYpRr149o02bNsZPP/3kWBY3bvfu3UaZMmWMkSNHGrt37zbee+89w2KxGEePHjXS09ONp556ynj22WczBaKMeWf+c+bKlStGhw4djEGDBjlqe/fuNbZt22YcO3bMsNvtxpIlS7KdZ9y47Obw2LFjmcLSmDFjjP/85z/52d4tJSoqyhg8eLAREBBgLFy40DCMq6dSR0ZGGomJie5trgjJbp7Xrl1rxMXFube5Quzw4cOO/8/Yr2zZssW47bbbjIsXLzpqhKPcc+2p0a+99prRrVs3x+0RI0ZkOhUPmXHVuyLIYrEoJiZGp06dctT8/Pz0xBNPyMvLS9OnT9e6devUpUsXvmPjJsTGxmrQoEF65JFH9O6770qSatasqRUrVigmJkaXL19Wnz591LZt20yPzZh35j9nPDw8lJCQoKeeekrp6enq0qWL43THmjVrasiQIXr00Uclyem7Y5jfm5fdHFasWFGff/65nn76abVr106tWrXS/PnztWvXrnzusOjL2KYrV67s+JLw/v37a/r06dqwYYNmzZql/fv3Oy7qgBuT03nGjalSpYrj/zMu2hAfH6/k5GR5eXnJYrHopZde0ldffeW4Uhv78BtnvjIpVyO9MQSlIiZjR9+wYUPt379f+/btU40aNSRdvWpP79699eeff2rVqlU6c+aMgoKC3Nxx4WWxWHTvvfc6LmMqSRMmTNDPP/+sEydO6OLFi6pZs6a8vLzUokULN3Za+F28eFH79+9XbGysXnrpJUlXv9/k5MmT+uWXXzRq1Cj5+vqqZ8+e/MOaBzIuR50hYz9ToUIFTZkyRY0bN9by5cu1ZcsW1apVy42dFi0Zb3QsFovj6wOqVKmikSNHOq4KVqJECS1btoxLgd8E5jl/XPvGPWOfUqxYMXl4eMjLy0uvv/66PvvsMy1fvpzQfxMy5jY1NVXe3t6Oec/qaqQNGzZ0d7sFHhdzKGIy3iR27txZBw8e1OTJk3X58mXH/QEBAXrhhRe0adMmbdy40V1tFgllypTRkCFDVK1aNUnSvHnzNGbMGM2dO1erVq3S119/rQsXLmjlypVu7rTwCwoKUrt27bRo0SIdPHhQw4cPV0REhO699149//zzuueee/TLL78oPT2dD6beBLvdnumS38nJyfLw8FBUVJQmTJjgdMTObrfrvffeU1xcnNasWcMFYHJRenq6rFarzpw5I0lO37FWuXJlxcbGqkSJElq/fr0aN27srjYLPeY5b2Xsj83znPGHF29vb5UqVUqDBg3S5MmTtWrVKr5K4CZkXEQqKipK1apV08GDBx3h1GKxaN68eXrrrbe0fv16QlIOEZSKqPDwcH3zzTeaM2eO/vGPfyg2NtZxn5eXlxo0aMB3bOQCf39/x/83bdpUf/zxh3r37q3SpUurVatWKleunP744w83dlg0WCwWvfjii5oxY4YWL17suLKgdPUUsHLlymnPnj2OvwrDdXv27NGAAQPUvn17Pf3005o3b951r5IpXf1upZiYGP36669clSoXZXz55tGjR1WxYkV9/PHHjvvsdrs+//xzLV26VL/88gtH8HJo//79Wr9+vVONec59CQkJunDhgpKSkiRd3XenpaVlO8/nzp3T9u3bNXfuXP3666+644473NV6oZIxv2Y2m03R0dFq2bKl2rZtq6pVqzru42qkN8htn45Cvli0aJHh7e1tPPDAA8acOXOMXbt2GaNHjzbKlStnREdHu7u9IstutxtJSUlG3759jbfeesvd7RQZkZGRhsViMe677z6n79UYNmyYMXDgwEzfr4Sc2bt3r1GqVCnjySefNP75z38a99xzjxEeHm4MGzbMuHDhgtG2bdssr5JpGAYfbr8Jhw8fNt5//31jxIgRxrx585zui4mJMYKDg41BgwZl+q6q3377zfjzzz/zs9VCbevWrYafn5/x8ccfZ7rv+PHjzHMu2bVrl9G5c2ejZs2aRrdu3YzFixc77stuez516pTRv39/vifJBbt27TLuuusuY/Xq1ZnuS0pKMvr162cMHjw40/765MmTXI30BlgMg/NUirotW7ZoxIgRioqKkoeHhzw9PTV37ly+/yGPvfHGG5o1a5ZWrFjhOD0PNy8yMlJ9+/ZVxYoVVbduXaWkpGjRokVat24d30d1A5KTk/Xkk0+qTJky+uijjyRd/WvlXXfdpR07dqhdu3Z64YUX1KVLF6fHGdecggfX7dy5U507d1aNGjWUkJCgX3/9VW+//bbjM3hTp07VyZMnNW7cOOb5Jmzfvl3NmjXToEGD9N5772W6/7PPPtOxY8c0fvx45vkm7NmzRy1atFC/fv1Ut25dff3116pcubJmz54tSZo2bZqOHTumCRMmZJrnhIQE+fn5uaPtQufo0aO69957dfjwYZUtW1bz5s3L9BnogwcP8p4jFxGUbhFxcXE6f/68rly5ouDgYAUGBrq7pSLru+++0+rVqzVv3jwtX76cQJoH9u/fr9mzZ+vXX39VtWrV9NxzzxGSbsI999yjli1basyYMUpKSpKPj49Gjx6tgwcP6tSpU+rRo4dGjhzp7jaLjKNHj+qee+5Rjx49NHHiRNlsNk2fPl2vvvqqIiMjVa1atUxXrILrDh48qLp162rkyJGaMGGCUlNT9dNPPykmJkZly5ZV586dnU6fxo1JTExUv379FBYWpg8//FCStGjRIs2aNUtTp05VYGCgY1tmu75xqamp+uSTT7R27Vq9+eabevPNN7V69WotXLiQC0blIa56d4sICAhQ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Sk9P10svvaRVq1Zp27ZtvKnMA8xz/mCe857VapV09fuSvvjiCwUEBGjdunWEpHxidXcDAADcamrXrq0tW7Zw6fU8xjznD+Y573Xs2FGStGHDBr46IB9x6h0AAPnM/D0oyBvMc/5gnvOH+aqDyHsEJQAAAAAw4dQ7AAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACAAAAABOCEgAAAACYEJQAANdlsVj0ww8/uLsNZGH16tWyWCy6ePGiu1sBgCKHoAQAt6ABAwbIYrHIYrHI09NT5cqVU/v27TV9+nTZ7XanZU+ePKlOnTrl6HkLU6gaO3as6tev79JjKleurA8//DBP+gEAFCwEJQC4Rd177706efKkjhw5ov/+979q06aNnn/+ed13331KS0tzLBccHCxvb283dlr0pKSkuLsFAMDfICgBwC3K29tbwcHBqlChgho2bKhXXnlFP/74o/773/9q5syZjuWuPUqUkpKiIUOGKCQkRD4+PqpcubImTZok6erRFkl64IEHZLFYHLcPHTqkbt26qVy5cipevLgaN26sFStWOPVSuXJlTZw4UU888YT8/f0VGhqqzz//3GmZ48ePq0+fPipdurSKFSumRo0a6bfffnPc/3//93+644475OPjo9tuu03jxo1zCnx/Z8CAAerevbvee+89hYSEqEyZMho8eLBSU1MlSa1bt9bRo0c1fPhwx9G4DBs2bFCrVq3k6+urSpUqadiwYYqPj3ca34QJEzRgwACVKFFCTz31lJo2baqXX37ZqYezZ8/K09NTq1atkiTNnj1bjRo1kr+/v4KDg9WvXz+dOXMm2zEcPXpUXbt2ValSpVSsWDHVrl1bS5YsyfEcAAD+h6AEAHBo27atIiIitGDBgizv//jjj7Vo0SJ988032r9/v2bPnu0IRJs2bZIkzZgxQydPnnTcvnLlijp37qwVK1Zo69at6tixo7p27aro6Gin5/7nP/+pRo0aaevWrXruuec0aNAg7du3z/Ecd999t06cOKFFixZp+/btGjVqlOM0wZ9//lmPPPKIhg0bpj179uizzz7TzJkz9dZbb7k0/lWrVunQoUNatWqVZs2apZkzZzpC44IFC1SxYkW9+eabOnnypE6ePClJ2rlzpzp27KgePXpox44dmj9/vtatW6chQ4Y4Pfe7776rOnXqaPPmzXr99df18MMPa+7cuTIMw7HM/PnzVa5cOd19992SrgbT8ePHa/v27frhhx8UFRWlAQMGZNv/4MGDlZycrMjISO3cuVPvvPOOihcv7tIcAAD+YgAAbjn9+/c3unXrluV9vXv3NmrWrOm4LclYuHChYRiGMXToUKNt27aG3W7P8rHXLns9tWrVMj755BPH7bCwMOORRx5x3Lbb7UZQUJAxdepUwzAM47PPPjP8/f2Nc+fOZfl8LVu2NCZOnOhU+/rrr42QkJBsexgzZowRERHhuN2/f38jLCzMSEtLc9Qeeugho3fv3k59fvDBB07P8+ijjxpPP/20U23t2rWG1Wo1EhMTHY/r3r270zJnzpwxPDw8jMjISEetadOmxksvvZRtz7///rshybh8+bJhGIaxatUqQ5Jx4cIFwzAMo27dusbYsWOzfTwAIOc4ogQAcGIYhtNpZdcaMGCAtm3bpurVq2vYsGFatmzZ3z5ffHy8Ro0apVq1aqlkyZIqXry49u3bl+mIUr169Rz/b7FYFBwc7DjNbNu2bWrQoIFKly6d5Wts3rxZb775pooXL+74eeqpp3Ty5EklJCTkdOiqXbu2bDab43ZISMh1T3XLeO2ZM2c6vXbHjh1lt9sVFRXlWK5Ro0ZOjytbtqzat2+v//znP5KkqKgobdy4UQ8//LBjma1bt6pbt24KCwuTv7+/WrduLUmZ5i7DsGHDNGHCBDVv3lxjxozRjh07cjx2AIAzghIAwMnevXtVpUqVLO9r2LChoqKiNH78eCUmJqpXr17q2bPndZ/vpZde0vfff6+33npLa9eu1bZt21S3bt1MFzTw9PR0um2xWByn1vn6+l73Nex2u8aNG6dt27Y5fnbu3KmDBw/Kx8fn74acox6u99rPPPOM02tv375dBw8eVHh4uGO5YsWKZXrsww8/rO+++06pqamaM2eOateurYiICElXA2aHDh1UvHhxzZ49W5s2bdLChQslZX8xiIEDB+rw4cN69NFHtXPnTjVq1EiffPJJjscPAPgfD3c3AAAoOFauXKmdO3dq+PDh2S4TEBCg3r17q3fv3urZs6fuvfdenT9/XqVLl5anp6fS09Odll+7dq0GDBigBx54QNLVzxsdOXLEpb7q1aunf//7347XMWvYsKH279+vqlWruvS8rvLy8so0voYNG2r37t039Nrdu3fXM888o6VLl2rOnDl69NFHHfft27dPsbGxevvtt1WpUiVJ0h9//PG3z1mpUiU9++yzevbZZ/WPf/xDX3zxhYYOHepybwBwq+OIEgDcopKTk3Xq1CnFxMRoy5Ytmjhxorp166b77rtPjz32WJaP+eCDDzRv3jzt27dPBw4c0Lfffqvg4GCVLFlS0tWru/3yyy86deqULly4IEmqWrWqFixY4DjS0q9fv789SmPWt29fBQcHq3v37lq/fr0OHz6s77//Xhs3bpQkvfHGG/rqq680duxY7d69W3v37tX8+fP12muv3fgEZaFy5cqKjIxUTEyMYmNjJUmjR4/Wxo0bNXjwYG3btk0HDx7UokWLchROihUrpm7duun111/X3r171a9fP8d9oaGh8vLy0ieffKLDhw9r0aJFGj9+/HWf74UXXtDPP/+sqKgobdmyRStXrlTNmjVvbtAAcIsiKAHALWrp0qUKCQlR5cqVde+992rVqlX6+OOP9eOPPzp9TudaxYsX1zvvvKNGjRqpcePGOnLkiJYsWSKr9eo/J//85z+1fPlyVapUSQ0aNJB0NVyVKlVKzZo1U9euXdWxY0c1bNjQpV69vLy0bNkyBQUFqXPnzqpbt67efvttR58dO3bUTz/9pOXLl6tx48a666679P777yssLOwmZiizN998U0eOHFF4eLjKli0r6erRrjVr1ujgwYNq2bKlGjRooNdff10hISE5es6HH35Y27dvV8uWLRUaGuqoly1bVjNnztS3336rWrVq6e2339Z777133edKT0/X4MGDVbNmTd17772qXr26Pv300xsfMADcwiyGcc11SQEAAAAAHFECAAAAADOCEgAAAACYEJQAAAAAwISgBAAAAAAmBCUAAAAAMCEoAQAAAIAJQQkAAAAATAhKAAAAAGBCUAIAAAAAE4ISAAAAAJgQlAAAAADAhKAEAAAAACb/D+e/NRK6PtVCAAAAAElFTkSuQmCC\n" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": "
" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_trajectories(HE[:150], title='Ant.4x2.HE', save=True)\n", + "plot_distance_distribution(d, interval_width=3, save=True)\n", + "\n", + "\n" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-03-19T17:31:58.506530Z", + "start_time": "2024-03-19T17:31:57.769072Z" + } + }, + "id": "24d5f673c9bf4ea2" + }, + { + "cell_type": "code", + "execution_count": 32, + "outputs": [ + { + "data": { + "text/plain": "
", + "image/png": "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\n" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": "
", + "image/png": "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bm6u3n777TPexkcffaQGDRrok08+cfmdW39PZVW7dm3Z7Xbt37//jOvVrVtXLVu21Isvvlji8tNfDLjrrrt01113KTMzU8uWLdO4ceN07bXX6vfff1dMTMxZ9QkAFYkjSgBQiZKTk/X444+rRo0aGjZsWJmuY7fb1aFDB/373/+WJOfb4MpyFMUdmzdv1oYNG1xqs2bNUmBgoPP7forOsrZx40aX9ebPn19se6cfofg7V155pRYvXuwMLEX+7//+T/7+/uVyKu3q1aurQ4cOmjt3rktfDodDH330kerVq6fLLrvsnG/ndNnZ2br33nuVn59f7IQUZ3LZZZfp6aefVosWLVze9ljafWoYhnx8fFxCUmpqaolnvSsLPz8/devWTZ999tkZQ/C1116r3377TQ0bNlTbtm2L/ZR01LR69eq65pprNHbsWOXm5pb4hbwAcD7giBIAVJDffvvN+ZmNtLQ0/fjjj5oxY4bsdrvmzZt3xs9+vP3221q8eLH69u2r6OhonTp1Su+//74k6aqrrpIkBQYGKiYmRl9++aWuvPJK1a5dW3Xr1j3rU1lHRETouuuuU2JiosLDw/XRRx9p4cKFevnll+Xv7y9JateunRo1aqTHH39c+fn5qlWrlubNm6fly5cX216LFi00d+5cTZs2TZdffrlsNpvL90qdbty4cc7Puzz77LOqXbu2Pv74Y3399deaNGmSatSocVYzWU2cOFEJCQnq0aOHHn/8cfn4+Oitt97Sb7/9ptmzZ7t1BM4qOTlZP//8sxwOh44fP65169Y532726quvqlevXqVed+PGjRo5cqRuvPFGxcbGysfHR4sXL9bGjRv15JNPOtdr0aKF5syZo08++USXXHKJqlWrphYtWujaa6/V3LlzNXz4cN1www3at2+fXnjhBYWHh2vHjh1nNc/kyZN1xRVXqEOHDnryySd16aWX6s8//9T8+fP1zjvvKDAwUM8//7wWLlyo+Ph4PfTQQ2rUqJFOnTqlPXv26JtvvtHbb7+tevXqaejQofLz81Pnzp0VHh6u1NRUTZw4UTVq1FC7du3Oqj8AqHAePpkEAFQ5RWeGK/rx8fExQ0JCzG7dupkTJkwo8Sxi1jPRrVy50rz++uvNmJgY09fX16xTp47ZrVs3c/78+S7XW7Rokdm6dWvT19fXlGTeeeedLts7dOjQ396WaRae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8HfPDz/88MMPP/zwww8//PBTws++ffv+Nouc10eUihiGa041TbNYrcg///lPPfroo87LDodDR44cUZ06dUq9Di5eGRkZioqK0r59+xQUFOTpdgBUIB7vwMWBxzrOxDRNnThxQhEREX+77nkdlOrWrSu73a7U1FSXelpamkJDQ0u8jq+vr3x9fV1qNWvWrKgWUUUEBQWxMwUuEjzegYsDj3WUpkaNGmVa77w+mYOPj48uv/xyLVy40KW+cOFCxcfHe6grAAAAAFXdeX1ESZIeffRR3X777Wrbtq06deqk6dOnKzk5Wffff7+nWwMAAABQRZ33Qenmm2/W4cOH9fzzz+vgwYNq3ry5vvnmG8XExHi6NVQBvr6+GjduXLG3awKoeni8AxcHHusoL4ZpluXceAAAAABw8TivP6MEAAAAAJ5AUAIAAAAAC4ISAAAAAFgQlAAAAADAgqAEAAAAABYEJcCCE0ECAFC18NyOs0FQAiTl5OQoNzdXkmQYhoe7AVBRTp486ekWAFSS/Px85795bsfZICjhordt2zYNHjxYPXv21BVXXKG9e/dK4tUnoKrZvHmz+vTpox9++MHTrQCoYFu2bNFtt92m/v3765prrtHixYt17NgxT7eFCwxBCRe1TZs2qXPnzqpTp45uvPFGORwO3XzzzZIKX30iLAFVw+bNm9WlSxe1atVKYWFhxZbzWAeqjm3btqlLly4KCgrSlVdeKS8vL11zzTUaP36888VQoCwMk2cHXKT27t2rPn36qF+/fnrppZckSfPmzdPnn3+ud999V/7+/h7uEEB5yM7O1sCBAxUTE6O3335bpmlq7969OnjwoOLi4pyPddM0eXsOcIHLy8vTnXfeqYCAAE2fPt1Zj4+P17Zt23TLLbfoqaeeUmRkpAe7xIWCI0q4aP38889q166dHnvsMWftp59+0pIlS9SpUye1aNFC7733njIzMz3YJYBzlZ+fr/T0dN13332SpN69e+vGG29U586dde211+r111+XxGcYgKrAy8tLaWlpuuyyyyRJx48flyRdfvnlatGihRYvXqxFixZJ4kgy/h5BCRetm2++WY899piCg4MlSW+++aYmT56sMWPGaOrUqbriiiv05JNPas+ePZ5tFMA5y8nJ0Z9//ql7771Xdrtd06ZN09q1a1W/fn19+umn+uSTTzzdIoByYBiGbDabvv76a0lSjRo1dOjQIc2bN08vvPCCOnXqpAkTJig/P58XR/C3CEq4KBW9itSiRQtJ0okTJ+RwOLRkyRI9/PDD6tKli6ZNmybTNJ07WwAXJi8vL9WsWVPz5s1Tbm6uHnvsMbVt21atWrXSK6+8Ij8/Py1YsMDTbQI4R0XP7YmJifrjjz8UGxuru+++W5dccol69+6trl27avTo0Tp16pR27tzp4W5xIfDydAOAJ1hfRQoMDNQDDzwgHx8fSVJBQYEOHjyoRo0aqWXLlp5oEUA58fPz07PPPqs+ffooPz9fvXv3di6rU6eOEhISNH/+fOXl5cnb29uDnQI4F0XP7e3bt9d3332nV199VX5+fpo0aZIeeOABSdKuXbvk7e2toKAgT7aKCwRBCRet/Px8eXn99RA4/d92u13Tp09XRkaG86gTgAuTw+HQVVddpbfeeksjR47UF198ofbt2ys2NlaStHv3bjVs2FA2G2+yAC50RS94NG3aVO+9954cDofLY3vx4sWqV6+eqlev7sEucaEgKKHKy8/Pl2maLq8U5+TkyNfXV7t379bHH3+ssWPHOneky5cv1/z58/XOO+9o6dKlnBkHuIAVvSCSl5enu+66SzabTcOHD9fRo0cVEhKigIAAffHFF1q+fLnsdrun2wVQRllZWfL29nZ5bi8oKJC3t7d2796tDz/8UM8884zzuf3nn3/Wp59+qnfffVfLly/niBLKhJfPUKVt2bJFt956q3r27Km77rpLs2fPlsPhkK+vr/744w917txZO3bscB6uP3z4sJKSkrR06VItX75crVq18uwAAMrkyJEj2rZtm3bs2KHc3FxJhX80eXl5adeuXWrTpo127typu+++WytXrlTLli2Vn58vX19f/fTTT2revLmHJwBQVr/99ptuueUW/fzzz8rJyZFU+Pkku92uPXv2qHPnztq5c6fL2+yTk5O1f/9+rVixQnFxcZ5qHRcYvkcJVdbvv/+u9u3bq1+/foqNjdX333+vEydOqHXr1nr11Vd1ww03qF69epoxY4bLzvTYsWPKz89X3bp1Pdg9gLL67bffdMcddyg/P1+///67nn76aT355JPy8vLS3r171alTJyUkJGjGjBmSJJvNpoKCAtnt9mJvwQVwfiv68uiSvg8pIyND3bt31+WXX67p06cX+zzyyZMnFRAQUNkt4wJGUEKVZJqmnnnmGW3fvl2fffaZpMLD9DNmzND06dNVp04dPfbYY+rbty9fMglcwLZs2aKuXbvqrrvu0l133aVvv/1WTzzxhPbs2aN69erp/vvvl91u15tvvukSiIoe9zz+gQtHZmamBg4cqIYNG+qtt96SJG3btk05OTmqU6eOIiMjtWDBAiUkJJT4eAfcxctoqJIMw1BKSopSU1OdNX9/f919993y8fHR+++/r+XLl6tv377sPIELVHp6uh544AHddttteuWVVyRJTZo00aJFi5SSkqITJ05o0KBB6tmzZ7HrFj3uefwDFw4vLy9lZWVp6NChKigoUN++fZ1vu23SpIlGjhyp22+/XZJrOOJxjrNFUEKVU7RzbNOmjbZv365t27apcePGkgpPE3zzzTfrjz/+0JIlS5SWlqaQkBAPdwzgbBiGoauvvlo33HCDszZ+/Hh99913OnDggI4dO6YmTZrIx8dHV1xxhQc7BVAejh07pu3btys9PV1PPPGEJOndd9/VwYMH9f3332v06NHy8/PTDTfcQDhCueCtd6iydu7cqY4dO6pfv356/fXXFRgY6Fx28OBB1atXT3PnzlX//v092CWAc3HixAnnY3vOnDkaPHiwZs+erYSEBP3222964okn1LdvXz377LMe7hTAuTJNU4MHD1bdunW1Z88ejRw50vm9aPv379c///lPBQQEaOrUqbLZbIQlnDOOKKHKatiwoT799FNdc8018vf3V2JiovMEDT4+PmrdurVq1Kjh4S4BnIvTXwDp1KmTfv31V7Vp00aS1LVrV4WGhurXX3/1VHsAypFhGHrsscfUvXt3ZWVl6b777nMuq1evnkJDQ7V69WpCEsoNQQlVWo8ePfTZZ5/pxhtv1IEDB3TjjTeqZcuW+vDDD7V//341bNjQ0y0CKCcxMTGKiYmRVPjKc25urgICAjj1N1CFtG3bVt9++626deum6dOn65JLLlGzZs0kFX7Z7GWXXab8/HyX71cCzhZvvcNFYe3atXr00Ue1e/dueXl5ydvbW7Nnz1br1q093RqACvLss89q5syZWrRokWJjYz3dDoBytGzZMt1yyy2qV6+eWrRoodzcXM2fP1/Lly/nxRGUG4ISLhoZGRk6cuSITp48qbCwML4nCaiiPv/8c/3www+aM2eOFi5cyAsiQBW1fft2ffTRR/r5558VGxur4cOHE5JQrghKAIAqZfPmzXr++ec1btw4NW3a1NPtAKhgDodDUuGXSQPliaAEAKhy8vLy+IwCAOCcEJQAAAAAwIJjlAAAAABgQVACAAAAAAuCEgAAAABYEJQAAAAAwIKgBAAAAAAWBCUAAAAAsCAoAQDOyDAM/fe///V0GyjBDz/8IMMwdOzYMU+3AgBVDkEJAC5CQ4YMkWEYMgxD3t7eCg0NVUJCgt5//33nt9wXOXjwoK655poybfdCClWJiYlq1aqVW9epX7++pkyZUiH9AADOLwQlALhIXX311Tp48KD27Nmjb7/9Vj169NDDDz+sa6+9Vvn5+c71wsLC5Ovr68FOq57c3FxPtwAA+BsEJQC4SPn6+iosLEyRkZFq06aNnnrqKX355Zf69ttv9cEHHzjXO/0oUW5urkaOHKnw8HBVq1ZN9evX18SJEyUVHm2RpOuvv16GYTgv79y5U/3791doaKgCAgLUrl07LVq0yKWX+vXra8KECbr77rsVGBio6OhoTZ8+3WWd/fv3a9CgQapdu7aqV6+utm3b6pdffnEu/9///qfLL79c1apV0yWXXKLnnnvOJfD9nSFDhmjAgAH617/+pfDwcNWpU0cjRoxQXl6eJKl79+7au3evHnnkEefRuCIrVqxQ165d5efnp6ioKD300EPKzMx0mW/8+PEaMmSIatSooaFDh6pTp0568sknXXo4dOiQvL29tWTJEknSRx99pLZt2yowMFBhYWEaPHiw0tLSSp1h79696tevn2rVqqXq1aurWbNm+uabb8p8HwAA/kJQAgA49ezZU3FxcZo7d26Jy9944w3Nnz9fn376qbZv366PPvrIGYhWr14tSZoxY4YOHjzovHzy5En16dNHixYt0rp169S7d2/169dPycnJLtt+9dVX1bZtW61bt07Dhw/XAw88oG3btjm30a1bNx04cEDz58/Xhg0bNHr0aOfbBL/77jvddttteuihh7Rlyxa98847+uCDD/Tiiy+6Nf+SJUu0c+dOLVmyRDNnztQHH3zgDI1z585VvXr19Pzzz+vgwYM6ePCgJGnTpk3q3bu3Bg4cqI0bN+qTTz7R8uXLNXLkSJdtv/LKK2revLnWrFmjZ555Rrfeeqtmz54t0zSd63zyyScKDQ1Vt27dJBUG0xdeeEEbNmzQf//7X+3evVtDhgwptf8RI0YoJydHy5Yt06ZNm/Tyyy8rICDArfsAAPD/mQCAi86dd95p9u/fv8RlN998s9mkSRPnZUnmvHnzTNM0zQcffNDs2bOn6XA4Srzu6eueSdOmTc0333zTeTkmJsa87bbbnJcdDocZEhJiTps2zTRN03znnXfMwMBA8/DhwyVur0uXLuaECRNcah9++KEZHh5eag/jxo0z4+LinJfvvPNOMyYmxszPz3fWbrzxRvPmm2926fO1115z2c7tt99u3nfffS61H3/80bTZbGZ2drbzegMGDHBZJy0tzfTy8jKXLVvmrHXq1Ml84oknSu151apVpiTzxIkTpmma5pIlS0xJ5tGjR03TNM0WLVqYiYmJpV4fAFB2HFECALgwTdPlbWWnGzJkiNavX69GjRrpoYceUlJS0t9uLzMzU6NHj1bTpk1Vs2ZNBQQEaNu2bcWOKLVs2dL5b8MwFBYW5nyb2fr169W6dWvVrl27xNtYs2aNnn/+eQUEBDh/hg4dqoMHDyorK6uso6tZs2ay2+3Oy+Hh4Wd8q1vRbX/wwQcut927d285HA7t3r3buV7btm1drhccHKyEhAR9/PHHkqTdu3dr5cqVuvXWW53rrFu3Tv3791dMTIwCAwPVvXt3SSp23xV56KGHNH78eHXu3Fnjxo3Txo0byzw7AMAVQQkA4GLr1q1q0KBBicvatGmj3bt364UXXlB2drZuuukm3XDDDWfc3hNPPKEvvvhCL774on788UetX79eLVq0KHZCA29vb5fLhmE431rn5+d3xttwOBx67rnntH79eufPpk2btGPHDlWrVu3vRi5TD2e67WHDhrnc9oYNG7Rjxw41bNjQuV716tWLXffWW2/V559/rry8PM2aNUvNmjVTXFycpMKA2atXLwUEBOijjz7S6tWrNW/ePEmlnwzi3nvv1a5du3T77bdr06ZNatu2rd58880yzw8A+IuXpxsAAJw/Fi9erE2bNumRRx4pdZ2goCDdfPPNuvnmm3XDDTfo6quv1pEjR1S7dm15e3uroKDAZf0ff/xRQ4YM0fXXXy+p8PNGe/bscauvli1b6j//+Y/zdqzatGmj7du369JLL3Vru+7y8fEpNl+bNm20efPms7rtAQMGaNiwYVqwYIFmzZql22+/3bls27ZtSk9P10svvaSoqChJ0q+//vq324yKitL999+v+++/X//85z/17rvv6sEHH3S7NwC42HFECQAuUjk5OUpNTVVKSorWrl2rCRMmqH///rr22mt1xx13lHid1157TXPmzNG2bdv0+++/67PPPlNYWJhq1qwpqfDsbt9//71SU1N19OhRSdKll16quXPnOo+0DB48+G+P0ljdcsstCgsL04ABA/TTTz9p165d+uKLL7Ry5UpJ0rPPPqv/+7//U2JiojZv3qytW7fqk08+0dNPP332d1AJ6tevr2XLliklJUXp6emSpDFjxmjlypUaMWKE1q9frx07dmj+/PllCifVq1dX//799cwzz2jr1q0aPHiwc1l0dLR8fHz05ptvateuXZo/f75eeOGFM25v1KhR+u6777R7926tXbtWixcvVpMmTc5taAC4SBGUAOAitWDBAoWHh6t+/fq6+uqrtWTJEr3xxhv68ssvXT6nc7qAgAC9/PLLatu2rdq1a6c9e/bom2++kc1W+HTy6quvauHChYqKilLr1q0lFYarWrVqKT4+Xv369VPv3r3Vpk0bt3r18fFRUlKSQkJC1KdPH7Vo0UIvvfSSs8/evXvrq6++0sKFC9WuXTt17NhRkydPVkxMzDncQ8U9//zz2rNnjxo2bKjg4GBJhUe7li5dqh07dqhLly5q3bq1nnnmGYWHh5dpm7feeqs2bNigLl26KDo62lkPDg7WBx98oM8++0xNmzbVSy+9pH/9619n3FZBQYFGjBihJk2a6Oqrr1ajRo301ltvnf3AAHARM0zztPOSAgAAAAA4ogQAAAAAVgQlAAAAALAgKAEAAACABUEJAAAAACwISgAAAABgQVACAAAAAAuCEgAAAABYEJQAAAAAwIKgBAAAAAAWBCUAAAAAsCAoAQAAAIDF/wPZdmIleEjSGgAAAABJRU5ErkJggg==\n" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": "
" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_trajectories(mal_HE[:150], title='Ant.4x2.malfunction.HE', save=True)\n", + "plot_distance_distribution(mal_d, interval_width=3, save=True)" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-03-19T17:32:02.324602Z", + "start_time": "2024-03-19T17:32:01.522454Z" + } + }, + "id": "de23929d940a0c74" + }, + { + "cell_type": "code", + "execution_count": 33, + "outputs": [ + { + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAArEAAAIhCAYAAABZvOJuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd5gTxRvHv0mu9zvu6L333ouAdFDpWEBAFBX9oaioICqggqAIKIKKFKUoTaQjRZpUkS69935wB1zJJZnfH1+X3dRLcv2Yz/PMk2SzZXZ2dvedd96iE0IISCQSiUQikUgkOQh9VldAIpFIJBKJRCLxFCnESiQSiUQikUhyHFKIlUgkEolEIpHkOKQQK5FIJBKJRCLJcUghViKRSCQSiUSS45BCrEQikUgkEokkxyGFWIlEIpFIJBJJjkMKsRKJRCKRSCSSHIcUYiUSiUQikUgkOQ4pxEokknThm2++gU6nQ+XKldO0n1WrVmHEiBFeb9+rVy/odDo88cQTXm1/4sQJDB48GLVq1UJERASioqLQqFEjLFq0yOs6ZRTNmjVDs2bNrJadO3cOHTp0QFRUFHQ6HQYNGpQldQOAhIQEjBgxAps2bbL776effoJOp8O5c+cyvV7NmjVz2k9v3boFnU5n1Qc3bdoEnU7ntPz000+ZU3GJRGKFT1ZXQCKR5A5mzJgBADh8+DB27dqFevXqebWfVatWYfLkyV4JsitXrsSSJUsQFhbm1bEBYO3atVi5ciWef/551KlTByaTCfPnz0f37t0xcuRIfPzxx17vOzN46623sGvXLsyYMQP58+dHgQIFsqwuCQkJGDlyJADYCdsdOnTAjh07srR+njJ69Gg0b97cbnmpUqWyoDYSiUQKsRKJJM38888/OHDgADp06ICVK1di+vTpXgux3hIXF4dXXnkFn376Kb7++muv9/PMM8/g9ddfh06ne7isXbt2uHXrFsaOHYv3338f/v7+6VHlDOHff/9F3bp10alTp6yuiktiYmIQExOT1dXwiDJlyqB+/fpZXQ2JRPIf0pxAIpGkmenTpwMAxowZg4YNG2LevHlISEh4+P+5c+eg0+kwbtw4jB8/HiVKlEBISAgaNGiAnTt3Plyvb9++mDx5MgBYTde6M+X8zjvvoECBAnjjjTcc/j9mzBjo9XosX77cannfvn0RFBSEQ4cOAQCio6OtBFiFunXrIiEhAbGxsS7roUyTb9iwAf3790eePHkQFhaG3r1748GDB7h27Rp69OiBiIgIFChQAIMHD0ZKSorVPkaOHIl69eohKioKYWFhqFmzJqZPnw4hhNPjKlPep06dwurVq63aztnUvbKNdrpfmWrfvXs3mjRpgqCgIJQsWRJjxoyBxWKx2v7u3bt45513ULJkSfj7+yNv3rxo3749jh07hnPnzj0UUkeOHPmwPn379rVqJ9s6zZgxA9WqVUNAQACioqLQuXNnHD161Gqdvn37IiQkBKdOnUL79u0REhKCIkWK4J133kFycrLL6yORSHIPUoiVSCRpIjExEb/++ivq1KmDypUro1+/frh37x4WLlxot+7kyZOxbt06TJw4EXPnzsWDBw/Qvn17xMXFAQA++ugjdOvWDQCwY8eOhyW1Kef169dj1qxZmDZtGgwGg8N13n//fbRr1w59+vTB+fPnAQAzZ87Ezz//jEmTJqFKlSouj7Fx40bExMQgb968qbYJALz00ksIDw/HvHnz8OGHH+KXX35B//790aFDB1SrVg2LFi1Cnz598NVXX2HSpElW2547dw6vvPIKFixYgMWLF6NLly4YOHAgPv30U6fHq1mzJnbs2IH8+fOjUaNGbredI65du4aePXuiV69eWLZsGdq1a4ehQ4dizpw5D9e5d+8eGjdujB9++AEvvPACli9fju+//x5ly5bF1atXUaBAAfzxxx8AgBdffPFhfT766COnx/3888/x4osvolKlSli8eDG+/vprHDx4EA0aNMDJkyet1k1JScFTTz2FFi1aYOnSpejXrx8mTJiAsWPHun2eJpPJrpjNZqfrWywWh9tIJJIsQkgkEkkamDVrlgAgvv/+eyGEEPfu3RMhISGiSZMmD9c5e/asACCqVKkiTCbTw+V///23ACB+/fXXh8tef/114cmj6d69e6J48eJi6NChD5cVK1ZMdOjQwW7dW7duicKFC4u6deuKvXv3iqCgINGrV69Uj/Hjjz8KAOLrr79Odd2ZM2cKAGLgwIFWyzt16iQAiPHjx1str169uqhZs6bT/ZnNZpGSkiI++eQTkSdPHmGxWB7+17RpU9G0aVOr9R2du1Kns2fPWi3fuHGjACA2btxotU8AYteuXVbrVqxYUbRp0+bh708++UQAEOvWrXNa95s3bwoAYvjw4Xb/2dbpzp07IjAwULRv395qvQsXLgh/f3/x3HPPPVzWp08fAUAsWLDAat327duLcuXKOa2P7Tm6Kto6K+3krFy8eDHVY0okkvRH2sRKJJI0MX36dAQGBuKZZ54BAISEhKB79+6YOXMmTp48iTJlyjxct0OHDlaa0qpVqwLAQ82oNwwZMgS+vr5uOVzlyZMH8+fPR9OmTdGwYUMUL14c33//vcttVq9ejddffx3dunXDwIED3a6XbXSEChUqYMmSJejQoYPd8rVr11ot27BhA0aPHo3du3cjPj7e6r8bN24gX758btfDG/Lnz4+6detaLatatSr279//8Pfq1atRtmxZtGzZMl2OuWPHDiQmJj40N1AoUqQIHn/8cfz5559Wy3U6HZ588km7Om7YsMGt45UqVQrz5s2zWx4XF+f0nMaOHYvHH3/cbnlGXw+JROIYKcRKJBKvOXXqFLZs2YKuXbtCCIG7d+8CALp164aZM2dixowZ+Pzzzx+unydPHqvtFQepxMREr47/999/Y8qUKVi8eDGSkpKQlJQEQJ32vXv3LgIDA60cserVq4dKlSrhwIEDGDBgAIKDg53uf82aNejSpQtatWqFuXPnOrSVdUZUVJTVbz8/P6fLlXor59S6dWs0a9YMP/74IwoXLgw/Pz8sWbIEo0aN8rqtPMH2OgG8Vtpj37x5E0WLFk23Y96+fRsAHJo/FCxYEOvWrbNaFhQUhICAALs6atvSFQEBAahdu7bd8lu3bjndpmTJkg63kUgkWYO0iZVIJF4zY8YMCCGwaNEiREZGPiyKtvHnn392aWOYVo4cOQIhBDp37mx1/IsXL2LNmjWIjIzEd999Z7XN8OHDcejQIdSqVQsff/wxzpw543Dfa9asQadOndC0aVP89ttvD4XQjGbevHnw9fXFihUr0KNHDzRs2DDNgpMi7Nk6PbkS2FIjJiYGly5dSlO9tCiC89WrV+3+u3LlCqKjo9PtWBKJJHcghViJROIVZrMZP//8M0qVKoWNGzfalXfeeQdXr17F6tWrPdqvJ9rZtm3bOjx2vnz5UL9+fWzcuPGhoxgArFu3Dp9//jk+/PBDrFu3DuHh4Xj66adhNBqt9rt27Vp06tQJjRs3xpIlSzI1pJZOp4OPj4+V2UViYiJmz57t9T6LFy8OADh48KDV8mXLlnm9z3bt2uHEiRMup+89uZYNGjRAYGCglfMYAFy6dAkbNmxAixYtvK6rRCLJnUhzAolE4hWrV6/GlStXMHbsWLtA9gBQuXJlfPvtt5g+fTomTJjg9n6VKAFjx45Fu3btYDAYULVqVfj5+aFFixbYvHnzQ4/w/PnzI3/+/Hb7CAgIQJ48eazqdfXqVfTq1QtNmzbF8OHDodfrMX/+fDz22GN47733MHHiRADA1q1b0alTJ+TPnx8ffPCBlR0oAFSsWPFhMoVZs2ahX79+mDFjBnr37u32ObqiQ4cOGD9+PJ577jm8/PLLuH37NsaNG5cmQbpOnTooV64cBg8eDJPJhMjISPz+++/YunWr1/scNGgQ5s+fj44dO2LIkCGoW7cuEhMTsXnzZjzxxBNo3rw5QkNDUaxYMSxduhQtWrRAVFQUoqOjHwrVWiIiIvDRRx/hgw8+QO/evfHss8/i9u3bGDlyJAICAjB8+HCv6lm6dGkANH1JKydPnrQKCadQuHBhFC5cOM37l0gkniE1sRKJxCumT58OPz8/vPDCCw7/j46ORufOnbFixQpcv37d7f0+99xzeOmllzBlyhQ0aNAAderUwZUrVwBQ++uNeYLZbMazzz4LnU6HX375BXo9H33169fH6NGj8fXXX2PJkiUAGK4rMTER586dw+OPP44GDRpYlb179z7cr8VigdlstoufmhYef/xxzJgxA4cOHcKTTz6JYcOGoVu3bhgyZIjX+zQYDFi+fDnKly+PV199Fb1794a/vz++/fZbr/cZGhqKrVu34sUXX8TUqVPRoUMH9O/fH8ePH0fBggUfrjd9+nQEBQXhqaeeQp06dVxmYhs6dCimTZuGAwcOoFOnTvjf//6HSpUqYfv27VYOgp6QnmGwPvjgA7v+0KBBg1SdAyUSScagE8JF9GyJRCKRSCQSiSQbIjWxEolEIpFIJJIchxRiJRKJRCKRSCQ5DinESiQSiUQikUhyHFKIlUgkEolEIpHkOKQQK5FIJBKJRCLJcUghViKRSCQSiUSS43ikkh1YLBZcuXIFoaGhHuVAl0gkEolEIpFkDkII3Lt3DwULFnwY19sRj5QQe+XKFRQpUiSrqyGRSCQSiUQiSYWLFy+6zIb3SAmxoaGhANgoStpIW1JSUrB27Vq0bt0avr6+mVm9XIFsP++RbZc2ZPt5j2y7tCHbz3tk26WN3Np+8fHxKFKkyEO5zRmPlBCrmBCEhYW5FGKDgoIQFhaWqzpEZiHbz3tk26UN2X7eI9subcj28x7Zdmkjt7dfaqaf0rFLIpFIJBKJRJLjkEKsRCKRSCQSiSTHIYVYiUQikUgkEkmOQwqxEolEIpFIJJIchxRiJRKJRCKRSCQ5DinESiQSiUQikUhyHFKIlUgkEolEIpHkOKQQK5FIJBKJRCLJcUghViKRSCQSiUSS45BCrEQikUgkEokkxyGFWIlEIpFIJBJJjkMKsRKJRCKRSCSSHIcUYiUSiUQikUgkOQ4pxEokEolEIpFIchxSiJVIJBKJRCKR5DikECuRSCQSiUQiyXFIIVYikUhyGgcPAtOmZXUtJBKJJEvxyeoKSCQSicQDPv0U+Phjfo+IALp1y9LqSCQSSVYhhViJRCLJCQgBTJqkCrBBQUDLlllbJ4lEIslCpDmBRCKR5ATGjwfefJPfGzQATpygJlYikUgeUaQmViKRSLI7ZjMwaxa/BwQA27YBOl3W1kkikUiyGKmJlUgkkuzKxIlA8eJAkSJ05vLxAf78UwqwEolEAinESiQSSfblu++A8+eBq1f522SiWcHTTwPPPAMsW5a19ZNIJJIsRAqxEolEkl1xFHngt9+ABQuA+fOBTp2ANWsyvVoSiUSSHZA2sRKJRJJdGTUKGD6cTlxHjwL37wMJCYDFQiF22zbgs8+ANm2yuqYSiUSS6UghViKRSLIzfn5A5cosWjp1AooWpSB77RqQP3+WVE8ikUiyCmlOIJFIJDmRIkWAunUZP3bRoqyujUQikWQ6UoiVSCSSnMqzz/Jz9uysrYdEIpFkATlWiP3888+h0+kwaNCgrK6KRCKRZA3PPcewW3//TZtZiUQieYTIkULs7t27MXXqVFStWjWrqyKRSCRZR968QPv2/P7TT1laFYlEIslscpwQe//+ffTs2RM//vgjIiMjs7o6EolEkrX07cvPWbMAozFLqyKRSCSZSY6LTvD666+jQ4cOaNmyJT777DOX6yYnJyM5Ofnh7/j4eABASkoKUlJSHG6jLHf2v8Q1sv28R7Zd2nhk2691a/jkzw/dtWswzZ0L0auXx7t4ZNsunZDt5z2y7dJGbm0/d89HJ4QQGVyXdGPevHkYNWoUdu/ejYCAADRr1gzVq1fHxIkTHa4/YsQIjBw50m75L7/8gqCgoAyurUQikWQOZRYuRMW5cxFXvDg2TZgg09JKJJIcTUJCAp577jnExcUhLCzM6Xo5Roi9ePEiateujbVr16JatWoAkKoQ60gTW6RIEdy6dctpo6SkpGDdunVo1aoVfH190/08cjuy/bxHtl3aeKTbLzYWPqVLQ3f/Pky//w7RoYNHmz/SbZcOyPbzHtl2aSO3tl98fDyio6NTFWJzjDnBnj17cOPGDdSqVevhMrPZjC1btuDbb79FcnIyDAaD1Tb+/v7w9/e325evr2+qF9uddSTOke3nPbLt0sYj2X758gGvvQZ88QV8xoxhIgQveCTbLh2R7ec9su3SRm5rP3fPJcc4drVo0QKHDh3C/v37H5batWujZ8+e2L9/v50AK5FIJI8Ub78N+PoCu3YBR45kdW0kEokkw8kxmtjQ0FBUtkm7GBwcjDx58tgtl0gkkkeOfPmAVq2AVauA334DKlbM6hpJJBJJhpJjNLESiUQiSYWuXfm5eHHW1kMikUgygRyjiXXEpk2bsroKEolEkn148kl+7t8P3LwJxMRkaXUkEokkI5GaWIlEIsktxMQA5cvz++7dWVsXiUQiyWCkECuRSCS5CSVrV3Bw1tZDIpFIMhgpxEokEkluITEROH+e38uUydq6SCQSSQYjhViJRCLJLWzeDJjNQOHCQIECWV0biUQiyVCkECuRSCS5gYQEYNIkfm/bVqaelUgkuR4pxEokEklORghg40agYUPGiNXrgT59srpWEolEkuHk6BBbEolE8shy5w7w88/A998Dx49zWd68wK+/Ao0bZ23dJBKJJBOQQqxEIpHkJO7eBcaMAb75ho5cABASAvTqBXz0EVCwYJZWTyKRSDILKcRKJBJJTiA5GZg8GRg1CoiN5bIqVYABAyjAhoZmbf0kEokkk5FCrEQikWR3Vq4EBg4Ezp7l74oVgbFjgQ4dpAOXRCJ5ZJGOXRKJRJJduXQJ6NoVeOIJCrAFCwLTpgEHDnCZFGAlEskjjNTESiQSSXYjMZE2r599Bty/DxgMwFtvAcOH0/5VIpFIJFKIlUgkkmyD2QzMnk0HrUuXuKxBA0YgqFo1a+smkUgk2QxpTiCRSCRZjckE/PILUL068MILFGCLFGEIra1bpQArkUgkDpCaWIlEIskqEhKAGTOAr74Czp3jsogIYNgw4H//AwICsrJ2EolEkq2RQqxEIpFkNteuMVzWd98Bt29zWUwM8OabwGuvAZGRWVs/iUQiyQFIIVYikUgymrg44OhRls2bmVXLaOR/xYsD775LM4LAwCytpkQikeQkpBArkeQkYmOZsalkyayuyaOHEIwUcPu2WmJjKaA+eEDTAOVT+X7tGgXXa9fs99egAfD220CnToCPfBRLJBKJp8gnp0SSU1iyBOjcmd83bgSaNcvK2uQshKDAefEicOMGBUxtUYTOBw+A+HgKpvHx6ve4OODOHSAlxfs6FCwIVKjA8txzFGIlEolE4jVSiJVIcgK//QZ066b+7t8fOHwY8PPLujplN4RA4M2b0M2fD5w6BVy4QKFVKQkJ6XMcf38gTx61REQAwcFAUJD9Z1QUUL48S1hY+hxfIpFIJACkECuRZH82baLmDmCa0U2bKKT9/DOF2UcVoxHYtw/Yvh3Yvh0+O3ag9eXLrreJjgYKFGDCgOBgxyUsDAgP56dSQkMpkObJQ+FUZsqSSCSSLEcKsRJJdubcOZoQGI1MPzp/PjBxIjB4MDBlCvDSS4+eQJWUBIwfD3z+OW1U/0MHwGIwANWrQ1+zJlC0KGOtKqVwYek4JZFIJLkIKcRKJNkVIYCXX6YjV716wJw5TD/aty/jiO7fD+zc+WjZVq5YAQwaBJw+zd958gANGwING8JUty7+uHULbTp3ht7XN0urKZFIJJKMR2bskkiyK1u3AuvW0QZz9mw18H2ePMAzz/D7t99mXf0yk5MnaUrx5JMUYAsWBObOBW7eBJYtA4YMgWjSBGZ//6yuqUQikUgyCSnESiTZla++4mfv3kCZMtb/vfEGPxcsAK5cydx6ZSZxccCQIUDlysCqVYCvL/D++8CxY7QTftRMKSQSiUTyECnESiTZkcOHgaVLKaS99Zb9/zVrAo0bAyYTMG1a5tcvo0lOBr7+GihVChg7ljbB7doB//4LjBlDRyuJRCKRPNJIIVYiyY6MH8/PLl0YV9QRL73Ez+XLM6dOmYHFQue1ChVo+3r7Nr8vXw6sXAmULZvVNZRIJBJJNkEKsRJJdiMuDpgxg9/bt3e+XuvW/Nyzh8JeTkYImgvUr09737Nngfz5galTgYMHgSeekKYDEolEIrFCCrGSDEH3++/AqFGc/pV4hH7YMPXHiy86X7FAAdqKCgGsWZPxFcsILBZmIqtTh45bu3czhusnnzAWbv/+MiWrRCKRSBwihVhJhqCfMQP48EPgn3+yuio5Dp1tm8XHO1+5Uyd+/vJLhtUnQzCb6ZRWowbj4O7ZwyQC77xD4fWjj5h4QCKRSCQSJ0ghVpIxREbyMzY2a+uRAxEtWlgvmDvX+co9e/Lzjz+AGzcyrlLphRAMiVWlCvD00zQVCA0Fhg5lYodx44B8+bK6lhJ3sViAtWs5iEotW5pEIpGkM1KIlWQIIiqKX6QQ6zl581r/nj/f+brly3Mq3mxmMoTszIEDQMuWQMeOwNGjQEQEMHw4hdfRo4GYmKyuocRdUlJot12pEtCmDQdThQsDFSsCb74pzYgkEkmmIIVYScYgNbFeI0qXtl4QFuZ6gxde4Of06dR0ZjeuX6dta40awIYNTN4wZAiF1xEjAGXAI8kZXLkCNG1Ke+1jx9g/a9Wi493Ro8A331DT3q0bNe0SiUSSQUghVpIxSE2s14gmTZheViE52fUGzz7LbF5HjjDLV3bi+++ZqGHaNArYPXpQ8Pn8cyA8PKtrJ/GUnTuB2rWBHTuoSR83Drh4kbbvt24BixYBXbty3d9+A6pVo83z7t1ZWm2JRJI7kUKsJEMQiiY2p4d+ygrCwqjFUvD1db1+RATw/PP8/sUXGVYtjzl5EhgwALh3jyYPW7fSNKJ48ayumcQbZs2iBvbqVZoR7N5NRzxlpiAqigLsokXAoUO0edbpGH2ibl3g8cc5ePn1V5qWpDY4k0gkklSQQqwkY1A0sXfuZG09cipTpzLRQUQEg/6nxrvvUmBYsSL72CMuWMDPFi2owWvUKGvrI/EOkwl47z2gTx9mTuvUidfT1uxFS+XKwLx5zDz3/PMMk7ZxI/DBB0wXXL06o09UrUob2vXr6SQmkUgkHiCFWEnGkCcPP6Um1jvCwjgde+cOnaFSo0wZCr0AMHFihlbNbRSHtJ49Ab181ORIDh5kAoovv+TvDz9kvwwJcW/7ChWowT19Gvj0U6B3bw5mIiLojHjoEG1oW7UCnnwSePAgw05FIpHkPuSbRZIhCOnYlfm8/TY/58yhM1VWcvQoBRRfXzWWrSTncP8+I0fUqsUYvhERHJR8+ql3A5KiRSkA//wzzUpiY4ELFygQ9+sHBAYyY9vjj8tnhkQicRspxEoyBkUTGx/PcDySjKdBA6BePdoafvdd1tZFMSVo3VqNVCHJ/hw9CrzxBlCoELOmmUwchBw5Qqe89EKnA4oU4ezB9OnAn3/SBOnvv+moaDan37EkEkmuRQqxkoxB63l+926WVeORQqcD3nqL37/7DkhKypp6CEHnHYDOPZLsT2wsan31FXyrVQMmTeLgs0wZ2rUuXswUxxlJgwYMvxYUxOQJn36asceTSCS5AinESjKGa9f46ePDqUhJ5tC1KzVcN25QAMkK9uwBjh/nFLE0Jcj+bNwIn1q1UPivvyD0euCpp4A1axgKTYkwkBlUqwZMmcLvkydnzjElEkmORgqxkgxBd/Ikv5QokXqIKEn64ePDIPQAsG5d1tRBSZPbsSNTykqyB8eO2U/Tf/010KIFdJcv437BgjBv3QosXUozkKxwxmvShJ9xcZl/bIlEkuOQQqwkQ9CdOsUvZcpkbUUeRSpV4ufZs5l/bJNJNSXo1Svzjy9xzJgxzKI1aZK6bMUKmp8IAUu/ftj01VcQtWtnXR0BYP9+fpYvn6XVyLXcuwfs2sWUwW+/zZTBzz9PJzuJJAfik9UVkORSjh7lpxRiM5/Ll/mZFbbIGzYwMkJ0NLV5kuxBZCQHGB9+yAxaCQmM1yoEMGAAzF9/DfOqVVldSzXjnIwpnD6cPcv4vBs3sm3PnXO83pIlDKP28ssyHJ4kRyGFWEn6IwT0y5fzuzI9KMkc/vqLAeUB4JVXnK93+TLtlmvVSt/jL1zIz27dpBlJdqJ/f5p5/PUXv58/T61ckybZJ64woAqx8rnhGUJw0Hr+PGP7KoLr+fP26+bPz9maypWp8Z4zB9i2jdn19uwBfvwx06svkXiLFGIl6U7EqVPQnT9PT+N27bK6Oo8GJhM9uj/7jJmPWrQABg50vn6rVtSWv/gip5gDA9Neh5QU4Pff+b1797TvT5J+6PXMAlelimorXbgwU8T6+WWPMHixscDevfwuhVhrhGDik7NnqU1VPs+fV0t8vP12Pj5M+dusGUuNGpwl0dK/P/DttzQtmTaN2tg6dTL+nCSSdEAKsZJ0p+D27fzyxBMUZCUZy/Xr9CLfvJm/e/fmS8nZtOClS6q5x/TpTEqwdCk1NGlh0yZmaIuJAR57LG37kqQ/5ctT875rFyMO/PYbkDdv+h9n82b2r7g4lvh4Jk9ISAASE/mZlMS0sxERDMcXEUGhzGwGSpXi+rGx/M9gSP86Zmdu3wb27aNAv28fY/SeO+dYSLUlOpomXI89BjRvTrOM1LKrGQxM/btnDzB7NvD++4zbm1lRKSSSNCCFWEn6IoQqxHbrlrV1eRTYtYthtS5f5stq6lQGi3fFjh3qdyXAfL16wPLlzGXvLYopQZcu1ABJshcnT6qaTiE4mKlbN/32Hx8PvPaaGp3CW06fBipW5HedjgJuVBTteoOCWAID+RkdDRQsyDi2BQtSu1ymTM6w6xQCuHiRgur+/Sx797p2ssqXjxFfSpQAihcHihVTS9GiHBh4y6efMknJxo3AH3/IWTRJjkC+aSTpim7PHgRfvw4RFARd+/ZZXZ3cixBMaDBoEKeCy5Wjc4Y7Xt1Xr/KzUyc6c3ToAJw4ATRsyPicffqkvo/Ll6m9uXaNQnP37qopgRy8ZE8GD2ZfKVkSOHMGGDqUMWHTY8Dxzz+cDThzhpq9du2YtS88HAgL4wArIIDa+osXgSFDqJGNi6Mt57VrwPff0xSmZElqYe/eVafR79xxvy4REdRANm7MJApVq2Z91jghKJzv3s22UgRXZ+dVqhRQsyZLlSpsk2LFMnZmq1gxmiCNGwe8+y5TAPv7Z9zxJJJ0QAqxknRF91+6UfHkk9ClRSsgcY7ZTLu1GTP4u0sXYOZMCgvuoESMOHkSKF2amtkePTiF2LcvsH49BWRn05Bz5wL/+58a/WDbNtrTpaRQY9a0aVrOTpIRrF8PLFtGAfPXX9WBS//+1N57ixB0BBo4EDAaqR2cO5cDIi337nFwtGQJf/v7Ww92fvqJiQ4qVgQOH+Yyo5F9LDaW5c4da5OEhAQm9bhyheXqVU67370LrFzJolCoELWXivlCZCSFttKlWUqWdC4gGo0ctF25ompCUzNxuHKFAqu2OBJYfXzoZFW9OpM91KzJ79qMh5nJBx/wWXL4MPDee4wjLJFkY6QQK0k/LBbo/5tStvToIYMQZwQWC/DqqxRgDQZg7FjGe/TEfq1CBX6eOEGHsKgoZmj6/HNg+HB6Kx86RPOCIkXU7cxmvtjGj+fvOnUoiPzyC3DgAJdVry6jEmQ3EhM5zQ/ws25dOvP17Enh8dIlOnh5yr17wOuv044SYHKLn36yz9B3/DjDeh09SieyyZOBJ5+0XkcRpHv2VJf5+dFm1xO7XZOJGs6//mLZu5dOT5cvq6HnnBEcrGqOw8PV6f5r1/hdITBQ9e6vWhUoUwa6pCSUWbIEhhkzaFvq6Fj+/rw/6tRRhdWKFbOXtjMyktfwySeBb76hbW3XrlldK4nEOeIRIi4uTgAQcXFxTtcxGo1iyZIlwmg0ZmLNcglr1woBCGNQkDDeu5fVtclxuNX33n1XCEAIvV6I+fO9O1ByMvcBCHHpkrrcYhFi40Yh8uXjfwUKCPH33/zvwQMhOndWt/v4YyFSUvifySREUBCX+/kJsXWrd/VKI/LedcLQoer1vHtXXb5ihRDBwUIAwvTll5613Z49QpQpo/bFzz8Xwmx2vF5UFNcrVEiInTvt17l7V+1XZ854d46uuHtXiG3bhFi0SIhp04QYN45t8swzQtSuLUREhHp8Z8XfX4jixYUICEh9XUAInU6I0qWF6N1biO++E+Kff3jf5RSU50xYmBCnTmXooeR9mzZya/u5I68JIYTUxErSByGAjz4CAFxs1gxFspN2Ibewezft1QBqYnv08G4/itY0IoIRCZKTGQR/4UJqnT7/nPv/91/aFY4YQXvX3bupNfrpJ+CZZ3jNN2+mLWNCAvdpNFJzc+AAp14lWcvBg7R7BqgB1U5Td+hAZ56334bujz/cS0wiBK/3m2/SfKRwYWriHYXE2rWLGaHi4qj9dRYBIzSUU/Rnz1J7WqKEd+fqjPBwe/MGW+7coclCfLwaUcFi4UyEj49qz7p5Mz9NJtf7EwI4dYrbbdtGjW2VKrR19fGh45lOx/vm7l2W+/e5X4uFsx5+ftT6BgZyfSH4GR2taqiLFeM1SG9GjWK9t2+nvfuWLalHOZBIsgApxErSh6VLgV27IIKCcKJ7dxRJfQuJJ1gstEMVgmki3XG+csaff/KzSROaJAwebB3w/u23KSz/8QdtKZXkCVFRvM6NG7MevXpRgLHl+nX+98cfj154pOxEXBwHOiYT7aY7d7Zfp00bAIBu2zbV5MAZSUkMiP/TT/zdsSMHO1FR9uv+9ReF5Hv36GS1apVzm229ntnDRo2iWUvv3u6fY3oRFsbzU2xvjx5l1I6//1YdIbWULEnHp/9KihDY/cMPqBcUBMPJk9z+6FGGyzp9mkVxfExP+vRRr0d64usLzJtHs4d9+zgwXb6cgrVEko2QQqwk7ZhMwLBhAADLwIFIzmpP4NzInDl8oYaG0g7WW65dA774gt/r1aMj188/8/fLL9PJ69AhCra2hIWpgsisWaoAazBQcwRQYNm7l8Lvp59SiyvJfCwWDnaOH6embsoUx+uVKwf4+0OXlISgW7ec7+/8eQoye/ZQ6Bwzhn3EkS32kiXU1CcnM8D+8uWutXiK7SmQ/g5NCQlsgyNHaKeqaD3v3qWQHxurOoY5064aDLR/rVsXqF+fgmvx4tbrpKTgZvXqsLRvD4PWJvzGDc5oHDzI++riRZ6vxcISFKQ6m4WGUktrMLCNjUbaMycmcl2Adbx9G7h5k/suVix920tLkSLAihU837Vr+ayYMydnhC+TPDJIIVaSdmbM4EsiKgqWd97hFJQkfdm4kZ+vv86YmN4gBJ3C7tyhc9fEiYBWcHHkpV6iBI85YQI9v+vV4/f33+f/vXtToAWoyZs8mb/79AFGjmRwfVsnHknG88knFB79/akBdGbaYTDQO//wYYQ5SlEKAKtXU7MeG8uwWfPmAS1bOl73xx/ZxywWXvd581yHhbJYgHfeUftQ27bun6MtsbGc9t6+nc8jJUmA1inLFXq9Gmu2RAk6YNWtyyxX3oa2yptX1djmROrVY1KMJ59kVIu8eXn/y0QIkmyCFGIlaSM+/qEtLIYPt/dMlqQPipbINmWkJyxeTHMAg4EaWduQP5UqMV1tvXq0+5s4kXaKefLQxvX55ynQDBjA9WvUULOEBQWp9rq9e1NrPHkyhZ+dO9WICJKMZ84cDiAA4IcfgNq1Xa/fpAlw+DDKLFoEfPyxutxs5j09ahR/167NKAaOtH9C8JjKcV98kbazqcWg/fFH1ZRl4kTGrXUXRWjdtInl4EHHAmt0NKMAFC9O7/uICLWEh6uCa758MkmHI9q2pclCr14MuVWwIKOUSCTZAHnHStLGmDGc1ipThhoYScagTNd7a2N67x7wxhvqvhQBtmZNJkxo1cra6ea552j/9sUXwEsvUau3fDltKBWb2oMH1XoNHUoHFIXx4yn4bt3KbbZtsw7XJckYNm4E+vXj93ffdc92+uOPIebMQdSJEzD98gvwwgscNPXqBcyfz3Vefx346ivH4aCMRsabVbSpw4bRlMQdbV2/frSX7d6dx3OFxUL7zFWrOJjatUudZleoUIFxiqtVo+BaoQLTIGv54Qf23U8+4QBNkjo9e9KE4a23mKiiXDnaREskWYwUYiXec/Cgqn374gsKPSkpWVun3IrysvZWiB0xgnZ/Wnr2ZIxPR8LGgAHUYFWuTJu+7t2pNVMEWEAVYHU6e6cgPz9OYzduTJvENm3o7COFhozj8GE6b6Wk0KFrzBj3titQAJYhQ2D48EMYhg3jPv73Pwqwvr4Mfq+N36olPp7rb9jAvvnddxRo3cXXlza0rgTe3bup1V+9mgNmLeXLA82b0/a2adPUI2IkJNBRMTaWfVuZVZCkzqBBjLgweTL7w/btaUtTLZGkA1KIlXhHcjKnl1NSOAUoR+UZiyIweuNUsXGjmqBAISiIU4OOhIfYWAqsyjEB4MEDamcdERzsOK1ndDQdQho2pKd23brcb061D8zOXLnCVK9xcXSu+/lnj/qK5c03kfjttwi5epW2oKdOcWp94ULn93ZSEv/btImOWwsXemfT6kyAPX+eAqc2AkZICO1x27Vj8VS7f+4c+3dAgGfCtoRMmAAcO8bB7FNP0WzIk2QUEkk6I90MJd4xciQ1sdHRdAiShv4Zi7fmBLGx9BRXKFWKn337OteKBgTQWa9TJ363xceHU7UK9+9zf4mJ9usWLUpBtkgR4MwZ2ty+/DKFLUn6EB8PtG9Pz/dy5Wj37Oi6ucLfH/sHDoTQ6SjA6nR0ynImwJpMwNNPU4ANDeVAKS1OWVri4tQpa0WA7dWLgtPt29Twv/yyd+YpSipsoxH455/0qe+jhK8vsGABnQGViBXJyVldK8kjjBRiJZ5z5IgaQP3772VQ+8xAMSfwRBMrBO1ZlSnYBg0oSAIMVu+MoCA6Z82bxxdWtWrW/5tM7ANaZs2iTe2AAdzu7FnVyaZiRZokKFO3P/7IZT//TK1aeDinoyWek5zMGLBKconVq7032bBY1GsWEMBwUo5ISeF08rJltJFdvjx15zF3MJsZCqx0aYaRU0J07dlDs5fHH097nNJixTios1goGDsaeElcExXFax4eTpv3QYOyukaSRxgpxEo8Qwg6CJlMnE6SebUzB2803ePHqwHW/fzoxCUEBceyZR1vc+4cp3BbtKAw9NRTaoYvf3/Veat+fXopa4mP56Dm2WcZDD5/fmpzP/6YzjjPPEPhJCKC0999+1K7Fh9PLd5nn3l+jo8yFgsHG3/+yWn2lSu9z3Z16xZqTZgAHcCBUmIibVFtSU6mffSCBdTKLVpEW9S0kpxMze7rrzPsW7lyFJI3bGC/TU++/57RCE6fln3OW8qXZ8gtnY7t6SjpiUSSCUibWIlnLF3Kl6a/P+2jJJya1GqI7t9n6tZataglSw8UIdbWG9sZmzZZh8F5912aCACcirUlLo6pZ3/4wdo5LyyMQmZgIIXZ69cptOzcqdrBrl7NdYYPp72cwo0b7C9Ll6Ze35QUhmoLCqJAFhXFNJ2lS8usX44Qgtp0RZhcvJj9zRuMRhh69YJvbCxETAx0N29yqr5dO+v17t3joHXdOjX+rO063nDvHgc7GzbwPho3jpFOtEkD0pPwcIbz6taNAtjHHzuOuiBxTbt2fGZ8+imfKdWrW5sZSSSZgNTEStxHCDVm5NtvU9v2qHLqFEP0FC1KwWvIEDq6CMHA4KNHU7N0+HD6HE8xI3AncPvdu9SGKgJvZCS9iK9eZbghWzvHP/6gp/a331KYbNkSmDaNQqsSE/SjjxhGrXFjNQuXNkxXjx503vr3X+CVVxw7ernDO+9w++7dqe0JDaVD2Esv0RHtjz9oqqB1OnsUGTmS1wugKUerVt7tx2IB+vaFfsMGmPz81On1Dz6wFuxu3OB0/rp17O8rV6aPAHvzJve7YQMHL6tXAwMHZpwAq9CpE88vNladaZB4zvDhnLV58ICDgvv3s7pGkkcMqYmVuM9ff9EZIiCA8QIfNRITGQ7o668Zo1LL2LHUdDZtSi0oQJOLypVpPxoUBEyfzuw3b77JaWBPnG880cQOH85kBoGBrPPLL6vTfb17q1rjLVsonG7Zwt+lSlET26KFuq+CBZkuc8cOalvDwijgbNignqeWSpWo3fr+ex77+nWW8HAKxJcusW63b6vl6FFqEuPj1XMND+cLUZnWtp3a9venlrZOHeCxxxiwv2hRt5szRzNhgppUYNIka8c9TxkyBPj1VwiDARZfX/jcv8+BihJrFuC0e9u2HLhFR1OArVs3becAABcuAK1bMwRbdDQF2PSwrXWHf/6hCYNOx34k8Q6DAZg7l4lPjh6lBt1Z2D6JJCMQjxBxcXECgIiLi3O6jtFoFEuWLBFGozETa5ZD6NhRCECIl192ukq2b78rV4QoXJjn8cILQixbJsTKlUIsWSLEH38IcfKkECaTun58vBBjxwrRpo0Qfn7czlHJn9/5f85Kr15CaPqiy7br3p3bTJrk+vwOHBBCr1ePYTAIsWcPPwEh/v1XiDt31GsJ8LwGDRLi/n37/a1bp25buza3FUKII0fU7Z99VgiLxdMrYU1yshDVqrlur9q1hahUyel1sBQoIC41aiRMX3/NdjCb01an7MiPP6rn/NlnadvXr7+qbRcWxs+qVdVrLIQQu3cLkTcv1yteXIjjx9N2TIUjR9T7sEgRIY4eTZ/9uoPFIkSDBjx2nz7pssts/9zLaLZsUZ8TU6Z4tOkj33ZpJLe2nzvymhBCSCHWhtzaIdLMhQuqcHTkiNPVsn37ffBB6sJlQIAQlSsL0bixEFFRrtcdNkyIEyeESEkRYu5cIZo08VyYbdpUiHv3hDE5WayYO1cYHzywr3ePHlz3m29cn1/LltZCdZ8+QowZw+/16nGdgQNVAffVV4W4eNH1PrdvFyI6mtuULSvEzp3cRnsOH37ozdWwxmwW4p9/hHjsMXW/hQsL8cknQixaxD4oBAcZZ84IsXy5EEOHCtGokWPBNiJCiFathHj7bSF++kmIvXuFyK790h1++kkInY7nNnhw2gYOhw4JERho1V5xRYsKo9LGQgixapUQwcH8v3p1DgDTg40b1fuqQgX1umYWv//OYwcFCXH5crrsMts/9zKDcePYrr6+Quza5fZmsu3SRm5tPynEOkAKsWng44/5gGrWzOVq2b79rlwRIjLSXuCJiaHg6u/vnuDZpo0Qp087Psb9+0KMGMGXpKNtfXxc7tsSHc0XrZannuL/U6c6P7fjx7mOIujo9UIcOyZEqVL8PX26ELdvq/Vavtz9djt4kBozpZ6NGqlaXGXZxInu7y815s+nEApQkJo507XQlpAgUtavF0eee06YW7VShS/bEhoqRIcOQowfT21tWjXImcXcuep1/d//0lbvBw+EKFrUqj+ahg4VyxYuVO/bH35QNWstW1rNGHiNxcJBmLLfunWFuHkz7fv1lGbNePz330+3XWb7515mYLEI0aWLql1389rKtksbubX9cp0QO3r0aFG7dm0REhIiYmJiRMeOHcWxY8c82ocUYr0kJUWIggX5cJo3z+WqOab9vvhCiP+mUAXAqezERGr5fvmFwg5gra0KDRXi3XcpGDrjwgVqPJVtGjemsPThh9bCZYkSqQvKAwcKkZTE/bZowWW//OL82EOHcp1y5fjZsaMQ69fze1gYhevPPlPP11NB6MYNanYVIUTRZr3/vvrbAw1Mqly4QC21su+ePWne4QSrvpeSQq3utGlCvPEGBRdFKNaWAgWEePFFIRYvdrnvLOWnn9RZkFdeSZsAa7FYzxZUrizEvn1q2127xvZQ/u/Th6YeaSUpSYh+/ayvZUJC2vfrCRYLn1/KLEQ6aoBzzHMvo4mLE6JMGbZxixbq88sFsu3SRm5tv1wnxLZp00bMnDlT/Pvvv2L//v2iQ4cOomjRouK+Izs+J0gh1kuU6beYmFRfaDmu/U6c4FR5wYI0k1ixQtUu1qkjRLt2/N6ggbWtoCMuXVK1nmFhQnz3nbVd5pAh1gKUwcD9BgcLYTCIlMWLxYpffhGmt95S16lRg0KzIhgvW+b42CaTOtCoX5+fY8eq9X/tNdr9KsL57Nnet9mZM0KULq3WUbGZBGizmZ6YTEKMGqUKzqVK0U7TAan2PbOZJgVffEFNuq2m3M+P7fX77xSCswPff6/W76WX0mbnazYL0batur/HH38oSBr37hXHund/aBsrdDqacaSHpvrKFbVP6vWcds5sDfjRo6oGFhDiuefSdfc57rmXkRw6pN5bHTqkKsjKtksbubX9cp0Qa8uNGzcEALF582a3t5FCrJe0acMH0pAhqa6aI9tvxw5qGY8fV7WznTtz2lXRKvz5p+t93LxJe1GAWtZz5+zXUWxTGzYUYs0aIe7etfrbqu1WrBAiTx5VG6zYuG7Y4Pj4q1bx/6goIQoV4vfJk1Vh+ZVX1Bd406Zptw2dM4f7CgiwNpPIKAedrVvVKXBfXyG++spOoPO47yUlCbF2LTW1yuBDKYULCzFyZPrZgXqKxaL2F0Urn1ZHtYkT1f01acJjnD4tRM2a1udetaoQmzalz3ls364OriIi2O8zE7OZfUUxEwoIoB27B8oPd8iRz72MZP169dnw5JMulR+y7dJGbm0/d4XYHBtiK+6/3OtRUVFO10lOTkayJq9z/H8hfFJSUpCiDeiuQVnu7P9HjjNn4LtmDYROB1PfvtaB8B2QI9uvVi0gIQE+XbpAFx8PS6NGMM+ZA+j18Dl/HjoAKUWKOD/35GQYOneG/sQJiKJFYVq7lqGpbNbXX7gAAwBz48awNG/OhZp1rNqudWvgn39gePFF6DdseBi/03T3LoSDeuhXruS+W7SAYeFCiIAAiGXLoAcgoqOh++EHAID5jTdg+fxzu2N7iv7WLRgAWNq0gaVTJ+j/+guW3r0hSpVK036dUrcusHs3DK+8Av2SJcA778Cyfj3M06czPBO86Ht6PdOaNmvGNMrHj0M/ezb0P/0E3aVLwPDhEJ9+CtGtG8yffqrGzFUQgvExb98GYmOhu3OHsXPv3IEuNpZxg/38GPP0vyIqVIBo1sx1vVJSYHjjDeinTwcAmN95B5bRoxkb19v4uAkJ8BkyBDoAIl8+mFatApKT4fPEE9AdPQrh64vr1aohcuBA6J9+mm3j7XUUArqNG6GfMAH6NWu4qEIFmH77jeGsMuvZcP06DH368P4BYGndGubJk9XrmI71yJHPvYzksceg+/13GDp3hm75cli6doV53jyHaYNl26WN3Np+7p6PTgghMrgu6Y4QAh07dsSdO3fw119/OV1vxIgRGKnEU9Twyy+/ICgoKCOrmGuoOGsWyixejOs1a2Lnxx9ndXUyjOqTJqHYn38iKSICm8aPR3JUFAJu3kSb/v1hMRiwfMECx5mjLBbU/PprFNm8GSlBQfhrzBjccxKvtM7YsSi4YwcO9u+Psx06uFcxiwUlVq9GlR9/pDAdGIiDr7yCS02bWsVibPrOO4g4fRoXmzRBkb/+Qnzhwgi7dAkCgA6AKSAA+/73P1xp3NjjtnFEhTlzUHbRIpxp3x6HHGUAyyiEQPE//kDlGTNgSElBYlQU9rz9Nm5Xrpxuh9CnpKDgli0os2QJwi5eBABY9Ho8KFAAxpAQ+D14AN/79+F3/z70JpPH+z/fogUOvfwyzA6yRPnFx6PWV18h74EDEHo9/u3XD2eeeCLN51Rz/HgU2bIFAsDmceMQV7o0Sv/+Oyr9/DOMISHYNGECEmNi0nQMXUoKCm3ditJLlyL83DkAgNDrcalJExx89VWYlJTFmYHFgkYffojoI0dg8vfHv/364Xzr1jJ+aSYTs28f6o0eDUNKCm5VrIh/Bg9GsgvFk0SikJCQgOeeew5xcXEICwtzul6OFGJff/11rFy5Elu3bkXhwoWdrudIE1ukSBHcunXLaaOkpKRg3bp1aNWqFXwzOmtMdsdohE+JEtDdvAnTokUQTz2V6iY5sf10K1bAp0sXCJ0O5jVrHmrKdJs2wad1a4jSpWE6csR+QyGgf/99GCZOhDAYYF62DMJF5iSfunWh278fpvnzITp3tvvfaduZzfAJCoJOc6taOneGecoUIE8e4P59+MTEQGc2QxQqBN3lyw+FVwAQ5cvDNH8+UKGCF63jGMNLL0E/axbMn34Ky/vvp9t+3ebAAfj07AndiRMQej0sH36I5MGDsW7DBu/73o0b0P3xB/QrV0K3bh10bmYfEn5+TJMbFQURFcVsZVFREP7+0KWkUOOXkgLcvw/dqlXQCUHN5C+/MDnEf+h274bhmWegu3gRIjgY5jlzINwd7Lji2jX4FC8OncUCS8eOMC9YAP3YsTD8Nyg1jxuH5AEDvL9v796Ffto06L/9FrorV9gmQUGw9O0Ly8CBTKKRyegnTYLhnXcggoNh2rrVqp0zgpz43MssdOvWsV/fuweRLx/Ms2dbzUbItksbubX94uPjER0dnaoQm+NsYv/3v/+JwoULizNnzni8rbSJ9RDFk7dQIbcdXXJk+9WowfMcPNh6ueJU07694+1Gj1btCH/+2fUxrlxR13USm9Jp2127pm77ySdqiK7ChYX46y/aySr2sLbe9z16CHHvnpsN4QFKLNe0OIillXv36D3/37mamzUTq2fO9KzvnTwpxJdfMmSYEj1CKfnzs/0GDhTi6aet27d2bdpJ37/vmZPSn3+q9s3h4art9I8/0tYXoB32wYOetIRztIH9fXxou92/v3oew4YJYbF4d9/u3SvEgAFChIRYt9moUQzlllUcO6ZGFfnuu0w5ZI587mUmx48LUaWK6tw3cCD7yZQpwrh7t1iyeLFsOy/JrX0v1zl2WSwW8frrr4uCBQuKEydOeLUPKcR6gMVCByRAiOHD3d4sx7XfpUuqN/aNG9b/vfce/3vjDfvtJkxQX9xffZX6caZMUSMeOMFp2x04oEaHEILCgxJGy2BgQH/lu1InnY71yggvcItFjbW7b1/6799TZs16GBc2MTJSpGzc6HzdlBRmFxo6lNm/bIX+GjUYE3n3bntHqsREhihTBCRfX+7HUXIKV1y7RiEYoMe8EhoNYJzN9IjJKgSvkzbSxUsvqfe0Tsc+/B9u37dxcRzc1apl3W6VKzOWrxshlTKUu3eFKF+edWrRItOiIOS4515W8OCB1aBTW+4WLy5SVqxI/+u1bx+Ts+Ricmvfy3VC7IABA0R4eLjYtGmTuHr16sOS4EGsQSnEesDGjXzA+PsLcfWq25vluPabOpXnqWSz0qJkyRo/Xl1msVgLHSNGuHccRRvmQuB12nZr1nDbKlXUZffuMW2tgxeCCApiutiMQhH8DYasF1oUjh0TlooVhQCExceHApryQrxyhYkeunWj9lPbVj4+DOb/7bfuxw09e5Ye18o+ihVjlANPOHXKPiHD8OHp+xJXEpQoWl9tlIDVq61WdXnfWiyMMvDCC9ZhyXx9eY+sW5c9kkaYTGoIsUKFMjWyRI577mUVSqzefv0Yj7h1a2HR9qmKFflM3bTJPqJBQgLD+23fzrjOU6bwPp8+nRn91q5lnOpTpyi4Kvdo7drZo39mELm17+U6IRaAwzJz5ky39yGFWA9Qguu//rpHm+W49uvYUZ2mt+Xpp/nf11/zt8kkRO/e6gN35Ej3Ho6nTqnTaC4GBE7bbtYsbt+ypbrMbGZWJdtYpwULZvzLWwnnVaFCxh7HQ4x37oiL2kD+lSqppiLaEhUlxLPPMkxYarF/XbFkiXUWs4ED3dfKJiaq06tAumaPEkLwxe5ogFOxImMj2+Cw7z14wDBtthrr8uU5GLOduchq3n6b9QsMZKKLTCTHPfeyEcarV8XJp54SFm24PmWQFBHBz1SyHNoN4pXvej3v9Ywwqcom5Na+l+tCbAkhsroKjw47dwJ//gn4+ADvvZfVtck4kpOB9ev5vX17+//1enU9ABg6FJg1i+0ydSrwwgvuHee/MENo2hTIn9/zel6/zs98+fh55AjwyivA1q326165Anz1FTBqFODA+z1dOHSIn1WqZMz+vSE+Hro1a2D29YUIDYXu3j3g8GH+p9MBtWsD7dqx1KnjONKEp3TsCLRoAQwZAkyeDEyaBKxbB8yezeO5qCs6dWI76vWAxQL88APw/PPp44C0bRtgGzEiKAh4+23g/feBkBDX29+5A0yZAnz9NXDzJpcFBgLduwP9+wONGmU/L/8ffwTGj+f3n35i2DxJ9iUpif1//37o9+5FxOnT7JdJSeo6KSnA3bv22+p0QEAA7x2zGTAaeQ8pJCTwGf3887w3y5bN8NORZB05RoiVZCKjRvHz+ecBJ+GicgX//MM4n/nyATVq2P//77/8LF8e+PlnxhIFKMg++6z7x/kvTiVatvSunorAZTQCH38MjBljH+Oydm2genVg2jQKsevWAXPmZIygqQiHWS3EnjkDLFkCrFwJ/PUXfFJSUEz5LzCQupikJH4fNoxCZ3oTEsLrERhIQfTYMaB+feB//+N1sBWWz58HnniCfSskBFi0CPj0UwqebdsCO3YALiKupMqhQ0CHDtbxZFu2ZJ8tUMDlpv6xsdAPGUKB8N49LixenMLv888DERHe1ysjWbMGGDCA34cPB3r0yNr6SOy5dw9YtYplzx7eJ//1UQOAaO26xYrxmRsRAQQHA+XKASYTcOAAsGkTcOPGw7jZVkRHAw0bsjz9NPuuJPeTOYrh7IE0J3CDffvUaZjjxz3ePEe138KFPNfGjR3/rzhPbd6sfv/wQ8+OYTarXu3bt7tc1WnbKVEiFIciR+XwYa67dCkdwACmUXWQ2SrNKBncPDDlSRcsFvbPjz9mVimbNrCULi1OPfmkSFm9mvZ0164xO5nW/CM922L7dtr22dq2KqVUKWs72507hciXj//lz6+mz719W3VGKlvWO3OQEyeE6NnTPsJC06apm7ycPClML70kTNop28qVaW6RXdLvOuPAATWV8vPPZ5ntY4567mUWsbGM2vLUU2rGNG2JjhaiVSthevtt8c+gQcK4c2fqmdTMZiH276cd9rZtfB6cO0eHw1xs9+qK3Nr3cp1NbHoghVg36N6dD5hnnvFq8xzVfkpa1s6dHf9fvTr/X75ctcm6eNGzYxw5otpppdImDtvOYqFdsvLgtxVSHNmmXrvGnOXK/48/7nm9XVGnDve7bFn67dMVly4xBet/jlsPi8EgRPPmdO44ccJx+xmNtFVVtunSJW32cWYzbWEVL3+llClDx6du3YQoWdLarm/WLHr0KzZ/VasKcf689X7Pn6eDmHI9r193rz4WC222lfBc2uLvTwenqChG2rAN7XbsGO2+9fqH25gbNGB/zwyB4MIF2qLv2uX99oULq8J6FjoZ5qjnXkZisVC47NmTg2htfyxdmv1w+XI+j/7rY7Lt0kZubT8pxDpACrGp8M8/qqDkZZzKHNV+I0bwfF9+2fH/7drxfyUaQUCA55q8X37htg0apLqqXdvduiXEE0841vL5+6shtebOtd+ZxULBSXFyiIwU4rffrNe5f58a3H37qN3Yv5+arX//pcDjTChQhLRt2zxrC3exWIQ4fZqa3latrAX3gAAhOnWihufWLavNXPa96dPVl2qVKty/JyQlcR+KRh7gwKZXL8bq1Qp9FosQH33keMDxxBNCxMc7Psbp06pQVqNG6qG2YmM5AFP2rdXUax3OlOLnJ8SrrzK6wtSpVuub27cXW0aPzvj71mgUYsUKarCVejVq5Pl+Ll2iphvgNcnKuLQihz33MoJ79/i8qVbNus9VqsSZkwMHnA6MHvm2SyO5tf1ynWOXJIMRgk4fANCzZ9bbO2YGitNK3ryO/2/dGli9GvjjD/4uWVJ19nKX/fv5Wb26Z9tt3Uq720uX7P+rWZO2nkeO0M7TkX2uTkfnr8aNaR92+DDQtSudHGJigLNn6QSWGsHBtDULD6ejWEAAcOEC/xs2jP8rBAQApUvThq1sWX5GRzver5bkZLbTtm0s27cD165Zr9OkCdC7N52LwsMd7ycxEYE3bgDnzjFHu06nljZtgIULgZdeot1orVrA998DzZrxf5MJuH3bvly9ymtx+DBtkrWYTMCvv9K2unJllooVeT5BQWzv337jvQUAvr50BAsIcFz/kiVpP92oEbBvH52/Vq1yvP7ff/O6njvH/RoMqp1g69aq09/nn7NOX37JZd9/T9tdpU4tWgDjx8NcoQJiV61yeZnShBDA3r20V7Rtx27dPNvX1avA448Dp0/T7nHtWmZMk2Q+Bw7QyXXOHDosAuyvzz5LO+U6dbK2fpJcjxRiJWTtWkYk8POjo8mjgCLEOssZ37498NZbwMGD/J0nj+fH2LOHn24KsTqzGfoRI+gspPW4VejfHyhShA5ekZHAd99Ze4rfvEnv7L17KXgdP24tNJw4waIQEUGnJEDVn5hM9Ao2m+n49uCB48pu2pT6CUVFUaAtU4YCbpkyQIkSdMratYtl3z57wcbXl4JmmzYUXkuWZN3On6cAd+4cBXHNp++1a2ideo3I3bvAM8+4u7Y9efLw+ty5QyeVY8fopOWIwEAKmCkp7E+TJtHpq2NHey//MmU4cGrWDNi4kcLAwoX0tgZ4Tb75hgPOlBS2b2ys6uinCHUAo2G8+y4F3Kee4nHffVeNtgEAcXHAypXQXb6MgNu3uX9fX/aB2Fj2p1u3rEtsLPdhNPK4vr4U2oOD6WDYsaM62Lt+nfUdPdp5W8bGut/u169TgD1xgk6nGzfmbufT7MiDB8D8+RRed+1Sl5cpQ8G1Tx85qJBkGlKIlfBlrGhhX3/90fHqvHGDn86E2LJlKXidOsXffn6e7d9opFYRABo0SH3906fReOhQGLRCpoKvLwWG6tUpCAEMgaR4nN+4AYwbx9BItkJnUBC1cRERfOncu0fB5qOPKAw7CpdksVCzcvs2BZd796j9vXKFGl6AGj2DQdV23runCsnHj1NjGxvLkG07d7o+d61ncaNGbPuTJzmA+PJLfh46pHrNO8Hs6wu9jw8cTOSr2kch7AcIej1fvBERPM9r1yjIARRYu3alFrhECaBgQTX6wdWrjDTw77+s39GjFOYKFWKUgZIlqTGdNQsYNIj7PHMG6NwZeOwxXoMWLayvQa1awLJlDAe2ZAnQrx8wcya11G++qWr3o6N5bRQaNFAjR/TrR6HVYOAxR46kIGmxcBBUqhSwZQu1yP/8Ax8AbQCIV19l1IS7d9X28pTChSlYnjljr1F3RP367u337l1GWjh2jMfYuPHReVZlBy5cACZMAKZPV+9DX1/25f79ObjwdKZKIkkjUoiVAL/8wmmhsDBOET8qpGZOAFAb+803/O7r69n+d+6kBi4mhlPNzhACmDULPq+9hqiEBHW5EkO0Xj0KLCtXAmPHUjh+4gmgVy8Kr198QY2ssm3NmhS4Kldm3NFixdSXS2wshdBFi4ARIyhoTJ1qH1NWr6dAFxFBgUdhxQp+VqxoH4vUloQECqK25exZCnn16lGAqVePx9u0iYLJDz9wHUf4+bE+JUqwFC/+8DOlcGGs2rED7Tt0gK8712rRIpoXxMVRcGvShHGDlRd0hQrAhx8yZJOPg0elTkeBtmBBTuG74vXXKbR2704BH6AQ2aoVBybvvcf/lOM0bw4sWAB06cK4s2vXqvGCQ0M5oFEEWF9f4J13VDMgg4HX1GDgAKxdO3Ug9sIL7M8hIdzfggXA1q0Qe/dCnDkDfUoKtcsKUVHsezEx/IyO5rKAAO7/xg3u+/RpCjkpKTSBcWQG89573M+776rLXnuN9UsNo5Ft8e+/HLht3MgBgiTjOXCAA8l589TQbaVLU3Dt29f181MiyWgyyUY3WyAduxwQF6d6RY8enebdZfv2O3KE+bvbt1cdfVyFElNSvioOQZ4wfDi3e/pp5+tcvmwdSQAQFn9/1SnoqaeYOWnwYHWd8HA6tqxfzzA1yvI6deg0k5pnucXCyAyKY9hjj9k5STnlww+5Td++7raCYy5dEmL2bDr4FC/uWG9auDCv05AhdJD791+XER686ntnzzKygPa4lSsz/Fp6hyYTgs50yvXW6aw9uIsVYypNJd3mtWv2jn21allFExAdO6pRB5KS1Gt68SId0ZSoBb6+Qvz6q9NqGY1GseS334TxzBk6+12/7jy81tmzQgwbpqaxTa1ERPC87t1jprI8edSoDe5gsagplkNC6IiYzcj2zz1PsVj4fGnd2vpatmghxB9/pOu9kevaLpPJre0noxM4QAqxNphMan7pwoXdT5npgmzbfomJ1p7cSgkKYju42k4raLibatNiUdOKTp3q+P8ZM+xijMZrBYNXX1UFCSWSAiDEjz8y5JQizFSpwlSwnoZF+uMPNcZmmTIO05Ha0aoV1//uO/ePYzIx8sGUKRRGtCGolGIwCFG/PiNBrFnjlbe5x33v9m2mpLStS8mSjDiQURiNHEgpx2vfXo3tqwizHTpYp8+0Tcnp48N88baULs3/bUOAARw0OK1SKm1nNPJ4bdpYR12IjGS0iAkT1Ogmzkp4uBDvvMN4uZ5Ehxg2TO0ja9a4v10mkm2fe96wYwejqSjXTa9nyMU9ezLkcLmq7bKA3Np+Uoh1gBRibRgyhA8pf3/vYzXakG3bb+JExy/WunVT37ZmTXX91avdO94ff3D94GB7gezcOesg/IAQ+fMLc+PG6u/Ro1Wh1GymdlDZn1YY79tXiIQEj5rCikOHhChalPuKihJi0ybn65rN1KoBrl9oV69SqP74YyFatqT2zLbd9Xpqjt97j+vahp0ymzlgOHSIGqGFC9mmu3cLceaMw+DmHvW9lSuFKFBAFY4+/JD1UEJT6XRCvP122trWFRaLEG+9pbbHkCFCjBtnnzghb14OHJTQW0rb7d3reL/586vr+fkJMXYs+wjA/UydKsS771KD+8EHDzdz2nanTgnx/vtqkgaltGwpxIIFqtZYCCEGDHB8j3XsqArXSr369xfi5EnH7ZKYyJmBCxes79sZM9Lc7BlFtn3uecL580I895za3oGBjLF85kyGHjZXtF0WklvbT4bYkrhm7lx6wAM01K9bN2vrk9GsX+94uRCpb1utGr39AdXZJzW++IKf/furnrpxcXSMGDNG9RDX6ejRe+AA9Fu3wmIwwPLjj/B54QV1Xz/8oKbATUgAfv+dtqGTJnH/acljX7kynb06dqTXf6tWwOTJ3K8tJ0/SuSYggLaXKSm07zxwgM5GBw6wKA5zWoKCaGNavjy9mBWHnBs3GBXj119po6mUmzetU6c6IiiI9rGlSwOlSkFfogSib9+m7WlkpONt4uNpPzptGn8rKYWV/n/oEB3nZs4Exo9niKuffqLdbnqi0zFCQUQEU6WOGUM7VcUpT7GHvnGDKYS1WCx04KpRg45Te/bQAW/aNNWRKjyc13bGDNqrAtyPdl+Kja0j/vmH9tfaEGH589Om9sUXre2kFRxFZyhVivba+fIxVN2YMcBffzG17fTpDK/VvDnPZ+VKRp9wFJWjTBk6Ff75J8M2hYU5r3tGIATtx7dupQ2wEhnDaAQKFoQ+Xz6UvXcPujt3WL9y5RzbUWdH7t/ntR43jk6NOh0jDIwaRXtviSQ7k0lCdbZAamL/Y9cuNQ3g+++n666zvP22bqXm5/ffhbhzh8uSkoTo3dv5NOeBA673qdUGrVqVeh1271Y1fOfPU8v42WeqFlMpihlAhQpCAMISFia2jhxp3XaXLtlr54oUSTfN+UMSEoTo0UM9xv/+Z29/qtj4Vq3KTFmOUkkqWsyICNo+alOZelOiotg+jRrxuIUK2U+t2xSLjw/X//BDITZsoGZPCKYPVuxvU9O0Ll+uajX1eppzZISN7MmTzKimNROYMoWayC+/5FS6kjnOz0+IF1/k98KFhRg1KtW2sCrh4Uzg8cYbQkyaJMTGjQ+rYTQaxZLff2fK3hYtrLdr00aIxYtTzTgnjhxRzZMAIdq2dWxXu2WLY3MHR/3I2fJKlWiSMXEi95daYghPMZtpGzxtGjOxKbMV7pbAQCHq1aNJ0NSpfCYo/TC7YDZTu63MSAC0j88gswFnZPk7I4eTW9tPmhM4QAqxgkKR8tB64gnX9qBekOXtp50OA+h8YitsffGF9Utp82bX+1y71v11zWYKUMo06vPP025Qe3x/fyG++YYvNkVQKlRIGPfssW+7F16w3tbXV4ibN9PcTA8xGlmPSZMo1NWtqx6rcWPV4Ssx0V4IB2gqUKoU7Tht00wqJTSUWZWqVKFjUv36fFm2bs30lG+/zWnvn36iucbevXRWctWHHjygQ96qVWzLN98U5vbtxQOtbalS/Pysp+OLFXNtNqFw+7Z1f+rQgVmy0kpCArOsNW9uXU9FII2IoINeUpJqOqLXU6gdM8Y6M5czIe+NNyiA/fmnek2nTXNcH5NJpMydK+5obZUNBvbdQ4fcOyeLRYjt2/l9wQLVwax1ayHu3qWQuWoVzSaqVnVc78hIOnvFx9PcAKCt8MqVFFafeca5EyBAk4Xu3ZktbfZsDvTcvV5xcbT5fe89CvHh4fb79/XlPfHKK7wO8+czBfF33wnTsGHibKtWwtywof2gUztAqVWLbbBhQ5amyRV//WVtJlWyJDP6ZUa6YRuy/J2Rw8mt7SeFWAc88kLs3bvqC6RSpfTXXohs0H7ObF/z5uULtW9f2qRq/7PNY2/Lv/+q66aW0/7771Whw1E9KlYU4uhRvgAVx50qVYS4eNG+7RYvVrdT9le8uHftcu4cHcI+/pgv4Y4dKdykpskLCqL2r1AhayG8Th017ae25MnDdn7/fZ7jiRMZo8F0wMP2O36cAlvPntbRG7QCWq1aQgwaRCcWZ174Cj//rLZTyZKpa+4dYbFQqHr1VWsBSaejxnLNGkYUqF/fWrBQrn1qgmu+fNZa7/Bw9rPERHXbo0et63TiBLXrJUo83M4SGEgB+Nw598/NbFZnOhYu5LJly9T+7aiP+fnRqW7DBl6D8uXV/5o1U9tm3Tr74129SuFx+HBqfrUDFEclKop9tXp1CqFt2wrRtSvrPGAAB/OOBmBBQbRdHzKE1+f+fadNYHXvms0cYP36K+2PW7bkfeFo/++84347pwfnzzNailKHsDAOjrJQoM7yd0YOJ7e2n7SJlViTnMyg1AcP0j5t+fLMtyvLDPr3p63hxYv8Xa0a7e9q11ZtR//6S13fxyd1u6/bt9Xv8fHO4yIePw688Qa/K3Z9Oh1fFwoNGzKG54QJ/N2qFTMyhYerWZdu3GASghkz+Nvfn7E1P/uM+1u6lPW4d482lMnJ9kUIBuk/dow2k0qqWEdERjJea8WKDNQvBGNCnjxJG9zp063XT04Gdu/md4OB59S+PeN9Vq2aNhvd9KBECdpi3rnDtgUYW7VmTdo1XrzINtmzB5g4kXapbdowO1a7dvZJLXr3pg1wly7cvn599qmePVOvi8nERAdffcU0wQpFi9K+tF8/64xTmzcD//sf93/mDJdZLIw3HBHBNMJJSdY23q1bA2vW0N506FDa1sbFqRnnEhMZl7dcOdoaz5/PNKGabEsiKgrHW7VCqQkT4Ksk0HAXvZ72sgDPp3Bh2owGBbH/JCXZb2M00t726lXaY//6K22TJ05UM8E9+yyTG9iSPz+36dhRXXbzJjO/HTzIfqsk3bhyhbGR3ckKVrYs7XNr12bCiSpVvLNr1eu5r7JlmRXOaGQs34sX+exZs0aN+xsU5Pn+veHBA9rpf/GFavf60kt8psg4r5KcTCYJ1dmCR1YTazZzKg7g9K8zz+Z0IFu03/79tONTtA3R0UL88IM6Pf311+p/7mg2f/hBXf+33+z/j48X4pNP7LU5YWHqNGS9evaamOeft5oyN27bJm5WrEibTleapfQoej01QfnyUQtWuzY/HZkMONs+Opoa2S5dhHj9ddr9Tp/OaeO9e6kxS2dzFVc87HsXL1rbdT75JGOuCkGN6JdfOj+vyEghXn6Zdpa2GuRbt6z71YABzsPSmc3URJctq64fEEDt8Pr1jrXTsbHU+tpq7Xx92WevXLGLKSwAmkcYjUJ068bfw4apsZ+Vaf2WLbmt8lu5hm3bCjFnjjDeuZO2+9ZotDZFUUpMDK9F9ersW0FB1nXQloAA+ygIfft6FW7tIfHxQhw8SFv5P/6gycDMmUJ8+y1NWIYPF+LzzznbkoapdKfPvevXaebw44/Wyy0WavRTmwVKKxYLYyxrtdWPPeb4HWCxUNt87RpttY8eZf1u3aIJTAaZGmSLd0YOJre2n9TESlTefZeaNR8fYPFiejXnZqpVoyf0li30/D9yhFmqPvuMmlIlbSfgXtYfrZf8rl3UyCnLZ8xg6lBbT+/8+ekpXqwYvbaDg6l1vXxZXWf2bNZTrwdiY+GbkoJoZ3UIDKRGLTiYGqLQUGrSg4IYLcDfnxpEf3+u9+OP1L4YDNRMAszwdPcuv1ss1JIlJLj2Uo+JoVbPaOTvfPn4OymJ+7t1S9XKOkKv5zbVqjEtZfPm7H8Gg/Nt0kD0oUPwefVVtn1QEFPzvviiqh3W6dTsVb6+TMGqaDx9fam9nTqVpWhRagOVTFh58tCDfsQI9qXvvgM2bKBWs3ZttRKbN1MDum8ff+fJQw3pSy9R467l2jXg+++ZZnb/fmutffHivD43bjDb1bBh9CT392d2rzlzuN7584wmoGjb69RhP2/dmtEiAGvNbe3azPb2zDO8NoA6C+ApSUnUds+c6bgf3LzJiAKOeOwxZp77/nveF0lJ9lrbn36iJrtYMUa3yJuX7Wk0si2Ucu+e9W+TiX3PYGBRvmuX7dyZsbNRRiOjL5w6xYxXPXvyPgbYD6tW9W6/Dx7wWl+4wPZVUkPfvs1y5w7bMTaWERS0ES9CQzk7066dek8IwXUePLDuf7bo9byn8uQBnnqKMxS1amX9zIvk0SaThOpswSOpiR0/Xh2Buwh2nl5ku/YzGhmIPW9ea3tB5fuLL6a+j2nTrLUYQlCro8RuBdT4ooCayShvXjoorVqlamULFRLi009pa+fA+9oCCLNWezd5Mu0aJ0/m786dXdf1wQPVm71yZfsEBiYTtVOXLwtx7BgD1K9eTftArUNKu3b0zl64UNUGKv+1akUt0vbt1Ex/+y21f/36cbvq1alRc+ZdHh5O7eiECXQwOXvW06tqj8kkTB9/LCyK7XClSvSWt2XrVtW+WHGeGj9e7RNly1JDriSBUEqVKoyrunYttVVr1qjX2ceHmnijkdo9Zf+hoYxq4Oh5s2cP21zbrkqJiuK9arFQQ6i1682fn5pFk8k6m9eAAWof7NnT2uNc0boOGWJvF/sfHt+3Z87QCcpWa/xfpA23yvvvq9/r1qWWVNEet2ih3jMZVdLRJ8Bh+736Ko8TFua43RMSqOnct4+2wb/9xmfNl1/SOW3QID6fevTgfVWjBvtGRrYJwPs2NJSzEs4ikGiv9+efM6ZveradxG1ya/tJxy4HPHJC7PLlqiAxdmymHDLbtl9iIoVH24fwqFGpbztrlrp+aKj1lHJkJKMdaAVa5UWwbh0FJEWoadKE09TPP+/ZSyU4mN79AKftnWGxUIABOI2b2ovFYuHUqtZpq2pVCuhCUMBTnH6GD6ejmeKsU6FC6kHQU1I4Bb5rF9uhfXvrLFRKMRgYZkpJOOBpBIBr16zMB8x9+9pP8588ybZR7gfbVMD796sC2ahRFDAWLmQ2KltB08eHGY0GDeI11Qqfyvc+feyjSBiNNDHQbqMtISGMtJCSwmszfboqXGsdBZ97jv1ZMRFS+psjgTgwUK3XW285nRJ26761WDgI6NTJeoBSpAgzrXXtat0Wb79NJ0LbaATBwRwEaO+jtm0Z1g3g/aEc78QJ9nnFVEevp/Pbe+9ReJo0iX144UIOxrZupVD4778caO3dy4Harl10INu6lRFGNm5M3aHPA+zaT/vMePNNtv2zz3LwWrq08wgG7pbwcD5zWrRgX37tNd4/vXpZD9IbN2bb7NrFdjlwgGX/futy8iTNf+7ftzd1SUmhwH/lCtdbuZLnonXY0+lYl1mzUg/FllrbSTwit7afFGId8EgJsYcPq9qkxo1pU5cJ4VOydfsdOmQtOAGOU3fasn27/UvE15cvptu3KZhqH+YAowAoMT2Va6CNB+ptCQnhS2vMGNpPrlrFEFnnzgnx1VfquWligDrkzh3asir7LVaM2j/tC0yxHS1QQPXM3rtXFXrz5hXi779Tb79Nm6hp88TWt0IFaiq/+UaIbdsc255aLBQK/9OyW4KCxJ4331T73unTPAdtCk2AtqOO7CznzFEFP63mLDaW4b/69HEcL9RWeOzZk0LmtWusw+bN1MppNao6nbVgGhND++J69Sj0abWQkZG8Vq1bq9toM3PZFmXbPHnY57UCVefODkO0ubxvTSbeJ9rICQA18osX0wtfsWVVwnvdvWu9jzVrWH9ndY6NVTXbK1bY1+HMGQ6ClPWLF2cEhPQkMZEzA9u2OQ5jl5JC7f7ChSyHDlEwXrtWpMyfL/YMHChMgwY5nWXxquTNy/MeN47tcuiQfdsKQcFUm/GvbNmMT9F79y4HWrbZB0uW5L3kpj18tn5n5ABya/u5K8TqhBAiK80ZMpP4+HiEh4cjLi4OYU5soVJSUrBq1Sq0b98evr6+mVzDdCI2lhmGTp2iPeTZs1w+YQIwaFCGHjpbt9+IEcDIkfyuRA04f97aO1yLEMxw9OmnzNSj8NRT9DYvXZq/DxwAqldX/2/WjDZpO3fyt5J9yRZfX+e2iFOn0ut//XraHG7fzvq4Q0AAEB3NqAP58tGOMF8+LjebgUuXGJ3i3j22Q7lyXF+noxd74cJc94svaNc3YwY96RUuXwY6dOB5BwbSs1zrKa5gNjPrz8iR6vnHxNBmUyk1arC/bt+ulpMn7fel1zN6Qp06QIsW/D58OM8DACpUgOnVV3Fqxw6UffAA+gMH7CMydOgAfPIJoxQ4QgjaLf/5J9fZuZPXyJZz5+hBv2kTj++O53tG4+tLO0/FptTfn3a4DRsCBQoAS5bw3FNSeH1nz2ZGL70e8PVFisGAVWvXon2HDup9m5DAaz9hgmo37OdHW8i33mIfef112nUDtFmdPp12kidOMMvctm20G9ZGZrClcGFGJmjRgpEV/v2X56PXq0WnY1m2DPjgA0Y1ABit4Y032H9TUmgLa1u0957WNhrgf/HxvM/Wr+c9oeDvz//NZlVESy98fGifajJZH9MZej3Qty+fRdpoKvfu8T745hvWMyiINvpvvcX6ZxbnztFG+9tvVRv7ypV5/z/5pEu72Wz9zsgB5Nb2c0deAwCpibUhx49qUlLoiQzYx8gMClKzWGUQ2bb9bt60t3OMjnasnY6PZ0SCGjXsNayAfdauixfV/wICHMfFLFPGPumBUipVEqJjx4f2nKaPPrKvk6L9DAmx1tCVLcv/0kvz46j07m2vuYyP5xSw0jbffGP9/5Ur1ppnJT6vO7MBN25QyzZ8OO0+XWkdlexgjv5TbCunTGF9HjygRm/7dmZ0mz2b13nCBEZW+Owz2vYqJg+9elHL7Sw2cN++aW/bwEDPsm5lYLHo9cISFMTp6NBQa02xvz+1xG+8wTZq3lydzdBmaHN1Lno919XpuG1G9tmMLgYD28QmHvRDm2yDgYkXvviC5g4//aTG/XXWDyIi1NmKoCDaln/6Ke3wlfVCQmhOMm4c7eQV7TVAc46MjnaQGvfv0xxHa9LQoIHLmaFs+87IIeTW9pPmBA54JITYQYP44AgIUB+Ib76p2myOG5ehh8+27ffmmzx/rS1a27bW6/zzD8MraQXFwEC2aatW6jKtkHn1quOwRwCFr5deosOToxd2ly60Rzt06OEU8IWmTYUxOdm6Xkaj+rI8fpz2h1qHCyWcUlgYHYZOnOC5rFlDQW3cOAZVr1LF+vi9etFW9ccfOS0/fz5/K8HmFaED4LTmggXWQqjRqGZWAthOJhNtgRVHuuBgTmenBYuFA4VBg6yvja0QFhEhrlerJkyff07hdPx4Ojw1auR+6DBnpVo17k8RaLVT9ACnVB97LPWkBErx96fJRKdO1gkQfH1ptvDdd+yLFSo4D0kli/slKIhmMSVLckBp2x8CAzmoDQ93Lly3akWHRFtBPW9eYerfX/z9zjvCovTPH35Q++/t2+q9FxbGe2b5cqZ83biRfUq5r8xmDrZs7VIHDnR+bqVK0R44OxEbS0dC7f3QqhUHhTZk23dGDiG3tp8UYh2Q64XYn3+2fmgDHJ2bTHTsAmi7duVKhlUhW7TfH39Q2ImKopazYUNVCNTaZSqOLsuW0R5R+2IoV442pkraVa19a9Wq9MjX2qBpiysNk48Phcf9+7nfK1ce2lmamzQRyxYutG+7U6dUwUd5uZ07Rw2p9liFC9Nu8fHHed3ffFOI0aOpzdFGZ1DK55/bt93Jk+qLZ/Jkai21HuedOjGygYLFQvtc5f/HHlPrVLUqIyCkhevXeQ6OMh4VKsTYtjZe7BZX7R8QQHvKunU5Y9GxI51UXnyRwkWfPvyttJe/v3UbGww8L61g6UhwVY7jaLkzoTRPHg6QPvvMehYAoIOdCwE+1ZLRWk+9ns5XYWHUDpYvr7Zx9+508Hr3XTofjRrFAcHXX9PJSVu/oUN5bxw8SFvihQvV6BetWnFg6MiBzdvibF/R0dQ2P/EEs7vZ2nMXK8ZB1V9/CWEyCaPRKM4raYTr1FHv00uXuD3Aup886d194MyeePhw2vJmV65codOZtv169bJ6hmSLd0YOJre2nxRiHZCrhdg9e1QNgSLANm6sPuBsTQu6dcuQamSL9tMmM3BUFE/nF19kkH/t8uee48vTdtpbCZfjrjCQN6/1g7tYMQp72gHE/fvqC65MGWG8etVx261YwXWqVFGXmc3UMmqFCE9f2l26WJuXmEyqYN68ufoiTkqio5pyPmFhqhe9ghICTCkvvUQPf29JSBBi5Ej7BBKFCvHY167RY3rePGrHnDmN+ftTsJ48mSYl7jo3Hj+u7nPhQpokaHPNOyv+/tRATZ2q3odKnzEYGHLrwQP2hdQ81PV6Cj62YZV8fa299ZXlERHZd4reYOBsUJ8+vD+3bWO/un/fepZj0CDr63D/PvuSo6gW6VX8/Djl/b//UYh+4QU1Goi2VKrEQcbevXb9KOU/zbxFp1OdHbdtUx3eFCc7bzCb+axy1F8cOaBlR06fZtQJpX+GhFCxkpSUPd4ZOZjc2n5SiHVArhVib95UvaaVaeYaNaztGB09vDOAbNF+R4+q56j1THcm6AQFUfC4ccN+X0eOMJyPrTDlaorXYFD/r12b4X5sMZmEeOoprhMdLcTJk87bTok60K0bX56HD1tnpCpXzrm9rTulZEnuW9H2hITwpWPLwYPWWZmqV6d39rZtaigu5Xzi4727dhaLEEuWqCYSSlFeerNnU3ivVs3eHrFKFXG0Rw+R8s03XMfWljYiggLK6tXuhQFSpnBjYuxNMWxLSAj70KVLNANQlrdowevVo4e6TKs5LlLEscDkqOh0QlSs6JkNbXAwp8+bNKFG9K23aAP8wQdWmmJLhQpi+4cfCuPt2xTgDx7k1O9ff3HKe9cu9uMzZziAOHuWwtqqVTStmDCB2tJXX+Vxmjen0Jo3r/MBVmAgBdhPP7XWZvfrR1vS9u3t79mwMA5K+vbl/eOpuYVORzvyatWsr0OhQvaCssHAY40ZwzZxxurVD7PsmZTZnUmT1AFjlSqO7yd32LJFHegCNB34/Xe2/fLl3u0zK/n7b+vshWXKiJRly7L+nZGDyRbv3AxACrEOyJVCbEqK6kCj2HmVK2cfhkX7Ys3tQqwQquCnlFdecexYERHhOKTPrVuq45K35ZlnqG2yxWLhFBvAQce2bUIIB2139y6DoDdsqAo8qWnvFJOCTp1UQTA0VIiJE6lNHDpU1Si60m4FB/Pl2auXEIMHMzD9Bx9QUOnUyd5JDuDxFMHx5Zc9v2bbtlk7sSilZk0KHY7qWbo06/Tvv/btZzJRq/766/YCbVQUtVvTp9P85NAhXvN//qHQ8vjj7oUEy5ePx791i/eiEitVp+NUrxJmyGSiFlK7rVa4Sy8NakQE237+fDXVrtLndu2iY5bWtCRvXiG+/14YExIy7r41mWjTrDjrPfmkY/MWV6VgQW732mvUzPbuTWF3wACe08CBHIQ5uz+U6z1xohDff8/+XLGi4/br3Zva99ScYOPieG/8J6xebNJEGC9fVgenAPvDvXuet9nZsxwMKPsJC2O4OEfPk5yG2UxHN02K4au1awujo+QkklTJNu/cdEYKsQ7IlULs4MF8EAQGqiN/JVi9FiUGprZkQF77bNN+FovqoARwKtD2/LUetN26MdaiENScKQKvXm8vQNlqfmy1tAADvds6ZyiMGKEKLgsWPKyv8dgx8c+bbwpT//7UYrkSbPz8OPU/dCi1k3v2qLFcLRa+6JV+sWuX9fG/+Yb/de9Obf3y5aq5SWiod45EOh01LFqPfUeDA0ecOGH94leKbbYgg4Ga4LfeopChtc0VbsQ63biRQpCnApT2HFu2pDCxZg2d+pRpZZOJtrTKtdFqyY4dU7Oopbb/6tUpmGljsjpqh3z5VBvZIkVU7Vb58up9fe8eM4wNG6baniolOprL/9OYZ9h9e/Uq7aoXLWK/e/99Tiu3aEENsaPBUGYWvZ42zhqBSgQEMEPWpEnUwNqaoJw4wdkZjYmWuWtXsXX4cGFRooj4+XkXmzsxkWY0irZdr+cA3FmEjJzMf4MARYtt8fPjbIY3Qv8jTLZ556YzUoh1QK4TYletUh+8ytRg27aOH5y3btlPOa9fn+5VyjbtZzJRK+lIMOrYkd/feovTy1phsWJFVZtTooRqC+tJadDAeb20tqOvvsoXVseOrsNIOSpPP+3cSUTJTKbXC7F0qf3/U6fy/6ee4u9XXuHvQoUo1BqNNMn4/Xc6GT3/PDWkhQt7JuD6+jId6+HDzl/mq1a5J8h88EGqL3KHfS8pidEZSpbkdY2Kopd6gQK0U1SKMqDR9gVHg4iaNZkaVGsuodWy+vioQfg3b3auQdYKUV26MOXorVscgMbEOF+/Qwfrl3xSEts2Lk49h3btaMZie62CgmjzvXKlnTmF2/ft3btMcLBqFQdO2rpcu8aBy4gR1Jrapr51p4SFUSDv0oX97sUXOfAYNIgC8Mcfs09+8QUH8NWrW1+n6GhGo1Du/UKFqFXXRiPIl4+D1rlzVcfN5GTuV5s+WimFCjGBxfvv2ycsKVNGiKVLhWnYMNWhsFw5ZsfylNWrrQcbzZurA+tcjPHgQXFdO8grUEBNuyxJlWzzzk1npBDrgFwlxN66pb4kypThZ548tMlzxvbt1l7egwene7WyTfutXOn8RalMIypC3MGDtFnUTu/mz28dkcCVYOOoKJq4s2f5ffx4NX6vk2Lx8RFmV0JiWJi1YGAwcOr47Fn1vOfNU/+fPNlx2yjhoVq3piZYWX/NGk6r//QTzz0y0rk9o17vmbONwUBhoG1balumTeOns/W1NrZK6dTJZb57q75nsVDQ7NfPc0FKew2KF6fWd+JEa2E7MpJhlBIT1Wlfg4GDixo1nHu9R0VRIPr+e9W+ODiYQrqjQZfS55o1Y0gmrXbfYqGQM3o0tfKO+maxYjQJmT3bpYbL5X1rNgvx55+st609bnAws4BpI1jY9pNixWgS060bp/7HjmUfXLuWkQiuXKGpi/aedMXFi+z3WnOP5s0Z2k0RfJYv5/Jatfg7JYXROJRZk7Awzk7ZYrHQ9veLL9jmjmZZlOdDv348B40JjLlvX3VGxF0uXLBO2VugALOgPSJCnNFoFEt+/12k/PabtclXgwYOQ3JJrMk279x0RgqxDshVQuzTT/NGV7Q2Pj5M75kaZ86o3s7vv5/u1coW7bdypXU4oo4d1Ree9sXn709N5Rdf8CXoSrBxFT/SWXGk1dG+3CtXpv3doEFWGhiLbcimcuWsEyzs22edglOno+Zr2jT1vF0NUBQNft686ks6Jsb5C1tb53r16MSj2FsmJbFPrVxJG2CtiYY3JSCAoa7++cd6uXLdKlSw107duSPEsmXC9Mkn4kKzZsJco4Z9PUaNYqiyw4fpXb59O7WfzgYWoaHUaGsjLFy7RntZrbbMnbBXZcpQ0Fy1itPTy5dTA9+ypeuoEjodNYt16lAz+dZb1ILu2EEbUEdCr9JHP/iAwpGbOLxvr1yhyYHtcYKCHDuXKY5nzz+vRiBwV6D77TdVcHHGrVtsA615RZs2vJa2fPQR/69f33r54cPWjkW9ezsX7u/e5SyFco2URA0OrpUlJETsfustz557RiOfPcrMj8HA80vlpZ3bsOp7SUkcbChtotNxsKC175ZYkS3euRmAFGIdkGuE2F9/VYUK5UGqDa6dGkYjhQRnNptpIEvb7949e+3pZ59RuANoF/vvv/YxYTOy2L70/Pyo2XvwgBqlXr2shFcrTWxwMBMRKDaODx4wWsKKFbTXe+cdx7aWJUuqAdSvXOEU9ZdfUrioVi11YdW2VKtGm0Z3Ig6YTNTmzptHzamyj8BA75yXIiM5Pd6rl2oO4+NDQfeFF6xjALsqv/3GF+TNm/QUHzcu9YgOTz1Fc4hx4/j5/PO0n7S1UXVW8udnX3NlHmBb/P09izQREEATgylTqJFXwq516eLePWM2C3HokDB9840437y5MNerx3q720e0wsavv3p54wp64QMcINiSmEhhTzsweewxbuOI775T11u0yP5/k4kmD0q/KVOGphFazp2zdvzq3p3ZsBISaCYyejQHktHRQjz2mDAePuzZc2/rVjUBDUBN+iNgOuAIh++My5etno0iLIz3YVrC9uVScoTM4gVSiHVArhBiL11SX3KKxu7VV7O6Vg+xa7/jxykATJvmXlgjb9m1yz5wenQ0pxEVLevo0Vw3JUW1Qc2Xz7EQ5EzgKlnSPScdR0UJ6ePvzxekViusEV4tyroVK/JFV7Sod3Ey3QkKr9M5Pn9tOktHmi53UcJURUQI8csvdDxyVhe9ntejRIk0hQyzhIenLeRYVpa8eSk8jxhB84EFCzgw0zoe2ZbSpdnOf/xBLbPSn2wc34QQFFp37+ag5skn7RJFOCzh4dRePvssHQl/+IGmJxcv8l5ShI3gYO9sQYWghhTgLJGWpUutw61Vq8bzdDXVrg1Z5iqxy5YtqpbZ15czDBYLB/jK86FgQbd8B9x+b9y+rTpdAnxGzZz5yJgOOMJl223fbh1iLF8+mqN4G8IvF5LtZRYvkUKsA3K8EGuxcPpMebEoD/VslLHlYfvt2mUdyxTgy2Xz5vQ9oMlEbasiBBYpomqjOnem0K8IpOfOqdspXsSOhJ1ixSjwaj3t01rq1aMNpLtJCZyVsDAK0Z07U9hxVzMYGcmp2vbtHZs5aD3F69dXzRXq1EnbCzY52T77lDb4/6BBvH5Vq1qvU7Ikszv99hunF1u29Eyj6W7R69l+Pj4up4udFj8/766pXs/74ZVX1PNKzWnO15f96IMP2G5NmtiHAQsNVb3m336b1yAhgU563bunmn7XEhDAY7z7Lu9VdyKYGI3qvV68OGcMPOX0aW4fEsLfly9b24kWKkRbbXfqs2aNqiEuVYrmLs64fdt6xqBiRfV+qlLFbZOMVN8bFgvtgLV9+KWXVMeyR5hU285s5oBOmwEvMpIDPW0s9EeUbC2zpAEpxDogxwuxime7MtVnMFCDkY0wJiWJg/36CYuiBdTp6ECkPLzDwtIv7e25c3yRKw+2p59mzm4lsPyoUQyFA1Bg+OYbaoSXLPFcs6nTccpPOwX42GMM25QeaTD1emF6+mnx9+DBImXpUmp//vyTnzt38iUfF2ctUFos1Iwp+xg6lOsdPkzhr08fx6lPbUuVKs5tWRcu9P76pKTQNtJR9IEKFajx0rJvHwcOngTz1wpger24U6yYMDVvnqqw5nXx8aH3u7Yf2BZ/f+cCaWgoBxPPPcf+2rmzqmksXJjt4mnYKb2ex/PGXMNgEKJAAWGuW1ecbdlSpEyeTNvdgwd5L7k7gLlzR0244o2t/cWL3NbXl6YRiobYYOD+PBWMT59WnQNjYuhE6CxjlsVCG1pt+zVoYB9r2wVO3xsmE30VtIO0PHn4TGzThgPb115znBDlEcHtd67RyIGMVtMeEsJn/CNsM5utZZY0IIVYB+RoIfbYMdV8QHlZvP56VtfKmp07hVkb37JzZ1X7efeumuK1V6+0HSchgdo7xakmNJRaDouFo3ZlKtxbQSYszHqa1d+ftpSKVz/AaXFFA27rhORNqVpVpEydKjZ98QWzJmnPdeNGPqgbN6Zdb8WKtIPUevIOG0b7v6FDmQVJG4VCK+x4KugsXOidJnb7dudmFy+8QA2tEHwxrVxJza87IZl0Ol7XmjXpsNepEwU/LwVfj9rDxydjtMHZuQQFUUv/+OO8biNGcPp7wwYKisp1FIKhxZR2OnbMs/5y/br9sevUYfQCb7l82T7TWuXKjGwwZgz79owZPC9Fo630Bz8/Kg3c7PvG69fFpi+/FCmzZ7ONnnmGgqsnA9xmzVin7PbuyWA8fueaTEzmoR0YBATQlOYRJNvKLGnEXSFWJ4QQeESIj49HeHg44uLiEBYW5nCdlJQUrFq1Cu3bt4evr28m19AJKSlAo0bA7t1AnTr89PcHLlwA8ubN2nrt3w9s3AisXw+sWwcAMPn7Q/fVVzC89hqg06nr794N1KvHx86KFUCHDp4dz2IB5s4FPvgAuHSJyxo1AmbNAkqWBC5fBnr1AjZtst+2bl0gJATYtw+4c8f+/8BA4JlngJ49gRkzgF9+4XKdDtixA7h3D2jbFjCbgTx5gDNngLAwYOdOoFMn4Pp113U3GLitu/j5cf937wImk/P19HqeV3y84300aAAEBQGrV1vXpXJl4MAB9+pSrx7w/vtAx448nisuXgQ+/JDXBGD7KY+YcuWA48fZfpMmsb/Mnw8kJLhXj6xCew6erOvry3auUgWIiOB18vfncj8/fl66BPzxB3DokLqPatWAHj2A6tUBHx+1GAzct8XCvpScDGzeDPz5J6+l0ei4PgEB3C452f3zcBedDihQAIiJ4TmdOsX7KyaGfc/fnyUsDIiMdFz8/ICvvgKmT+c+Q0OBzz4DXn+d55wW7t8HFi0Cfv2Vz6mUFOfrVqjAZ9KaNer1qFWLzxSLhf1UKQ8e8J47exY4fRqIjXVdj6Ag3kfFi7NtoqP5GRgILFgALF2qPh8KFQIGDGCJikrb+ecAvH7nCgGsXMm+cucOcORI2vtLDiRbyizpgDvyGgAgU0TqbEKO1cQOH87RZkSEmgq1T5+sqcuZMzSsb9LEXvul0wlznz7ijxkznLffW29x3ZgYhhn68Ud63Kem8di82drAv2hROgopERZWrLDXPiphdmJiOD3ojSZq7FiO+rUamn//ZdxXR2lsAWrMR4xwz2nGnZI/P7Xa/frRhMHR1L+vL7WT/fszBunu3WqKypkzPUumUKoUp5RfecX6GpcvT4cgrW2xwt27nLJ1pBGtVInXZ/ZsNbybsxISwmn2BQuo7Vu1imGlZs+mnXKnTmz30FB1ZsJdjWJqJiTBwZ5HbtAWxTZWr6dNqTPnE7OZYbYaN7bfx2uvpX4PGo0M/+VI2/7fffhQs7hypfVxT52itu/LLxnd4rnnhGjSRFg8cYQLCmL7u5OW15tSuTKn2597Tog33+S5Tp5M7elbbzFebcuW1LLmzcu+7+PDTz8/Fn9/96NIpFNJjIwU5saNGU1DmQUyGPicS82W98IFzqZos8kFBzOurjYOdGrkQAexNL9zLZbcmdHMTbKlzJIOSHMCB+RIIXbnTtW+btQo9SWZ2XmmExP5grV9eEdG0sFowgQhjh1Lvf0SEx3bE+bJwynyQYNou7pyJR/eJ05QgFPWCw2lo4821Io2pI5iL5Unj3uhtEqWdJySVinR0Wr7+/hQUHTmyKO8NKtV8yqagCUmxjrElk5HYd2RI1ZgIKd4P/mEAr4r574NG1J3PhoyRBXgtGlqr12jI5Gt4FyvnhBffcWsYd98Y5WC86FwExhIobpx49SPX6YMw4bZ2v26wmi0ivlp8fERlxo0ECatnXRqpUgR2iZqPeBDQ90XgOrXtzaDqFHDeYD25GQhfv7Zur/5+nJwMnIkf9es6fqc9+1zbo9bqRKviTJQrFTJ7dTSxuRk8ce0aSJl4UIKU61auT8I8/FhnV57jeenTTDRtSsF5g8/pPnTc89RyKte3buIGxlVdDoOwMLDOegtXJjX1WBgOzRowH7yzDN0HP3oIw5kFy8W4uBBYbxzRyxdtEiY3n9fHfCWKsXntyckJNAmWBvFQ6fj1HnPnlRePPkk7bIrVaLdb/78rKOvL++5Tp2YyCGHxJvNdu/cHEZubT8pxDogxwmx16+rL9fnnlO1sGm1KfWU48et7RtbtKDgeOyYXaxZt9rP1obUHYFBp+ML0dYp7Jtv1HX692c7OdtH/vzWmsKCBdXMPmkpQUEUwFPTMgIMhzR5MoUNrc2un59IWbJE/PPmm8Jcq5Zjx6ACBRhObcsWVcuaGlevOg/P1KqVGkNXiYlZrJhjITIuji/XZs2c25EWL672kwoV1Ega2nO3bSNnDlBKpAC9ni/okiUpDPfuTYHotdesHaCCgoRFK0ind1GE8MBAzgBs2aLaZNerR8Fh0SLHsZdjY6lFVCJiAKz7u++qYbBu3lTb4sQJ+32kpFAzbtv2gYEMwfX337xux4+rwuHixe71EeHkvjWb1fBZxYpZC/rOisFAwb5VK3XZmDFqn3rwgAKgcs/7+fH333+rz4KVK+nAM24cnbpefJHt27s32+zLL2mfvmYNbWaPH+fMR5s21m3srAQEcPBSvLjnTnTaEhXFQUfXrsLcvbtI0Gqz27RhKLAdOxiDdts2zkbMmsXsb8OHsw/36MEQgJUr8z71JK1zasXfn7GNL15MvQNcuJBlnv7Z6p2bA8mt7SeFWAfkKCE2KYmjbeXlv26d+pI4dSpz6mAyUdugCH7R0czv7QK3269DB/VhW7MmBfQePTh9WKuW86nK/Pn5ArhyhS97Zb0aNZxPL+v11KRoNUslSvDFMmGC/frh4e45hQUEUGPizHlDu1wJ+dOsmdoG165RIKtTR4jWrYXFVvMVE+M4ckDx4pxmXL/etROIySRE06b29WrShP1p8mRqd7T/5c1LJ6s+fehM9umnnAEYNYpOY506uY5Zaiv06XTsv56YM2TnotOxjRo3Zjsp/e/FF3k9U1LU9j91ivFblWuv9N8xYxx7viuD1JEj1WXXrwvx8cfW+wDY7779lvtJSmKg/DlzVCEuOpp1rFmToZwWLmQEAU/u26NH1eNFR3PZ6dM0AXr+ed5z7mqsP/qIZjnaWYWWLSmACkENs9Ln3SU5mdp7R/2xVCmmuR09mtFIlAgf9+7ZD9KSkvg8OXiQsxYLFnDANnIkr98zz7Cu1atTQ5sZZgoREUKULctr2Ly5velS8eK8H7dsUQX5Cxfo3PThh9Ye/Ip5k6MID0eOqA63UVF8JmYy2eadm0PJre0nhVgH5Bgh1mJRY5SGh/Nl8umn/N29e8YfPymJL0Tl4QZQs3LpUqqbut1+8fGOpyu1L4iSJSlkfvstTQq0wpzBkD7Tkemp+XBUlCn6l15SBbtNmyicfPKJnUd+Qp48wjRwIF8milYvMZF2rU2b2tts+vtzWrF7d0ZsmDmTXuKLFwvxxBP29UmPcGAZ1U7h4RSW8uShmUpoaNpsVAFqS72JUlG8uHvCuqPi62vfznnz0iv+r7+sNV7Jyfx97pxqUpA/P9etXt1e81qwIM13OnemBrhoUff7sMFAe2MHml67+9Zkst527VrH97HJRAHqt9/Y/zp2ZB219TYYrD3Jixal1lorTC5Zwv9q1071GSNMJmpqteHjSpSghnbTJo9CY3mFxSLEjRs02/hvgG8BxP28eYW5Zk0OHCpXpiBZogQHFiVKcHDeqhWvwauv0mxj4kQh5s5l++7dS62ps1mWM2coVGufe0WL8hlpm97XYqHgrrW7joric2jdOva7mTPtB8gBAUwwkYlki3duDia3tp8UYh2QY4TYL7/kA0Wv55SZEGrs0y+/zLjjJiTQ3lTrXBASwgw97oaa8aT9pkxRH65NmqgvPh8faqtsH+ZGI88/LWGO9HpqOCpUSJsAq9PR9tXVFPZrr3Eqeft2vniVlLhBQdbCWb58Qrz5pkjZtEksWbyYbXfyJFNt1q+f8YK2tkRGcto4JobXPrsKvWkpqZ3TDz8wUYDWjjc4mJq6SZMoQJYvT2HbW+emkJC0C+jaohVsunenc9/ChRzMDBpkbWNpMNA04epV5/etdgDkzTPn6lVqMLV19PGhltCRRvDrr7lOt26u93vyJGOrKvssUIDPEW2or4xm3Trr9mzQQBh37cq898atW1RqaJ/TRYrQNMoWi4UacFtTEG3fa9SIswYdOvAapTLblt5ki3duDia3tp8UYh2QI4TY5ctVYe7rr9XlijNIRjxgzGZ6f2tTjRYqRE2h5kXnDh4Frm7WjMey9WgvV856XYuF02aONIueljJl6GDiTTYurVATGek8rmlEhLU9oslEzZNthISaNamFSU4W4u+/hblvX3G7XDlhcWRbq2SWSi+hR/sys9X2+fnx3NJTyErP4o3gGBbm3NzE319tg6ZNrQXCF15Q7Xj/+stxX758WYiGDa33GRXleKbBmT2xq3i1+fLRxrJvXwrXn3xCU5DFi6lt+/tvtY6uohvs329txhMRQYHdbLa+bxMTrY/vDQcPWkcTUUrJkvaxh5OTKWgDQgwe7Hh/FgudxhQ75PBwDnS9yQ7mDWYzZziUFNYAhciZM+3bL7NISOD10wqoTz/tOPB/SgrNj15+WY1qERnJgbKiLEhJcd7HM5Asf+fmcHJr+0kh1gHZXohduVIV6F5+2fpBrzyo0pLH3pbERCGmTrW2nwL4El+yxKtdutV+FgvzsDt6eRsMamra+HhqEbwNj5XexZ3A+A0bqiGo4uI41adkDlIEMEVIKl6cNse9e9vv28eHdngff0ytcWr1Cgyk9jRfPueRAPLk4fRj3rzeJwfIAcWifO/cmZ7czjSv/v7WGcK0wnGdOgzvZbFQswnQvtK2H//2GwdGtn2kdGlOD587R2eenj2dh8SyvY7K76io1O/D2FjV7KdWLfcc/rZssRYwGzcWxuPH1ft29mz1P2dZrhSSkhjNYsMGRmU4fJjT5EqbR0QwocC0adaDvtKlhejShe3s56cOaCdPtj/G3bvq8wLgQMPNdLBp5t49at9Ll1aPbzDQJl1jY5yl74379yn8K/d9ZKQQ06c7nz0zGtk3M9rswk1yqxCWWeTW9pNCrAOytRA7f776En3iCXV6zGxWU6cCdOBICxYLXzrvv29t82cr+Awc6NXu3Wq/n3+2PpY2Re3XX3N6sG1ba02gNyk1H39cTdVboAC1KN7kuXe3tG1L27alSym0aAUSg4GmB0WKUNh0cD7mrl3F3+++K4zr1tFpQztdqC3FizMSw6+/0k5Z+7JSog34+tLGsm9f91LP+vmlX9zPcuVUh7KICIboGjvWWpNerhzbq00bCuuKhi01Ic/X1968IipKiIYNhalbN3HfHTtWnY6mHbNm2QvzNWpwNkTbpp9/zv+efVZdtmOH6ngJ8FpNncrlSkY9X19qC1NSKGj89hv7pDsa7uhoThu74vJlNdxWZCRtJt3FZKI95n8OY5a8ecWmL7/kfauNKmHL/fs0cRoyhINLV+dSrRq1xAqHD3P2wdG6ikOaYj6lsH272n8NBtrduhk2LE1cuMBICFp76ogIPovPn7dbPVsIEnv2sP8q9W3WLPNDMXpBtmi7HExubT8pxDog2wqx06apwtUzz1h7nF+7Zv2w9yaYtcnE1KUDB9K7Vru/IkWoDdRqk/R6evJ6Qartd+aM9TSrIpDo9dZ1UErhwu6HwWnSxNqLt1cvVYPtjoCWycHRbQUrS/HiIikkRNUk2go1L7+senM74uxZVRj84gt6fPftaz+tHRKSulbQVuhr2pRT0Y4SLWjbW0kTGh9PIUZp11GjqDUcN05d/+efObXsSNMeFUVBfs8eCi5aTZi2dOxIx6gDB4Tp3XdFsq2zn63A26ABhVKt0yJAx6Pff3d8f61YwXUqV6btoKKZBThQGTqU0/pz51Jz3qULhcq09ongYIY+69GDArI26P3q1WrEhwIFOH3vDefOPQyLluLvL1J+/926DkJw2nrePF5/R1rtyEjXg5AyZThDoRV4tcKhdmCiRF4xmWg2oSwvUYIDhIzmn384Ja/tN2XK0Ln03j2nm2UbQSIlhTbMygBap+P5pFX5kYFkm7bLoeTW9pNCrAOypRCrDfHUv79jLcOsWeo6c+e6t9+4OL58+/e3d4TSZkVSzlM75T1unNen47L9kpJUwcaVwNSgATVYS5faC03OND/Fi1vb9HpS8ua1FnJ1OgY0VzShrrTAOp3jF7heTwFk4EBOp65caW8j6I5W2JFg/ccf9m1rNqvaz8qVreN0Ahys/O9/nCpeuJCCodY5xduitFvTpgxy37YtndHKl6cmSBvY399fnTZ21Z4AtZw//EBB5tVXOe3sbCDiaLltPwkO5gDRVlMbHMx+5mpweP68WjflWDodwzhVruzZ4MfPj5ra5s0Zpuq11yj8P/kks7Ep8XqdlSpVuK7yu2JFVbi1WBzHqU2N+Hhhbt1aCEBYtH39nXdYP9tBUNGiDME2fTptvRVh2mBgCLbBg3mdHQ14qlShuZDFQs2sElZMKbt3cwCttTHu2TPjA/f//be1vTDAa7RsmVttmu0EiTNneC2059Oxo7VmPJuQ7douh5Fb208KsQ7IVkKsxcIXtPKAGTzY9Yv0s8+4Xng4PVNjY9X/zGa+yJYt4xRYnTr2AlJkJLVyy5Y5zu6kXVcb69JDXLbfkCHOX8716nF688IFpnWdODHj0lraCkzOBOMSJVzbjioJGJzZXFauTMGuXr301fIOG2bfttqIFtr6lSnDqXtPgrqHhKS+vr+/40xizkpq17JIEU6FpocG05Oi1/N8S5akIN67N2MVDx5MQa1KlbSFcgsKstZ6Dxvmejr83DmuFxjIUFhr1zLGZ6NG9lrl8HD2rfr1OYgLCGA7lytHgeW996hBXLKEDju7dnFGZto0ao/ffpv35PbtwvjggThvO8DQ9oHoaA6MnnmGAqYr22vbEh5u3YZDh6rPOotFTQ+tXA/lfgwN5QA+I9m1i/F+tcfv2ZOzGB6QbQWJAweoydcOTlq3ZsIOZ2mRM5ls23Y5hNzaflKIdUC2EWItFgqbykPlk09SNxNITLSeAg0JYTiaOnXsA6ErpVQparHWrXMdFF8IdZvKldN0ag7b7/Zta7te7TmMHEmtQVISp0y91aZmdQkIcM+uU/uyjI6muYNGWHBoSqAIAmXLUihVEkO8/jrNBnr3Tnv98+d3z3bWUdHpaNc6bBjjdy5ZIsSff9K+uUOH7JVeNCNL4cK0+/3wQ2ooT53iANNoVL3vAV4/Z9mRDhzgOvny2f+n2HdnQDG3auWePbGrotfTtrV5cw4Apk5lVj+LhVEEtM+8rl3VuNPz53OZdjAYE8P42BnFjh3WWmC9nveRK3MdF2R7QeLoUZ6fdiDk78/BzuzZWerkle3bLpuTW9tPCrEOyBZCrNnMqWrlQTJ+vPvbpqRwBK0NHK4UX19V8zd7tmfeu1evqvtx11zBCQ/bLzmZ2p+nn3as6SxbloJrQgK1rs5sNENCvHPqSq1ktJY3u5WQEArMttozJb1rWvat09GGtUQJDpwKFKDQXaECtZuppQKNjqZQPm0aNWMrVqjOUbbFUUiw1Iqfn2Otob8/Ha0GDKAQXqiQ+3Fxg4N5bsOHU1t682bqN8ecOaqtYlQUTYls45vu3s3/ixSxXr50qSqAvPUWhZJNm+gw17mzOlDQ6Wgb/uyz1N62bcvBb+nSvP5lylAT16ULNarupEq2LaGhqk1rRAQF9CpV1P+DgqjJTkiwb4Pp09XzCA7mIFYbtsrHR71WtWq5lWDFI7Zvt3ZcMxg4Q3XyZJp2m2MEidOn6WhZtqz1NfXxYWKEkSPZRmmYjfOUHNN22ZTc2n5SiHVAlguxKSmq1kyno6bCGywWhv8ZPZr2jUeOpK5pdcXy5erDbPhw7/cjhDDGx4s9b7whLFovWUcCwPHjFOCdOQr5+nKa1FvBypOp7vQo/v7OzRJ0OgoM7dpR8KlRw9o2MyREiJdeEilLlogN48YJ46JF1hqTbt2ouSpdOn0TH6Q2HazTqVr+PHmoXTxxgtnEPv3Uu7zzRYtSaHz+efv2Cgx0PLgoXNhx9qyoKNcCbfXqPI7SZoUKcTrcVtuv16eenUsR9mrUoLbUWw/5ffus7YRLlqSDm6IJUzSx+fOr22zerJq19OnDe33KlNTtZ5USFsYBxeOPs6SWwcz2GsTECPHcc6zn+fMc6CrrrVrF3//7HzX52uvh68vBydq11gLtP//QDMLRdT5wgOerJBEpUIADG28wmRgibNo0+gZoBW2DgTGA0ymFd44TJCwWOgN+9JFj2/jwcNpqe9v2HpDj2i6bkVvbTwqxDshSIdZi4UNBeYCmUeOZrgwfrj68KlTwLgKCEELs3SssipMHwBfvE0/YC14TJ9prAgDraWd3vefz57fXTGsdcDK7OLOhLV+eL1Lber722kMBJuWvv8QdrYOdJ8XPj8eoV4/CW1qnhps140suPl4VVrV51W/eVLWW339P28uePR0LSLbXPySE182baxQQwClQZ+HHAGEJCaEdqeLoBlAI0973O3e6Np8ICaFjzA8/0E519Wr1OqaVlBQhfvxRdYgC2BaPP06TDIBCsxCMzqAM9J58kgKso0Qd5cuz/T3pL3Xr2mdyUooywClViuY+Fy4wJer69Wq9nZkxOVoeEECBduNGDrwdRZt4+mk1AsCZM2r4sLAw68gMzrh6laYsQ4eyLR0NsgwGzlalk/CqkOMFiTNn2Ne7dbO3S2/QgCYfGaSdzfFtl8Xk1vaTQqwDslSI/e479WX1++/pu++08tRT1g8tR97vqXH79kOhICFPHmH67DMhtm61F2r+9z97DVxkJO2CFaHIVexJHx/ago4aZS0g+fhwitTdl7inGs3g4PQXjPPm5cv02jU1rTBc2MU6K+PGceCRlEQTjs8+oxOOswxVtsWVNvPYMWqBAWpQP/zwYUimVEtUFKNRVKzofJreE9OArl3VutiWUqWEuXp1kWLbd0JCqEFMSGBA/mHD3NNgRkdzpuP6dfbva9fU679oUfrcd/fuUaNtm2wEYHv99Zd6/zRuzHNQniOemoGkh9mIq6JkeatfnwOG/v1p1tC0qfM00TEx1kkMAArIEyfSVGLfPnWAWqkSB/5ff83p8P79OZipX5/abGf26IrZx3vvMU6vhxkI3SVXCRImE00Keve2vm8LF2bUGE2Sh/QgV7VdFpBb208KsQ7IMiF2/37VO/2rr9Jvv+mFohVRwl9Vr+6ZeYLZ/NDD11KypFgxZ44wnjplH5P2lVfsBdSGDfmycqFZ81jYSe/izbFTm6pXshcFB6f93Pz9+RJ3JJiHh7vnLOcqCkOdOunTjv7+tNNs0MB9ATutJbUUuuXK0axl+3br0FXa69imDQeeQ4dyWb58zh2zvOXECQrNWltgpQ+FhXGA6EzzmZOL0vcDAtKeiESvp8nASy/RVOvAgUyz7cytgoS4epWxj7UDkaJFGUEmnci1bZdJ5Nb2c1eI9YEkY7l/H+jRA0hOBp54AnjrrayukTVGI3DmDL/PmgU0bw7s3w988QUwbJh7+1i6FFi1CggIgGnePPgcOgSfNm2AS5fUdSpUAGbP5vEUunYF+vVj+9y44foYQnh0WulKasfW6wGLxXqZ7W9brl7l54MH3tdLITmZxRFxcSypkZTk/L/duz2vk04HhIaq+zYaWcdt29zfR3i4e3V3hdGotrWCjw/QqxfwySdAkSLq8mXL2PenTGFfTUridVyzhiU8HIiMBK5fB155BZg/n9feFRYLkJjIEhcHnD7NcvYscP48cPkycO0a93n/vv22ABAfz+KM8HCgenWgdGkgXz62e1gYP0NDgeBg4Oefgblz1W0MBsBsBgoVApYsgWnvXtz+/nvkPXAAOtu+my8fMGQI8OuvwN9/A3ny8DoWKgSYTCy3bwNXrrBcvcp7/59/gMOHgbt3ndddubdc9T938PMDWrQAOncGmjYFypRhH5Skjfz5gZEjgaFDgXnzgM8+Y/9t1AhYsgRo1iyrayh51MkkoTpbkOmaWK0dbOHCqaeRzAr+/Zf1Cw5mfZW86X5+DEbuDu+8w20GDBDGCxdEvCNvdG/jpPr50XSgf397za47xVtHqCpV0m5XKovrEhFBExBPrpFez6n1ESM4q9Gvn3PbVl9f51ruggU57T1mDKMEzJ1Lh6LTpzltf/++EDNnWjth2ZZixXj8p5+mtrZ+fZoqFCtGm2530sumtUyY4NrJ7MEDmixoNd+KRtfPj86GtiHQlHorDj+Rkdba+O++c3wsJYHBZ59ZO1bqdDRZUrJGJSczZbLtufj40Lzg0CHOBF28SKewdesYUUFp8+3bGe96/HiGENRm6VNKnjy0x580yT172jSSadqw+/epGU3nKX23uXVLTbfs58frmEZyqyYxs8it7SfNCRyQ6ULszJm82Q0G2rdlRxRno5Yt+dtiUYN/16/vnhe24kAzcaKwuOsxnZHFxydrzQ8epRIRQSGuc2cKRI8/rkZiePFFej+/9VbqMXTdSXLQpg2Fm23b6NykFcwMBmFJz+n2kBCa2VSoQIE3MwRSR6VIEeupXCULU1AQIwU4IiWFwl+fPtbOTdWrO7XrtpQqJY716CGMBw8yfJcz+/QmTazTr96+TUetl16yjwgSHc1kCrZCZGysak7z5pscPLRsqW7n78/ttM/pO3fUwUqLFtbmThYLBd9PP6WA5WjAXKkSn3XffivEli05165zxAieT5063jvgppWEBGvb9LFj01SX3CqEZRa5tf2kEOuATBVizWb1xTxqVNr2lVEcPapqwbZuVZdfvKimmnRmw3v6NJ2xzp5V9/Gf5tJjxyRZvCv+/hRwSpemnWmFCvydVttCT47vykkxOZnON9ptypdXBRhPy5AhbjllWcqVs7YtVSJYZJYdrlLCwqgNtM0IZbueOwOugAA6NSkC7dix1m1tsTAc0ptv2s8g5M1L7bWtkB8SwrTIO3cKY3Ky9XPPNmUpQC3p+vU8do8ejFzgqE+0bs1MW44yA1osqjNX2bLWobe2b7dOSxwTQ62vYtd68KA6GHrtNdf9btcuJgJp2tS5pj80lHFzGzemUDZ4MMNxbdvmsc1zpggSFy+qfXjBAve3e/BAiHnz+CyfP5+JHtKa3MBs5uBUactBg7wWZHOrEJZZ5Nb2k0KsAzJdiFU8izMh1p5XKC+qp56y/+/HH9WXp6N822XK8H8bpx/Lf5oeKcimc0lLZARFm9a5Mz27J09Wp2k7d3Y/wL9S8ublC1Gb+tiWlSutta9hYak773lT9Hr2wb59hfmJJ0RCVJSwuBIKFROGsWM57e1oKjqtJTXzCH9/OlEqsVCVbZo2dRyirEwZOocOHMjfFSpQUDOZqMV84w17U5uAAOcDGm2Cgy++EEJonnvXrzPgva3A66qPVKhAIeaPPxwnONAyZYp6vtu32/9vsTCxgzYEX4UKjGWt/Kdc38mTXR9LITaW2uIPPuCgwlkiDUf9vEsX1vnECZdCWqYIEoppWuPG7gmM+/ZxNsRRqLHAQA54Ll5MW50mTFD3OWAA33sekluFsMwit7afFGIdkOnmBEroKlutSXZg3Tr1ZeLI9tViYcpQgC/DEyfU/+7dc/nwN6VnQH5Z7IszTatOp/6nzAIo9o6Rke4Jwo6iFGiPp9dTmNqxgzaO+/YJsXcvA9jfvMkwX1rNI+B5Vih3pu5r1KCwNXq0a7vVQoU4WBs9mrFhHZnHKMKBp8VbkxVbjfCLL3JmQwhmqNJqI5XrERamXoexY4V4+WX7WMrO+oU2ssHjj1NDqqSA9fcX4oMPhLl7d5GQJ4/rAQDArGzdugnx+eccCHli579hg9oHv/zS9bpGI+1ZtefYrBkzmo0Zw98GAzW13mgA4+KYcGXzZmo1v/mGg4HWrZ0LucWKCdG9O8//iSdoAtGkiRDt2glz797iRJcuwvTFF8zMtm0bw7O5WzeLhSYOp08zNvD69QzlNmYMB5paP4O1axm7OC7O8f5PnrQPXVa8OOveqJF1tBJfX5qCpCVj2fTp6r3w0kseC7K5VQjLLHJr+0kh1gGZLsQqo9S2bdO+r/TkyhXVvmzgQOfrxcerMUHz5+d0nhCOnTJkyfjiSAhNzdY0rcXTAYlWCHIkEHmq9U3vc/Hzo+CmZFjLatvp0FBqrffsobb14EHVlt7HhzaQnmafK1uW9p8//8x9K9rmsDBqgFPL2OXoOv3wQ9qmoI8dU4/79NPuC3d37jDGq9bO9dlnKZApv/v1c2y6kBbu36em+LPPKDx722/Dwpg+9/HHKfS2bk2b3qZNKVBWrkzzD3cGmDqdfVY0Hx/2j/r1mV64QAHr/59+moK6VrC0WIRYs8Y6GYhOx8HnkiXehSWbPVsdRPXu7VFGu9wqhLnEC421M3Jr+7krxOqEECJr4iJkPvHx8QgPD0dcXBzCwsIcrpOSkoJVq1ahffv28PX1TdsB9+8HatRgiJvbtwF//7TtL61cvw689x5DYsXFASVKAAcOqKGQnG3TujVw8CDDCy1ezH0oYZf8/Z2Hd5JkPHo9wyWlpGR1TbIc7YMsXYMrFSjAkFyNGzPkUMGCDBs1ZQrw22/W4eF0OooFzn6nJ/7+DF1XsSJQrhwQEcFQVQcP8tlz4oTrfmETGi6+cGEEvfkmfPr0AZ57Dli/nn8EBPB54efnXT3v3QPq1gWOHQMaNgT+/JP79ITz54GPPmLoM4DtWr489ykEUKcOr4U2ZFp68uABsHUrcOQI2yEggMXPD4iPh/nqVZzbtQslgoOhv36dYQsvXvT82gcF8TkbEcESHs6+tm8fw7Qp+PlZhyu0pW1b4PPPGXrNFdu2AaNHM0SiQsGCwIsvshQr5n7d583jfWI2A88+C8yZk3oIOqTzOze7k5jI58a0aQxX5+rd6ya5tf3ckdcAAJkiUmcTMl0TazarUzdff532/aWFq1dpW6aMvMuUUacwUyM2lo5DAEfbWa29yghtWPnyue+8vLWjzYroDtrjBQbS7s9RiLOM0OQGBNA5rlYtpmKtVo0aL1svd4OBU80lS6qOj1lVfH2p8Ro3jlrJ1MLBtW3LTHf16tmbhwDC3LUrn3vJyXTy1Grgw8K8f+4YjWomvYIFmfksLezda2+uopxPnjyO7WwzAYfvjYQEhjBcupSzV3PnUmP5yy80YfjtN5oG7NtH21StNvnvv3ldtdeqdGlGYDh3jtrUBw8YoWLnTu5r6VKa9XjTxidOUOOtjYSh0zHChbMoGI5YtEh97kya5NYmuVWTaIXRyNkMrVnIhAnptOvc2X7SnMABWZKxS0kTGRPD6fms4NIlNeZj4cKcXnJ3uufaNdqvvfii917lsmS/EhZGIej99zm9mS9fjhfiLZpi9Z9ez/uvcmXadCov2fQ4X4OB+65enZET3JmqL1jQWkj09U2fEF7+/pz6/vhjmhEotrX16nGqWbtuo0ZCzJghxKpVbDsfH3G6XTth0TpUadtHG1bLHSwWTk0r+/P1pR11enHsGE2hbJ2WfHxoApCag1k6k27vjb//pumB9pzatqUPQ2aE1EpKYgSDFi2s+9W777p25NQyaRK3CwpiWu1UyK1C2EOWL1ezYgI0/5g+Pd2yyeXW9pNCrAOyRIg1GlVP/hEj0mef7mKxMMpAeLh687jxULHipZeyXDjJ0pKVNpy5qWjbsXRp2jGWKKEu8/fnQKtiRTqCpSUaQ1qKjw8Fo8hIlogICqlFi3qfsENbQkKEmDiRsUrffNM9ode2fgUKUBBWtHQ+Phxkam1WZ82y39bfn7ayBw5QWBo7lsKKrTBvMNAptXFjdZnW8ScpiYPbfft4nPfeoxNo3bq8fkWLWsf9jYmhhi4jiIujU1aVKtbnEBwsxAsvUHObCaT5vXHypLWdr68vtaCKH0JWsGuXtd1sRATfYVeuuN7ObBaieXNu06RJqvafuVUIExYL7zHtfTBxIu+fdCS3tp8UYh2QJUKsEBzZKi+wlSvpDV2qFPO2d+7MqaV0NPQWQghx44b1Q7FWLSHOnPF8P0uXZr0A9AgVk4+PsEREqIJFZsV8zcmlalUhOncWFttwWYGBNIN5/HFrIdrXVx3YpbWkps0NDXXsHJfadfXzowbVUT1DQ4V4/nkOULVCRqlSfL78/LO9g12ZMoyF2rChffgsd4qPD7X3ngjy/v5CDB1qnbQgI9m1y3FWvxYthFi9OkM1mV6/N65do5mHdnbA0yn8jMRiYZ+qXNm6L/TowRk9Z2165ozazyZOdHmIXCmEGY1CvPKK2mavveb5bIbbh8qF7SekEOuQLBNizWb76Tzb0rIlYz+mBytWqDEofXw4GvTAW9SOJUusX5ay5NySXprl9Aij5kiQ8/WlUNq9u3UoIG2xze5VtqwQK1cKY3KyWP/tt8L07rvupyiOjuZsw/jxvE+UcGA+PkzU8PbbFBjbtGFYr8KF0187bzBQWHUVRzdfPg56tbFllfq3bm2/3JMSHCwshQoJY0DAwzjPbpU8eYR47DG+oKdMYSrYDRsoTB4+nPaA+t4QH6/a7/v5WffTypWF+OmndNeECeHFe+PmTSGGD7eOLtK+vZqaN7thMtGuV0k5q5RSpXiPbNxoPz2umNKFhDDcmBNynRB24QIHiwAHJakI8Wkl17Xff+RaIXby5MmiePHiwt/fX9SsWVNs2bLF7W2zTIgVggb3qWltGjRgrMI33uDofMAAlnfe4QNvyhQ6Lty/T+3GuXOchtq9m2F5XnjBOotO5cr8Lz2QYbVyTomJsY6vGRZGjb/S/zp0oD1seiYfMBjoDFWqlOfT7iVKcJp7wQLOIKxbp5oa2Aq6zzzDsEvz59vdT+ZWrcSfX3/NezcuTohWrZwfU7tfg4FtMn48Qw+1bav+17kzbQEtFk6fO5p+15aAgPQxO3BWfH05Vfvkk/bxd23rFRPD58W2bdTavvOOqh2rW5e2ev85CT187iUkcArY0XEBmkDcvZv+M0fpSVwctdgABwc9e1oLizEx1BCfO5duh3T7vXHgAE0/tPGY69ShEJhT2LeP96sSg1opkZFs63nz1D5Sqxb/e+MNp7vLVULYypXqfRkWRgVQBpOr2k9DrhRi582bJ3x9fcWPP/4ojhw5It58800RHBwszrs59ZKlQqwQfIk4etmkd9Hp+NBID41DXBwFBiXxgSyy2BadzrXg5k5/b9SIWZ+0gea1gqaPjxBTp1pPXyqaHs26Fp1OmMuXt7eprVGD2t1y5ayXO6q3wWAt9AQFMU6y7XqFCzvXgGqn8EeOpGB+8CC9y20dJA0Gxylxw8NTj4IQHu44QYW2Xfr0oS38E09wWb16dlpSo9Eo/vzmG2FWtJi2RRlU/JfhK9tz544qyEZEUEM8Zoy1d7heT9vfP/6gYiANuHxvmEy0Ca5f37pNixcXYtgw2u1evZq9BwaOiI9nVIQ+fezvAx8fmvG8+ip/+/o6NWfLFUJYcjLTFivnX7Om5/4nXpIr2s8BuTJObL169VCzZk189913D5dVqFABnTp1wueff57q9pkeJ9aWpCSgZk3g6FGga1fgk08YM27hQuCNN9j9ExMZA1GJ/ykEkJAA3L/PWIn79gFXr3J//v6MFxgUxHiRtWsDLVowZmKePGmv7549QPfuwNmzad+XRCWV2KECgC4sDIiPB8LCGMcxJAT43//YDwD2DbPZ+TECAtjf/PwYT/PWLSA2lstsKVgQaNAAyJuXMX9v3GCs0QsX0nae6Ylez3jFffoAHTsCgYFcPmIEMHIkoNfDUrw49GfOWG/Xvj0wbhzvD4DtV6CA2o7ekicPYz8r5MvHdhOC1/ejj4Bhw5zHVt2xA+jZ0/m91bYt4zn7+fH+//ZbYNQo9gkA8PHh9Xf1+A4K4raAGhNWp2Ns1bJl1fUSEmAeMgS6yZOht1jY16ZPZ5zR/fu5zmOPAVu2sC/9+y/7X3YnPh5o1w7Yvp3xVtesAWrVApYvByZPZrxaLUWK8PzKlQMKF2ac19OngcuX+b+PD1CoENcpUUKNExsUBFNAAHbu24f69erBR69nfO0DB4DVq/m8dyeOs58f61CsGEuRIiyFC/OzaNF0iSuaIZjNwM6dwLJlbN+jR+3XKVkSmDCB76jg4IeLc3yc05MnGRd3zx7+fv114KuvMi0ufI5vPye4Gyc2xwixRqMRQUFBWLhwITp37vxw+Ztvvon9+/dj8+bNdtskJycjWROIPz4+HkWKFMGtW7dcCrHr1q1Dq1atMqRD6HbtgqFpU+gsFpgWL4Z44gnPd3LnDh+gyos8A9AtWADDSy9B50joyWAE0jlYfQaj1Ffo9dD9FzxeuanSch7C1xemuXOBTp2g++03GJ59lscBYHnvPei/+go6sxmW/Pmhe/CAQeXdOKbw84POaITQ62Hp0AGic2fAZIIuORk4dw66WbOgv3lTXd/fn4JNYiJ0ilDkoA2g45F1Dh4pyv+O/nNZV50OCAuDLi5OXebjA5QtC1G2LESJEtDt3An9jh3qdYDaBiIoCJYnnoBo0wa6u3ehW7IE+r/+cv/4cN6eQq8HKleGpU0biCZNIOLj4durl/p/+fIwT54M0aSJ4x3cvAmfli2hc/TCByAKF4alb19YXnyRwlNsLAyvvQb94sUO66ZcV5fnYzDA0qkTRPfuENWqATExMHTpAv2WLQAA0xNPQHz9NYWmEyfg07UrdMePw/zyy0BQECxvv82ED6lx7x70c+Y8FGZEjRoQXbpQmMxM7t2D4amnoN+2DSI0FOYVKyAaNOB/x45BP3Uq9AsWQKdNWJFBCL0eKFwYokyZh4Mg3fXrHPzcvOnWvSEKFoQoXx6iXDmgXDmIQoWAfPkg8ublIDQkJMPPwy1On4Z+5UroVq6EbssW6DQDbuHry/ulbl2IGjWQUrky1p44gVatW+c4IUw3Zw4Mb7wB3f37EFFRMP/wA0THjplah4yWWbKK+Ph4REdH5x4h9sqVKyhUqBC2bduGhg0bPlw+evRo/Pzzzzh+/LjdNiNGjMDIkSPtlv/yyy8ICgrK0Pq6ouJPP6HMkiVIiozEhkmTkJJdHjz/kW/3btQfNSqrq5HhWAk7Dv7PDoK0AGDy8YGPyZTm+qSHYG2LRafDzapVcat8eZRcvx6B/2knhU6HhJgYCJ0OwdevWx3TotMhvmhRCL0eYRcvwmAyOa1vRl4DAeBBvnxIjI6GOSAAPklJ8L97F0HXrzutU2qY/ttPir8/fP8bQJ9v0QJH+vSB8b8HccDNmyi5ciWKr10LX5tBwYXHHkP4uXMIvXwZ+v9e/ALA7YoVcbJrV9yqWBGtX34Z/v8NWAAgOTQUpzp1QqXZs2H28cH2kSMRefw4im7ciNCLF122ofhvYGHR63GuVStcadIEDwoWRFJkJKDTocSKFag6bRouN2yIf957z602iDlwANW//RZBmoEQAJj8/ODzn5C9dupUJObN69b+0oohMRH1P/sM0YcPwxQQgL/ffx83a9SwWsc3Ph4hV64g9NIlhFy+jIDYWCRGR+NBgQJIjI7mACwlBUE3byLqyBFEnTiB+wULQmexwGA0wicxEfqUFPgkJsIvPv5h/zEGB+NC8+Y4164dHuTP71SDrTOZEHD7NoJu3kTgzZv8vHULAbdvI/DWLQTevg0/N2YPTH5+MIaHwxgaiuTwcBjDwmAMC0NinjxIjIlBQkwMEvPmRXJ4+MNBZ0bjk5CAMgsXosySJU4FdWNwMOJKlsT9ggUf1jk5LAzG8HAkRUYiIV8+mD3N8paBRB4/jvK//IK8Bw4AAG5VqoQ9b72FpOjoLK5Z7iEhIQHPPfdc7hNit2/fjgbKSBrAqFGjMHv2bBw7dsxum+yoiQUAJCbCp04d6E6cgKVnT5hnzsyY43iJoXFj6P/+O6urkWtJT2FSqwUG8FAT7On2VssMBogSJYDgYOguXYJOO22u2c7SvTtQoAD0s2dDd+cOlxcsCMuAAbA8/zzNFAAgLo7amPXroV+/HrqTJ1OtQ2YhdDqIokUhWrWCaNgQKFMGIiAAul9+gX7BAuiVqWRlfQDmYcOgP3ECusWLH2qYhK8vtdn/PU6FTgfExDzU8InISIhmzYArV6DftUvdX/nyMD/5JHy+/JK/U9GmOrxeOh2QLx90167BPGgQLF98of55/jwMTz8N/d69EL6+0LmZnlj4+wPFi0MEB3PbPHlg/vxziDZtqIl1JgAdPgzf/wREER4Oy6uvQnf1KvSzZlmtlnLsGKeXM4sHD2Do2hX6DRuojf7mG1j693d/e6MRut9/h/6776Dfvh0AYJ48mfsQApZly5A0eDDCz58HAIiYGFiGDOH/6SV83b0L3fHjwPHj0B07xu/XrkF38yZw/Tp02rS0qSD8/YEiRWCeNQuidu30qV8q6DZsgKFbN2otixWDaNSIsxD//utWvxR580IULw6UKAFRvz4s7dvTrCMz2bsXhpEjoV+9mnXy9YVl2DBY3n8/y0xsHnVNLDLYNjfdSE5OFgaDQSxevNhq+RtvvCEee+wxt/aR5Y5dWnbsUB1Xli7N2GN5ynff0bs9Pb3Xc0PJKRmtFGcl21BUGdkGpUqx37jjTHj+PL3lq1Xz/PjR0YzY0aOH9fKqVYW5ShX7bF3pcf0chRP77DOG0nnvPWsnMEfFUSixRo0YHcBkYqQB7X/lyzPayN9/C/H770xz62zf2igUej1Txmq5f1/NatWli+Ose+HhwuJJ7Fi9ntfhsceYNWviRJ7L4cO8Ntp1HYUja9w4Ax5abpCczKgcSj0GD07dmeriRQb417abjw+jZPzzD5NWaJzhLOHh7BsZFBPUJffuMZX4rl0Ms/jTT8y2+O67rG/DhnRs094HR49mbh3//lvtsxUrCnH5sjDevy82jB8vUqZOZVu//jrv7+bNGWHHVUznSpWEGDKE/T4tYSRTY/duhtzTPhP69RPi7NmMO6abPOqOXcik+qQLdevWFQMGDLBaVqFCBTFkyBC3ts9WQqwQqjdjvnxC3LqV8cfzlNu3hahQIf0FodxU6td37R3uQXGYMtWdoghZQUEMhaZ4oU+eLMSePdaZsdKz+Pgw5NTSpZ69QJKSKFDZ7s+ZkBkTI0S7dm5nt7Io+2ncmCHotPfy0aN86TmLQevpta9Y0f3z0JaAAL6sf/zR/r+yZYX4808hunVzL9mFbbiwN97gvbtrl71HPECh++mnGSbpv2XmHj3E2ilTRMqsWQzSXrasfQil9Ch79qT/c8oTLBYhPvlErU/XrkI8eGC9zs2bHJA99pj1tcyfX81YdeiQep8BwhIYKI537SqM165lzXl5QnIyIwVs3JghMXNT5fBhNUpEkybCmJSU+js3NpZ9Z9EiIUaPZtxy28FlZCT79fffM7TVli2MEJCWc9y61Trknl7PuNHaDHZZjBRicxBKiK3p06eLI0eOiEGDBong4GBxzs14f9lOiE1MVIXEHj0y/njeMmhQxghBOb34+DC8TLt2WXP8kBDXWsAyZVi/QYPU1MdpKWFhDFukCJNvvy3EnDlMPTpzJvOBT53Kl8js2ZxtuHXLOizW5cv2msUGDag58vPjb2dhq5wNFnx8hOjUSaRMmybW/PCDSFm2TBXsxo61788WCwW8Z55RtZTa4qnwFhxMwW/OHCZq8LZ9Y2Icn6O2vV55hdond/qm7bV7/nkOOBIT1bb4+eeH68aWKiWMf/5JAe3oUSFOnKDAsXUrhYfBg6lBzpvX+2QXEREuA99nGnPmqP2tWjXG4J46lQKL7bk99hhjnyYnM7Zsnz6qcGswCPHKK8J47lyuFCQyjJMnH8YsNn31lXdtd/u2EL/8IsSzz6Y+wI2M5GC+WjVqpFu1YnKJ9u0ZC3rwYD6/Tp8WIiGBzzRtYgeDgVr8zNZcu4EUYj3EZDKJadOmiWeffVa0aNFCNG/e3KpkNJMn/5+964ySouiib8LmvAu7wJJzzqBEiSpJkiCC5KRIEBExgIAiCIiSEQUR5FNBEAQJApJBkJxzjkvehU0Tur4fl6K6Z3pmJy7LMvecOrAzPd3V1dVVt169d98MVqBAAebv788qV67MtmzZ4vBvsxyJZQzbFHzQ/PXXzLmmK5BZHXzFO0WKjGQX6tdnkrNuHEWKqE++WaUEBcGKZeneEBODvPcGA7RUiSDCv3q1OMZediy5xmtMDDNNmMBWLFqEd3fqVHyu0TD2xx+CuH7wAfQ55ecJDUVGrooVlZ/XqiUy1cm326OilG1dsSJ0PhnDvXzzjbqurLOlZElk4+J/DxmCSfbQIcYGD1ZaYMPCrN1/ONEKCxPb26mpIKm//YZz1KrluQxkAQG474zufd26pzaMMUmCG8jy5Uj/bStDWeXK2Iq/fBm/u30bizZOfImgO3zqFGMs+xIJr+KxzrMUFMTWz5jhXtsZjUjqMXw4jAovvIBx0ZVdMvm44ueHHYtz5zx33x5Gdu17XtOJ7d+/P/3000/UrFkzyp07N2ksHPy//fZbp5x3MxNPXSfWFrjWZVQUNBh5QExWgdFoW+/SB4+C0ePAnYAAaLZy6PVELkbMu43gYKIiRYgiI4kMBugi3rsHmaCoKOiPMgatyNRUouRkoU/qCHQ6FIOB6McfiXbvJpo9O+PfFSlC9NprRKtXEz1WJ0mNiSG/iRNJ37UrUbduRD//jLaLjoaUkfyemjWDDnLTpkK3cudOaDwuW4Z74vqqHG+9hXMajdBO3bULn0dGEn34Ic5VoQLuZf9+aHyeOUO0Z4/QDX0cBOcVaLUIJJK3f3AwdGEfPIDWtMqQz0JCiKWmQidWo4FUk0YjCpF1MBf/+8EDZRtZQqdDvXjwTlAQ0dtvY8zzlu6pyYSx9ORJ9A15SU62/9vYWGj89u6N83z7LbSGuSJE/fpE48dDj/sxPDZv3L9PtGAB6vjJJ66f51kAY9B+3rCB7pYsSeH795Ofp2UjGYNG9p07RImJKCkpaF+TCd8nJ+Md3b8f77PJBE3e3r2JevTIevOxBZ53nVhylh3HxMSwVatWucitny6ypCUWF8XKnwgWNfn269PGnTvCGuUrmVsyM5AsJkZpZYqMxNabIz6ZtkpwsHUmKlfuidchKgrWL8sgpMhIxurUYZI8yEktE1dAAHzmliyx9oOUJKRoHTmSsR9/xLa75e5D/vzKrXCjEX63anW2l+55wQLXrZ8ajfv9IiICFu9+/eBOcPIkM6SlsXWzZjGJp63W6RBUkzevc301NhbWsF69HPttkSKM9emDrfz9+7GV6yquXGFszhz4EtvbXub31rMnrnvwIMa5CROUAVzh4cq+VqkSsnupjM9uzRt8l6B7d/G+hIYiI1Z2x6VLTHrs0mP67LOnXRtkqDx0yLtBYh6GzxLLGHOGHefJk4c2b95MxeUZX54RZFlLLBHR8ePIJpOWhmwy/fpl3rVt4e5doooVia5efdo18cETCAqCaL7ZLDJF8exhcstvUBAsqrbAs4UVKUJUpw6smMHBKPny4d+FC2EhlaNMGfSlxERYOs+cgUVLRcIrQ2SQ9czmb4oVg6XysYQU5c8Pi/KSJbDEyFGxIiyv8+cTHTmCzzp0IPruOyHan5xM9NJLIluPHFFRyE6ULx/+f+kS0caNtrN0hYUhU9PJk45b3SMj8TycaUO9HlbEVq2QveziRZI2biS2YwfpbEkd+fmJZ8wLEbJaPXigPFarhRXx00+JfvuN6JtvUMcCBdC39uwhOn/e9vPLk4eoaFH0L16iotAm8mI0Covr33/jXzkiItDnSpQQmbhKlIC0l62dpdRUZFxasEBkxNPpkF1t2jRk0FOBS/NGejrR4sVEU6cS7d0rPi9fnuidd4i6dBHtnI1hmj+f9N26IVnMli1EtWs/7So9U/BZYp3E119/zfr168ekrGQtdBBZ1hLLMWUKVuFBQYydPJn517fEvHnCCjF0qLC2PCtSU0+r6HS2/VM9pGTgdnHmGVavDivZ2LEIPuKfR0Qguj49Hf3l8GFYt7iVUX6N5s0Z27wZ//fzU4+at1fXuDhcz9F66/WwojlrSfbzs/5No0aQjuLPtGBBSAVxJCQwVrQovgsOtu1naet6wcGMRUfblhJy5B6CgqC4wM+h18MX1tISnkGRoqPhU1i1qvi8QwfxjNWQmIhnP3Cg8nwlSiBC3NZv+vVTWqTlOwGuFK0W/WrUKAQVOmtN27JFed8REXgu/O+oKMY++UT4P8vg1Lxx/Tos/nFx4twBAQgc2rkza+3EZQIMBgO7XK8e2iF/figR+OAwnndLLDl74latWrGIiAhWqFAh1rx5c9a6dWtFycrI8iTWbMaESYTB9Gl3yjVrrIlrrVpZN4CIl/z57WtrZmbR60EC1aLg5SUigkmPyYrTMlsajeefSUAAIu05sShSBJG5ycmMVamiPDZnThAW+Wfy7dxGjRhr1SpjAm9LaaFECUQh37yJd+TBA6gcPHgAonL8uCKSWLJ0JciVCyS6ShXbJNgRctynj5Ar8/PDopMTjrNnRUBTfLyQ8LKltGCvaLW45549sX2dno6gIrU6R0Z6Z1EZF4fAMn7uqlXR/hlh2DDrc9WoAbm327etj790ibGOHcWxwcGMvf02FtCffw4lgNq1ETxXtSpIap060BDlEeY9ezK2aBGi1V3BqVPon7wOYWFYsKWkoO1nz1aqe/j7g3CuX/+EKGc4b0iSkE2TL3Li43EttbZ5TmAwGNhfv/4qXFl69HjaVXqm4COxTqJbt252S1ZGliexjDF29aqI4v7446dTBzl27BDWHT8/py07WboEBjpm5VKTXLL0aZS3S65c7vmSZtWi00GYnycpyJfPmkCFhjpPqCMjGfviC0SLZ3RsoUKQ1Pn9d6WlzWxmpilTmJGT7ogIkCfL/qrTof5161r7zQYGwud23TpIAM2YYa2oMGiQUuO2bVuQacYgfF6ypP36ly8PtYRt2yCWf/gwfCH59126WC9eP/pIfN+3L6K6a9ZUnjciAs9m2DD4pL79NupZpw60bEuXhh9o+fIghCVLZpykQa3kzw9JorFjcQ+WvsVmM64bHY36yN8DvR6fLVpk7fv677+IKOfHFigABQVvWiXPnwdh4v1Vp4PFXU0CzGTCc5MlNmBE8KF9/31mOH5cfd5IS8Pzslzk1aqFdshmxMMV8DnXuHGjeA/5O+VDhnjqnMVLyJY6se7imSCxjGGCJgJB2LDh6dWDMWhLqk1m3sgGlVWLVpsppFSKiGAPChRgUr58zl8vMhKWwk8/hVUpO7l+6HQIsrH8nGcJe0yIDAYD+2faNCaVLSuOGTQIGrSDBtnWyi1c2FoWqk0bWHjv3YPOrvx59OwJKyxfyBQpgmCQ06cZ49uiauWjj5QZotLTGevUSXw/bpw1aZs+XXw/daryu1OnsL3NhePl9/PZZ0/kn+zi3j3GBg5k0uN7kYhAVNUye9kqgYGwPFeuDFL/4Yd4LteuoXzzjQhc5SUkBIR21ixorzKGe//f/5QBYbVqKV03PIGLFyGbJLeINm+O5+0I/v0XiwSZq4Gk1bLLL73EDIcP45jkZGQykyfVCA0FST50yLP3kxVgNmM3Yvlyxr78Eu5nAwZgTOrSBQGVPXvCjeL77xlbtQoLuORkMeemp4vkIXPmPO07emaQJTiLF+B1Envr1i22bds2tn37dnbr1i1XT5OpeGZILGN4+YkwuT5NcXCeRjKruxBkoyIFB0O31PI7jQaWNVvPonhx+KimpCAbFP/8vfcwab/2GnRHS5cG8fGUPmhGxd8fPqPVquHvgADXLfr58sFiJ3fPiI1lbNw4Zrh/H+9uUhJj/fuL76tXF0RpzRpBiDPq0xoNJt8tW5Tb5FotItp37wbhIwIhsuUL6++P38sJ6oMHyHbGfzt/vvW798cfYhHyxRe231GTibG//wZZsFRuqF6dsW+/zTDDkOHUKXZVLu4eGgqL7qZNIJYDB6ovJDIqGg3qlDMn+lxsrLpyhF6PPpEvH4hr+fLK9mzcmLGNGzNOE2sP16+DfMr7/csvg5S6gvR0qFg0bSreXSIko5D7N+fNiwXIs6o2YDQydusW4jS2bYMF+dtvobncsSPeazeyu0n587OEChWYqV8/sahzMJW8D1mIs3gYXlMnSE5OpgEDBtCCBQtIeqwNqNPpqEuXLjRt2jQKzsLRlFlancASKSlE1asTHTtG9OqrRKtWIeo3szFjBlH//g4fznQ6YoxBb9IHa2i1iPRmDNqazmi/BgQgcttWdDtHdDT0ShcuFJ8tXgxNVDlSU4l++IFo0CDH6+AKtFrolBYqBJ1US83boUNRgoMR+f/BB0It4eOPEc2+YYP1eQMCcO7HSgosLo4Ot2xJpb/5hvxCQoj+/JOoe3dob0ZFQe9z2DCihAREgG/YgO/+/Rdl0yYoJtgbErlubFQU0aJFUDX48Ufbz1GuM/vii9BGLVMGz+fwYeixLllC9Moryt/t3k1Urx7USvr2JZo1y1qnVQ3JyUQrVuDZ//23iLAngjJDs2a4dt26aL/H4ONes6go0g8dSvTff/giMJCoY0eiAQMQ2T9kCOpCBDWV/v2hNHDiBPrl9etQK7CnbuEOtFq8AyVL4vo1axLVqEGUM6ft36SlEU2eTPTll0SPHuGzhg3xLGrVUh7LGNHNm0JT9s4dqCxkAOPq1ZTeuzeFXr8uPtRooHDx3ntELVqgz3gKRiPRtWtQh7h8GRrIkiQ0m/n4otFApSEyEtfnJT0dv+O/v3aNKCkJ/Sc5Ge308CH0oBMTHatTQABRqVJEZcsSxcUJFRBeEhNxHV4uXbKvmfz++0RvvklUufLTmfueEWQZzuJheE2doE+fPqxw4cJs9erVLDExkSUmJrJVq1axIkWKsLfffts1yp1JeKYssYwhsw4Phhk9OvOvf/Om0perZk34Ldra6ra0RAUHeyZzkbfLggWwxsyaBZ9IVyxOmVkiImDZc8ZVIChIPW+9JAkfz7AwbPtm5MrAn7M9S6a/v2MuEVotAq46dGBszBhYJOXfL16Mev7wg/isfHmlSoJFkQoVQiCYJMECW7268phy5aALKsfWrY7tNuTOnXH/CAxEGmki+I8OHqwMauN+u7Gx6s/k6lWxnd+8OSxhriAhARbABg2s382QEMZatsTW7tWrynHPbEb2wEqVlL+pVQuW7CVLROBeRIR4Rpb96sIFWHGHDYPFrm5d+Lqq9du4OKg+uOqmVKwYrjFwICzIEyciIGvYMOWWfvXqcNG6dQvuH1u2wGWjd29Y+C2frV5v32/1zBnG+vZVBhPGxKj3z+LFYWmcMgXjDc+iZgtGI4IpFy9mbMQI9KkXX4RF+2m4CUVEwFWldm3UZfBgtPPixains/1Ukhi7fZsZt2xh+wYMYKb+/dV9yqOjYTH/5BPGli7FO/2cKTjYQ5biLB6E1yyxOXLkoCVLllC9evUUn2/atInat29Pt2/fdp5yZxKeKUssx5w5yBxChExBb72VOdc9fhxWm4sXsZJfsADZkYiItm4latBAaeVRQ2AgMt2sXw+rWFZF3brQyzx6FJZvDq6H6mkULAgLUJEisETs3El04ID9rEdy6HREY8YQVa0Kq5otbU9LhIfDalizJqwgFy/COnLoEPqZo+dxFn5+1ucODnYsq1eDBujz+fIRbd8O65lGAw3a2FhYG//+m2jbNuv2e+EFWJpLlCBq3hz9kAjttm0b+ueNG0S//ko0cSIscHLExcFqSwTd0vPn7T+jQoWg15qUJCzJtWvjWjdvEvXpQ7RypTi+aFFYoDt3hn4qESyYL70E63OZMrAQeyKrVVISLM+rVqHtLO5VKlSIbkdEUI7SpUlHBAvk7duwmN29q3wPKlZE//37b6KzZ/FZ06bIPCjLYmUT9+5hDNm4EUX+znHExsLiyhjanWfLsoRa37IFjQbtnFG/02rxLLm+7MiRSn1YSUJbzpyJ5/m4T9wrUYLCv/yS9K1b41qHDhH9/jvRH39A+1cNUVHQzy1QAJrFsbFo0yNHMAanpdmup78/MsLlz0+UKxfagmdY02rx7/Xr6EO2rKkREciaVaUK/h8aCt3n0FCU6GjoKEdGYgfFC7Cac7/9FlbYwEDck9qzz5EDda5aFTsWNWs+F5q6ashynMVD8JolNigoiB1XcYA/evQoCw4OdvZ0mYpnzhLL8cEHWJH6+UFr09v46y9hkShSRN2fjvvsWlp3Mts64GrJyJLBrWV+fsg+5K6GZUiIug5oWBhkdz77jEnOWq01Gu/qzjrit+rnh6j3EiWc94vjvonffsvY+PGwpBUv7vi9R0QIq1eOHEwKC2OS2nONjhaWSK0WPsHvvAPLmzOarhn1lw8/hHVP7lsaEMDYsWOwIvHP4uOVygA5csB6eOkSAqN4nd3J156WhvPt2gXf2m++QaBNixZ4Xm74MNotzZo5F4iVnAzL5MSJ8N2uUsXags91hVu2hBVQzafW35+xUqXwe7m2q0aDsUztOYeFQe2ieXM8n0WLsPuVlqZe17t3GZs0SWgCy+7ZuHEjW75sme154/ZtWLFHj8b1YmMda8/gYPic9uyJay9Zgva9ccO+f/DFi2I3gAj9rWpVZIRs0wZtxd8VnQ5KOLbu28uwmnPT0kT7LFiA+501C+NwxYrqz9LfH5b+UaOwq2JP1zibIUtyFg/Aa5bYhg0bUkxMDC1YsIACAwOJiCg1NZW6du1K9+7dow1qvmtZBM+kJZYIK/327YmWLsXKfeBAZTabmBhY5xzxmbOHU6dgeeCoXRuZlXLksD72xAmi0qWVn+XJQ+Z33iHtiBGkqEl0NFbT3rL0ZQXo9RhOM7LcarV4Xmlp8D17Fn2H5X6eloiNxfPW6eAnmpgo/PVsIToaWZK6dkV/7tGDaN48fBceDl/SK1dQuE9jVoGlf69eT9S2Ld6ZGTPwmTy72KBBsPqmphLNnUs0ZQqs4nJotURvvw2/3cBAUfR69JmHD0XhvouJibAa37gBK+u9e47VPzqaKGdOkjQaSr99mwIfPCCNvA9HRMAvceBAPNPPPyf63//wXXw86nrlCqx5GzaI59y8OSyYVarg+Z87B9/LS5fw7+nT8D++ehXvTM6cRPXrwzodH4/2OXcO1t7z55V1jouDfy9jGIfU7lWjgSW7Vy+i1q1hsbxzB20VGYn7csSyeP060Y4dsF7/9puwjIaHE3XrhudUqpRr80ZSkrJNLl3CMyxYEM++XDlkF3PGHzQtDVnwvvoK/9dqsQPw+efWfsO3b+O5/vYb2uvff7F7kclQbbvRo4Vlf/du5dyWlgZL9b592MXatMk6q2RwMCy0PXpgBzGrzOVeQJbkLB6A1yyxR44cYfHx8SwmJoY1aNCANWzYkMXExLD4+Hh29OhRFzl35uCZtcQyhohze1mONBpYKMLCYNnJnx+r7apVGXvpJfhijR2LaNqzZ9Wz2bRooTxnuXKwTKhBkuDDZlEPU//+LNFS8ickBD6IJ06oW1F8xXaJi8uamrM9e+JfVyyZ9n4THY3obvlnXMTebIaf9sqVwkrcpw9jP/3E2GefMVOnTux2qVJMypMna7ZZaCgUItq2xTtZrJh3/a/9/TEOVK8Oq9ywYbBorV2LSPPU1Cev85Nx7949WPs6d1b6p+r1sJTv2QP9XG7Fa9oUvrcpKfA1bdhQucvhjqqJvz+s2p9+CnWG+vVdV9QoWJCxbt2QROHCBdtj2vHj8BPu0kU9YUqFCvj+0SPFT7PEvPH330orcb16UNHICH/8YV/9wstQbbuEBDFX7Nhh/wSShB2Q776DmoilP3JcHOTtzp717o08JWSJvucFeM0SSwTL68KFC+nkyZPEGKPSpUtTp06dKIj7dWVRPLOWWI7ERFhvjh+HleLcOaxAnX+E8HuqWhUKCNWrI6J0zx6syu/dQ+R0Sorwa23WDFYgg0GU8ePhYycDCwykR1FRFHbjhvJ61aohYrpqVdv+bT4QIyLSakljz3JpzxKaWfDzgyUrNRX+xKmpeK5yK17u3Og/GakpZARuhXGln2cEf39Y1e7fd87/OVcuWFuNRpS0NGEZ9VQ9g4Nhtff3hxVUp4PlNDISfrJhYfBbDAvDPcTFoc1z5cL/g4LwXFJSRElNxbsbEoLzb95MtHYtmYsUoV0xMVT9/ffJLzQU109Lw+7PtGmwhnEUKwYf5S1b0GaBgfjXmZ0WrRZR540bE1WqhL8vXYI/6LlzRAcPwoLLERhI1KED1CpOnYLawLZtru/uaLXov3q92MUymaz9ZTUaogoVsCvVsSN2BVR2vJ7qvHH9OtHgwVAgIYIv8bffQo3E3d25TIDNtuvZEz78r78O32JHwRjiG377Db+X+383bAjLdKtWeK+yAbI0Z3EDjlpiXSKxzyqeeRKrhvR0a3KZlobBODkZ/z56hC25Y8dQTpzA72zB3x+TXGKiS2TJpNeTnm+xvvgi0a5d+H9kJOR3HA3qedqQbwOHhKDNTCbngknkiI3Fs8iK9y6/1+yK2FiQ1azg1qLRgKCmpuI9dQbR0SB1XFLJsvAxwAUwItI46hpjCY0GhFqScE+2+pNej0Vz3rwg3PKSNy9KXBwWP6tXI+jw6FHxWyLhwlG0KLb1ixeHW8P580R79yKoypU28PfHmFWnDohrjRpwPcgAT2XeMJngsjJiBBZQWi3cA0aPVgaiZXHYbLsjR+BWodXC9aRwYVdOTvTXXwjwXLtW9MnYWMjG9euH9+kZxjPHWRyEoyTWoXDDFStWUJMmTcjPz49WrFhh99jXeAS7D5kDrsHnDMxmRMv+9x/K7t2wfjx8iJeck2FL8OjekBAxWV28aHWYXu4jGBcHS8uBAyCwISH4TO7nZulXSITj/P3t6wh6G3zA690b+qX16imtP86qF3DLEvfXGzoU97h7N87/eNJlRKQJCRHkRq9X6j96A66eN29e7AYULAi/7X/+gRU/s4iijHyzoCDS2NMnlVv2nEVQEKyeOh3ejQcPHF/gxcURtWkDy+Xx4/iMMfhocvz0E3w379/HuZcvJ/rmG/hN6vWIlr9/H79x1N+VIyAAC8fgYLTX7ds2F7EaInXN24AAkO6YGCzErl0TY4ROB6JhNKK+HMHBIB6FC4OMpKRg5+bUKVhaDx60XWetFr+X6QCTvG7+/vD75L66lpAkWOKGDRP+kuXLw5JbpAiuvXcvdp+OHhX91WAAGTYYQG6yGhlMTITv8erV0FzmO14vvIAxpGLFp1o9j6JcOVjq16/HQmXjRucVEvz88F61bg1L/9y5KNevg/x/9RUss4MHY3fBh2cPjvgmaDQalvA4a5RGo7FZtFqtWz4Q3sYz7RObGTCbkUno0iX4hl28iLSUGzfCF8zSP0zu+/rYt0+yPEanQ6pBV30I+/ZVj+rP7CJXXggJgV8cz9bkoWLVdp4szqoYuKtD6ajvYnw8Ispr1UI2soIFrf1ZeTankJAMz2vU65nkqexyefMi0jk1FX53hw5Br7NUKcfajP8dFSXesSNH4J9n2af9/eHz2aMH/NebNYNmr1wVQ6/H335++H9ICDRzX38dfqM//wyf1QsXoIP68KHwfU9OZuz990WdwsPxXt6/z5jRyAx37rC1c+cywx9/IFK/aVMoP1jeY1wcznP9OnwQ5bqeGg3q8+230LpV0/KUJMaOHmVsxQqkZe3eHfrT+fI5nsWN94/AQOjg2ouqT0lBLABXg9DpoAsrr9vDh4z99hva0bIO+fNDD3X7dvU4gsfw+LxhNuMZHjzI2OrVjE2YAB9XS3/y6Gjo4bqTyewpw27bnT4tsvN98olnLmg0QkdaPqfp9fCDthUD4mkYjZhnt22DJvMvv0AD96+/GFu/HuPO7t1QNrl5065WcXblLF71iX1WkS3dCTILZjMsABs2wNp28CBefznKl4cVLrujWDFsMy5YYPsYrRY6kydPWreTs9BocK7ixWH53LYNW2358sFq9Cxj5kxYuuUWlt27saXLkTs3/KkbNEBbJiRgq/niRbjG7NqFNrG3fcx1JQMCEAnO/R+5rit/RjodrDdpadhSHjcO25FLlghNVCLUt2ZNRNJv2ADrJkeuXHhmcr/wWbOIOnWCJe3sWfhX3rjhHf/m+HhYscqVwztpMBCNHYvdFiKiLl1g5Y2JefIT1XEvLQ33dv48IsA3bBDqELlyEU2aRPTGG7CUffst0bp1og516kCF4YUX0NanT6PPHjmCMeLIEdVdHCLC8y5ZEn09MhJtefUqdnPU/Ku1Wli7+a5UZCTq1707LOh37+J3v/wiNGkbNEAGr3LlsOvDkZyMbeclS6ABK3f1iItDpHurVvCtDAhAv0lOJuONG7RzxQqqVa4c6f38hA+zVotnfueOKHfvonD3JO5XbTKhzbnKhK0scCVKQJe3aVO0s7M7cVkMGc65ixbBH1qjgfXZMrudq2AMfXbCBFh5OZo0wS5ZvXqu+RSnpOAZJiTAH/fmTfTfS5eEEgVX5XAGERF4Z3PkwLv4WD86u3IWr/nELliwgN544w0KsHhxDAYD/fbbb9SlSxfXapwJ8JFYD4JveXbvLj5zZns9KgrbjPv2eaN2Tw/duoFY8UCYoCBMVpZEJSQEg1F6+hMfRpaerpQ3sgXufqHRQMaoZk2QvvR0bIvJ083KUaYMfMG2b89cv1C9XhDIrVvxWXw8tqSJQCQmT0bSif/+Q/1nzUKASmgoCJBGQ/TJJ5DdsdxS3LkTCRHcCSALCUHftUeE/fzgGlOvHhYxkgSfRD4BRkXBJceZVMKu1vW99/DcL14UpPDs2YxdJgID0aYBAUJMXqslKSSE7hiNlKNYMdLGxGAiXrQIfSoiguijjyBXtGsXJvjTp3G+du2wPRsSAommb74B+eP9KyIC57LV3woVQoAXL5UqgSzawp07GDP+/Re+srwPuQqtFqlSq1ZFkolXXwWJliS05cqVGOe2bFESWp1OvNvefJd40ocCBYgaNQLBKlLEe9d7CnBozn3nHbhL5MwJA0qePJ6txJ49ILN//CHG6nLlMK5UqYKFLnf1SUrCe87/5RJ3t26BsDoauKzXwxCRLx/+n55uXZKScE05TdNqMWc8dqPJrpzFayRWp9PRjRs3KDY2VvH53bt3KTY2lszeyHDkIfhIrIeRmupelhSdDsRl0ybxmVaLwbpiRURFc384vR5O+F27YrBZtMitqnsNr72GSXjnTvVMRHbAdDpKzJ+fIq5fJ016OlHLlpgoFy2yb82NisKA26gRrr9tG4IWbKFkSQy4zvpWegoaDQbugABYJrhvpdwPmAj+cMuWQVt17lx8VrMmLGoFCiB4Z9AgEAwZGJHQKS5UCJbz9evdt4h7Gn5+WMiUK4fJeelSkOiQEPx95YpyUZgVgu9CQ7EAMRqxaGAM7zH32bYFvR5W4cqVhQZq+fLuB9UcOIBxguvQXr3q/iJCqxUb9g6CaTRkCgwkfWwsaYKD0R5mM0pEBJ4zt6LlyCGC8/z8hNKHnx98feUqE8/BHOTQnJuWhoX6oUNYbGzY4HoGsbt3MTYfPQof9Zs3hXU8IQELJXd3RwICRLBiXJxYiMhLrlzq/tyWMJuFP/zduyDMTZs++Tq7chavkVitVksJCQmU00I4+dChQ1S/fn2697QmRgfgI7FeQGiogngoCIQa+vQBaVmwwPZAUaYMrEtJSbAAzZ6tvN5rr2Eb6M6drCE35SyioxGdbTBgULp3DwOT2uRbsCAmO562Ml8+kU7S1mSt0eA3qanWxEf+t0aD6O7r152PkHcElioUkZGYjOxZO/V6kOzmzUFQc+XC54sWoe8kJWEbrUIFWJQtcL9YMQr95Rfyu3MH6VzlwVPduoHw3LwJF4HVq3EOtWAwjUYkbOD1KlEC/S8pCeQ7JUVIRRUrJgIeecrOqVOFpTBPHrSzHIUKYbHm7w9CuG+fd9IcZyZiYmDZLFkSQVGbNxPt34/voqKQLrlvX8cmb0dw6BBcPpYsEW0XFYUFoEaD4C7+fEND0fdcIbl6PayiZcrAWqzTwQq+e7d1MgZ/fyy2GjRAqV79uSCjrsLhOffMGbxrjx5hV+CHH+wngpAkjJu7d2M+4cTVUv7RFiwXZ3zxXaGC6N9c3i4sDP0jLg5jVnh4psmbZVfO4nESW6lSJdJoNHTo0CEqU6YM6WWrILPZTBcuXKBXX32VFnOtuiwIH4n1AgoWtM44ZAlLolm4MDLpTJiArRI1C5O/PyaMtDSRxz0zodFg4lFTaXjWERoKS5otmbWyZWH1WLECFtsiRYQ/pRyuLiB0OgzyoaE4h1aL61gSaU6yuX9nbCwyDyUkWJ8zd24yjR9Pq8LCqGmdOuS3YgXRp58qJ6ySJXHN/fuV9c6bF9HLLVuiHw4fLtxBYmKw0OCoUQNk9NIlkPIVK+CXqIaSJRGJT4R+1K0brMhcbUKt7YKDhY+kGoKDQdbsSeRxFC0Kv9TgYFhy7t0TWrbJyVg4XbtGdPEisWvXiB4+tL8A5YoBERGYtHPlQhvs3w8rKBH8RWfPxrPiWLeO6IMP4PJABBIwbZqy3UwmtIeldueFC3DX6NgRuxIc//4Ln1a5TnWdOiDIbdtiEUeEBcs778AlgAgLyH79YOU/fRruN48eQcd6+nS0+6FDIEwnTuD5WfruFi4MYvr661CduHKFTOvX042FCynv6dOksVyshISgbpzUVqzoORKfDeDUnLt0KVRQJAm7cnPnira8fRvv7a5d+Pe//5RqGXIULIhxrkwZvP/cSi7/NzgYC6Cffyb6/nuxGOO/79oV7jRlyniiGVxGduUsHs/YNWrUKDZq1Cim0WjYBx988OTvUaNGsbFjx7JffvmFpWfxfMU+dQIvoHp1q+jhY507M1PTptZRxSEhymwqpUszFhkp/g4NzXoZvcLCnI/slxedDtmP/vqLsTlzxLnkEfg6HWNVqjDT+++zwz16MNO0aYx9/rl1fnt5ZHKLFiKzVXQ0nkNcnGfuOSIC2Y0mTxZ1/eUXRM8/7eehVqKjGXvzTWZ65x12tWZNJskjzG09v7JlkcHqv/+so+hNJkTYW7a/ZRsdOGD7vbh9WygQaLW2+3VISMZR+VWrMrZ4MbIYMYb6HjzIWPHijj/LU6fsvsYGg4Gt/OUXZhowwP3noddDaWL0aMbmz0e09d69jI0Zo3zfy5ZFxH3BgngHQkMRhX/5MpRRFi4U40WpUoz9739QNahXT5xDq2WsQwcoR9jDunXKTHAhIYwNGIBsVVy5oGlTRRazJ3j4kLHff2esdWvrvvTWW4yZTGLeSE9HW8+aBbWDHDms2ycykrFWrRibMoWx/fvtqh48D8hwzpUkqF3s3o1x9O23hcpG4cJ4bmrZ1YjwDtety9h772H83bWLsaQk1yq6bx9j/fpZK4uUKsXYZ59B2UBNkcNRSBJjLnCo7MpZHFUnIGdP/NNPP7FUtRf9GYCPxHoBPFXtY1ImFS/Oli9bhsFcPmHxEhDAWIMGQjbFskRF2f5OXooUsf1dVks5Gh7OWK9ejM2dK1IHN2qEtsud+8lxEhFLjYxk5lq1GGvZEoOvfNK1PO/rr4u0pRMm4HmkpkKWZv16xhYsYKx5c/fqzieLfPkw4f/9t/vnfBolIEBJFj//PGNZoosXMWHaIqClS4McnT2Ldpk1C5NlxYq26xERgdSYM2cyduYMJi5JQhrYWbMg4bVoEYjQqFHid2++CXJ3+jSIz86dmJAtF5GhoYzFxqpfOywMx3foAGLbuTOIWdWqTIqI8K7Em6eLTgcCefq042OV0Yi0s+XKifPo9Upy+uqrkOWyhUePGFu1irGhQ4XcW/PmzHDqlPq8YTaDYH/7Ld53tTTD4eGMNWnC2LhxkPKyJxmWDWE15965g9TIn3+ONnNmcV6qFPr2d99hkWk0er7CyclYYDVvrpTAI8I4+dZbjP3wA95hSUIdLl9m7N9/MU6sX8/YP/9AuvLXXxn78EPMBzlyuCQjll05i09iSwU+dwIvoFcvbOl06kRERMZPP6XVp0+j/SpWFOLuRNje5DJF+fMT1aqFbdEdO9S3iJ0BFya/fx/bpGoIC8N2pXx7+FlHXBzaLiAAQS6lSlkfEx+PLfDISGyPqW1F58yJZ6LXw8fPUfcNZxM+uAu9XvibJSU5Hxkud4EoVAjbwTEx2PIND8dWeZEicF/giQFatsT2tasIDcWWdc6c8M3jfr5cTonL8Ny4Icr16yjnz9vuz7agljzEQTAiBCYFB+M9KVkS7xZ3Q7h4Ee3XpAm23Pn7HBaGPij3QZbDzw914tNNfDxcLHg/i40lql8f5zxwAMcXKABf4yNHbEvJlS+PLfoaNXBskSIZJyhgDDKBEyYg4I8Irgpc7qpRI6I//8w4aHXxYrg5mM3EgoPpUNeuVGbyZPKzl87UZMK29MaNUOrYvt06mj0wENJkdetCyuvFF595GS0iQrunpYmo/nv3iI4fJ/OuXXR/2zaKefiQNLdvq/vM63ToMzlzYrs/Z068F6tWoT926gR3kMjIzL2nxEQoWPz+O6TZLN3PwsPx3jjqdtW0qVUq94yQXTmLR31io6Oj6fTp05QjRw6KiooijR2HZV9g13OGbt2I5s9H5pNhw5TtV768CEgiwiT19ttE778vAl4aNgSJWLwYvmbnzyMw48MP8fLfvCkmP8bgnC/3TXqWERqKCap6daLISDLfvUuJf/xBUWfPkkb+WnLiVaoUJn1bRKFoURCA0FDxmSShfR88sD7eVrR7gQLwES1XDoE5S5dmjVS5/v7Cd9Lb4NqhzgS8hYRgIVC4MBZm8jYPCECwDw/mS0hwLRsdH3sdtT34+4NgarUgB8nJzrcfD2rKlQsLoNy5QRrz5AEh+fpr9Mt8+RAsd/o0yOHvv9teMPIgmfBw+BdzIle6NMaI06eJ/vc/0UY5chD174/rrluH89vSpM6ZE36nL78MTdGyZW0H2WzciKxee/dan+O99+DLWrmyUktWjqNHUa/HChnSW2+R9ocfhE9uRjCbcR9bt0JVZOtW6wVkUBDq0bChUG6xF9DkCUgSnh1fTN24IbLF3bmD8ZtH8nOSZjZb20YtUyI7Cn9/+BxXrw5/5YoV1RcVCxbANzUmBgsdud90ZiM5GYvdLVvwHHfvFgYDvR4kPDJS2S7h4bi3SpVQypZ1+h6yK2fxKImdP38+dejQgQICAuinn36yS2K7du3qWo0zAT4S6wW89hpWot9/T9S7t7L9ypSBZUWOI0fgFP/ll9CUlK9chwzBJHjiBKy0GzdaB3oQCeJMJIhYiRII5Ll6FYPZtWs4lz2LVGCgyznmPQp/f6IuXcg4dCjtnzePqh04QNqNG9WtjJUrI5iACPerpj/bqxcsjLVqoS0KFVIe06sXNDbDw4latEDkP28nR2Sc/PwyV2fWSTAi0oSGYsLgk7EjgVBPA/7+QoonVy4QxDx5ULjM0okTSCwgT9NarBjIXo8emCAfPADh27IFwW+cCPXrh+j98HAsCHv3hjKDCh4UKkThVauS9u5dHJuQ4PyuhUYDy21kJKza6ekICuTvmb8/nomjluLAQATO1K6NxVWePPi7ZEkQqs2bYVU9cgTXUdPJzZ0bahf9+qmnZZUkqBuMHQtCadn/tVrox44fD5Kh8nvzxImk+eQT0koSrLP/+59j92cJxkDgt24V92a5SxUdDYMAt0CXLeuY+oEkoZ/cuoVzqv3LdwHsJVvwJDQaYiEhlBwWRsHlypG2QgUs9ipXxoIwI5jNWDRevkw0bx7mhqyCtDTsVOTIgUWglxYe2ZWzeE1i61mGj8R6GIzBOnjqFESiW7dWtl/JkkJ+hm87lywJFwONBluTw4eLAV+rxar6jz+wTTNwINGUKdbXPXwYEc5EQjSfSx/xBdaDB7DoEiH6lOdPl6NOHVh+Zs+2lp7KCq9FSAjql5Agor/liI21L24fGIhVvaXFL08euBXcvw9LR9u2EPtet852NC9HQAC213fvzliVIiPIXRHCwmD9tZcFzdY5YmIw4d67R5JeT1q1yTdfPtw3n8jl+rQZnT9XLvyGW2VLlxYWKUcm+hdegBUtXz4R+cyleKKirK2EjOEdWb2a6KefhEsOzwBlNGKSX7dOkXXrCR48QEKCOXPwd968kBv7/nuQUn9/5I3v0wcWyJ9/hhQVEUlNm5J20SJhzTcYBMmxdHeQ/3vjRuZK3QUEYKegUiVhySpfHv3p7FlYNdetAxGU7yLUrYtxpWVLdZ3RxESMR++/DwIuX7BptWiz0aOV6guEeWPPl19SzdGj8TzPnbNePLoCvvv0zz8omzerux+UKwcylzMnnm9Kiti14f/eves51x+tFmQ6Z0705Zw58XdIiEikwTOohYbi85AQIT/n54e+mzcvGc1m9+bcr74i+vhjJCXYsyfTpK2yCrIrZ/G4OgHHvn372OHDh5/8vXz5ctayZUv28ccf+9QJnjesWCECRu7dY4xZtF+BAmJjSa5WMG+e8jwdOyo3oeRBWytWWF931Sp1p/5Vq8QxW7ZYB7WoRbBqtYzFx4ugGHkdeFCTq8XRADOdTv3zoCDGSpRgrG1bxmrXzvzAGUdUGUJCEIyn9l2+fOqfW7ars4F4ej3607Zt4nkfPcoYEZM0GmbYswdRzB98wFi1aurnj4lh7KWX8L1lPnpvlAoVENk8fDhjH3+MwKChQxHI9eWXjE2axNj06Yy9847yveF9d8gQ5Fo/eFBE7JcrJxQL1PDPP4wVKmT9TOTt9hjGX39lJh6kUrkyY9evOzgIPIbZDDUCIvSbhQsZW70agSvffcfYxIlQA8iTR9TFMigmKAjPJSO1BnulQAEESX31FQKE0tIQSNOhg/I558/P2E8/2Q7u27dPBBRFRiqDLMPDGRs/XhGAxcc9qVgxHDN/vnPt5yiMRgQ9tW+PtrQ1dtgrkZGMFSuGsSUjNRitFtdp1Ah9cMECBKp5cK53e869dUvcx65dHqvXs4Lsylm8pk5QtWpVtmTJEsYYY+fOnWMBAQHszTffZEWLFmWDBg1yqbKZBR+J9TA4sRo27MlHivbLm1cMhuPGQQqJCLInt2+L83z6KT5v1gyTGJEYlGJiIK8ix9Sp+I5PGLxUqSIkTm7dEhJJjRphQrtxQ9SBRxZblkaNxHf58iklwWyV0FD1qGN7JMzys8BAJuXKxUy26qVW/PwYq1HDthRUZCTaRO0egoMFoQgLw/+Dg90n7t4uISGQ/rpxg7H796HG8PiZm2vVYoyImbhSA0diIib+4cMhz+QsSYqKUi6scuaEMkFUlPfaKyAAkfIzZjD24IHyfo4dYyxXLhxXurRtIitJIMVq/aZVK8hGPVaaMRgMbMtXXzGJ95V8+RiTGSscgtnMWOPG+H358tZyVSdOYKyQLxaJEFG+Zo1SnujhQxBf+QIpLs72wshWCQ0FKe/RA9du3Vp5zgoVoDChhitX8P7wd/a993Au/tvChSGr9PAhM1y6xB7IFx/Tp+M5XbuGaHZ3pJeMRpDqL75grGZN24u+0FC8y/LvX3wRhPrQISxM0tOhsNC2rTimRAm0zyefMDZtGmNLloAMXrnineh+C3hkzu3aFffy1lseq9ezguzKWbxGYsPDw9nZs2cZY4x99dVX7OWXX2aMMbZ9+3aWN29eF6qaefCRWA/iyhUMGhqNgmQq2k9udRk7lrGffxZ/t20rzjV0KD4bMADWphdeUA7OjRsrrz14MD4fNMh6Ulu2TBx38CCkbeS6gAsW4Dh/fxBAtcmgWTMl0XFHJ9aJIhGxpNy5mWHjRliS331XXQvUchLr0gWkQf6ZvM69e0O6Z/Ro+9JktopGA9moCRMwkbti/fF2KVKEmStVYoyImYsWfbIzoIr0dEzSc+agD8kXW64UnQ79yd8fBNHy+Wi1uIbl4kWvh0ZqnTqMtWvHWJs2eOZ//QXiYw+nT4sdBDUiazbjufNrjR2L51ehgrIO4eGMvf46M02fztbPmsUMJ06A1BCBENkieLZw44aQ+BoyBOPExImMPX42T0pcnHJnJFcuxn780doy+uABziO32r7+Oiy948fj/y+8gP5fqJDrltz4eOwI9euHPjFkCMaj7t3xjPhxsbE41tl3wM8PVuJatWAV/uADWItHjMD1evRAH3jlFRDPUqUwfqpJ6/FnPmQIdqpOnFAuGC5dAqnjCyy9HtdLTsZYzYm5nx/GhKe8g+qROXfPHtyTv7/9dz8bIrtyFq+R2LCwMHb6sTZfo0aN2OTJkxljjF26dIkFBga6UNXMg4/EehDTpmHQqFlT8bGi/eQEbNIkTFB8giRi7M8/8SMuoj97Nv5OT8cEIh+0d+wQF3nlFXw2YwYIgPy4cuXs639KknBtqF1bbIFmtRIVhe3uV17B1mHDhkqLq6X1NTzceutYLu4eFoa2UhNft1fk19HrMcn/+quYxDnxql3bs1ZJjQbXjokBwcmTB8THmWQYhQqBMPTvL8iAvG9cvChInVaL3YIzZ0DUOeEMCgIBc9e9pFgxEK533wXBsHQZCAxEXdescdz6ZUlkb94U99Wwobivn35S/u7wYVglVayaUoECsGaVLCmeuaX7jz2kp2PhyK8tbzO9HgvEJUtwj5KEMaBoUXFM9erqiQsuXEC9+HH+/ljMynd05DCbGVu+HK4F8t0NjcbajcEDRaGxW6IE+ktMjOcWfKGh0I7+7js8X0dw+LDSjStnTvEe5MgBreEsAI/NuVz/d+5cz1TsGUF25SxeI7H169dnXbp0YQsWLGB+fn7szJkzjDHGNm/ezAoUKOBSZTMLPhLrISQnC8I0aZLiK0X7vfqqGED5RHrwoLBUhYVhm4z/bSlcPmuW+H25cvjMZBJb94sWiYlJPuA/dnexiUuXxGA+ezaIg7vWOEdImTfPz4ulFUrNKhUWJj7v1Uu0Z+7cykl3zBhktBoxQmlJCw4GMTx4UNmu8+dbX6tkSRBd+RYyJxH2LNxRUaI/PHqEbduVK7F46tNHuJ1otchoVacOk4oXZ+aMSINej+sGBIhnwi2l1aphwfDxx4yNHAm/Sf47fr2gIGzRc5JHhDarXh0kq317JQG0dY+lSiHZwBtvWLvFRERgp+L779HGFy/CdUJtcXbmjCCypUrB2srbOiiIsd9+s/0emM0gMp9/zsx16jCzPd/grl2tRfgNBljAvvsOVt/KldXddOrWxTF37qjXIz0d4wjvh3o9XIzUkurs3y9cFohwr598wtjdu7bv88EDEGvLhQMv9esrCX358owNHIjzfvEFLMnTp8Niyhd1UVEQ439s1ZTCwpiBf7d2rbi2JME14uJFtPXixYx98w0IeNeuWBQOGwa/6KlTsWD44w/4M+/bh0Qat2+7t62/bJnSohsTg+xXWQQem3O//BL3Z7lzl82RXTmL10jsoUOHWNmyZVl4eDgbNWrUk8/79+/P3nzzTedrmonwkVgP4cMPMVjky2eVwk/Rfv36iYFTTizl1k8+AdeqpX4tuUV24sQnATwsJESQ3IYNMenw48qUydgHjadUjYiAr1hKCrZcnfFJfVaKVotnxUlbTAxcEIhAoN57D/+3tJqpnUvePrlyoS98/jksXmrH8yCihARknbJ3/oIFldmmNBr1rG9PswQGwq86Z04QGUurXp48Ii1l5cqwrjZtCoJcpIht32l/fxCkjEh4QADOnysXtuOLFME7ZLlIypsXz2XtWmw328tC9fi9Xfnbb8y4ciW2qS3dDohQtxo1GHvtNRBTW1vdUVGCyBcqlHFmNI5r1+Czys+TPz9jX38NAm+JdevEtjjvl/nzo01y5bL2u82odO+O8Ur+jowda52i9MQJ5Q5HgwZPsqY9WUC98YZj95sZePBAmS6a319EBMh0FgjG9tice+6cGO/4rsRzgOzKWbxGYm0hNTU1yzeij8R6AFeviolWRTlA0X6TJonBc/hwcZDRaJ2ac+ZM9etJkvDj1GhEKs4qVWC14APy+vXKoIuMrLEmEyx4RPBF49faudO5aPWnSXrLlUNaVDV1AJ1OeR+VKzO2ebPSd9YR63BEBFxGypfPuF00GmwNy4lY48ZKEvLnn84TDCL8plIlkJzevWEVGzYMgVqPjzGXKsWOduoktnbnzmVs61Y805498ZmcRAYHg4xmx4WLWomORp9p0QILl2+/RRrMW7fUx72bN7GDYs+POjAQJG7YMASKnT8vrI+8rRcvznBYUWDpUkU6ZhYSwlinTtgZWLQIz/Onnxjr2xck2VO7HBoN/FH5wpq32RdfKIPr0tPxGXdtCQxkkmUb/fOPc/fsDdy+LcbE0FDsZOzapRx7ixXDO+lO4Jmb8Oicy9MwT5/u/rmeEWRXzuJ1Ert37172888/s4ULF7J9+/a5eppMhY/EegBz5mCQKFpUNce3ov1OnRLEJyQEW8KMwQJgOfG0aGF7S/DyZUE0OEF6/XVMlI8j0pm/Pyx93DIWHo7tTnvYv1+cr0oVbLPzAd+dydBWYIkD/pwGV4LIIiJgAczotxoNtpwtrYE6nbLOM2aAjCQkwIJ34wZjJ08i2Oz99xkrW9a2IoKtEhYGPzxHfAT1eqWVjZeePa0tY4yBPD2uz8M8eZj55ZdxfN++4phjx5QkvFMnYYWSJLgsXLqEPrFuHbZ7eV3LloWLgXyRxAlO5coILCpUSP25h4bCNWDmTAQj/f47Fn+rVsFnc/FikO2PP0afrlTJtvU5MBDP2h0JKhtFCgxkKTExzFynDu59wgS4R8gt4/L+YvlZ3brWW9SffYbvChVSHSvsIiUFY03Zsu7dW0AAdgkmTcKuwObNeL4rVzK2aRP8RpcsUbo+EYHIcgUI3n/79sUWP8epU4pFVBofP/izeuxq51WYTOiz06bBPYFbva9eFW2XMydjBw4ofzNnjpAQI4K//O+/ZzxmegEenXO/+Qb3U7u2++d6RpBdOYvXSGxCQgKrV68e02g0LCoqikVGRjKNRsMaNGjAbt265XKFMwM+EusBjB0rBr7YWGwnb936xGfLqv24tZQIRGPGDEFgGzdWyj/FxcGHT80q8OOPykmmTx98npKilIuRl9hYnM/WVmpCAkhdRhOhM4Eg7dvbJ2qTJsH1oWZNm8eYy5XDNrR8UszsEhzs2H27snVrr8iD0ziRlUt/FS4MP0xLHDzIpMc+rBK3TPOgwyVLhE8rP4etLe7UVLi78Ot17Kic2A8fBgGWW29z5gTxW71a+HdHRSmj2nPlguUzg239J7h0ibFffsEWNw9YsSx8e3/GDCga/PwzJvEXXxTHREZix6FUKdTTnaCmgABxf3o9gsks/WDfeANBWIxhYcAtqpayZ45CkhjbuBGWzy5d8Ezj40FSPvgAz/bcOTw3kwnjBO+POXMq/VMzwqlTeDfl/TkiwlqirnJluDJdvoz6zZvHJC7dJy+BgXgunkRiImMbNqCPNm5sPUYcOQKizhcfefIwdvy4+rmSkrB4ki+uc+eGD/yVK56ttx14dM69eBH3odFkijxYVkB25SxeI7Ht27dnVapUYcdlL8axY8dY1apVWYcOHZyvaSbCR2I9gLQ0RHFbBkJFRDDWty8zHD+ubL/EROUgySfB1q3x/alT1gNxjRqM/fuv8rqSxFjz5uKYqCgh7WUyIXhh+HAEEVn66gUHY8AfPRrBMh99hIneckK3Zyl1ZcvSm8FcGo21lFN0NCZ4Z62kjlwrLAyTeaFC8HeUW3FsFWeTGPAiV5zgz6RuXRF8ExYGyTALGC5cYInyYKy4OKEfSQTSxa2xx45Z968//lCS6H79bJPdmzexvS3fera878WLGfvhB2VAUXw8AgkdRWKi8h6IrN06QkOxC7FihbAuL18u3EwCA/FeLFoEYpmWBuv64cNQmhg8mJmrVGFGW5Z8Z5+jRoMFyDffwM2ACGTaksAbjSBYixbBPWD5clhHjx51b3v71CmlT+9HHzlHaO7fB+mWP9uAAGy9W7qeFCjAWOfOzDhhArtSqxaT1N69+vVtqyjYQ1oaAiunTweBL1VKfUwJD4cl+fPPQUD5Irp8eRD8jHDlCsZO+Tut1WLMnD8fO15ehEfn3PR0cQ/PidRWduUsXtWJ/e+//6w+3717N4uIiHD2dJkKH4n1IAwGbD917KiwcklaLbtSuzYz7N2LABAiQSrlxHfKFHGugwfFOeSD9FtvKR30r15Vfl+ggHBRYAxbtEOGeC67FQ/QkZfXXoMfqrNSVZbF398x/dnAQNyzmv5lkSLqRPyllzBxyrdDbZETuZUvKspal1ajsb99nTcvZMA+/hiWw9Wr8QwsLVN+fli4NGyoJGE6nXqwU9my1oubqCgx0QYHw71B0SUNbNXPPz/Ri1XcQ40asNjzoJzu3TE5JySAaMo1gyMjQQoaNQIRqFsXC6i2bWEh79oVUlnDhmFh1LOntasBEUj/4sUgjrNnK9UO+vbNmBxs2CCsuRoNrjt1KhaRnTqhbpbPxt8fZL1bNxwnD0IiQtvny4e6qFhlJZ0O7hF9+6IPyQlsRATe9ylT8Czliz5HXBxiYxHg1qQJSK69/t+2rXuWtNRUZWBp797OE+P0dFi3Lf33y5dHu6rsuEg5c6LvWratTgctWFsKDTdvws1h4kSMe+XL2/bVzp8fi5bp0zF2mkw4B48XIMI5MtIaVrvf335TZifj71rHjurSZx6Ax+dc3q8clSJ7xpFdOYvXSGxoaCg7IPeveYz9+/ezsLAwZ0+XqfCRWC/BZMKWn1yTMKMSHCx0YhmDZYwnR9DpBFmNjIQ/ockkkiLIS1gYLFvcF8rREh0NP9zp0+EfJrfy8jJunLX2Ko+2v3tXTGKesLj6+4NAuHsetRIXZz+jmCfSrgYFgaB+8QXa6MEDLHI6dcL3RYqIyXbZMvGcZfevSgTj4mz7iAYHK7ZKDQYD+/P335lJrlRBlGnJKp70BUtClycP2uXCBQSk8c8LF1ZalCUJpPrvv5ULMb0+8zOpRUYiSKZ1ayxS5L6xAQFYzH3xhVJ6LSAAxzmzExAUBNL88sv4t2RJQd66d3c/4OiXX0Tb2QoezQiShEAty/GtUSOMO8OHM3Pduo5n24uJgZZs2bJYcNjb1YiJAen/7DO4JtjKziZ32/r6a/fb7exZLNDkGr5aLdy47KU6dgEen3N5X/US6c5qyK6cxWsk9rXXXmN169Zl165de/LZ1atX2UsvvcRatWrlfE0zET4S630Y/vuP3bPUvbTc3i9dWvz/44+FxeXmTUxm/Dt51L08+pf7wMpJJLd8tGmDQJlFi5TXLVAAZHXDBvVtpuHDrUlP584gq3KL5sSJYoKwTMhgSQK8EfUeEmKfkMqjuqtWRUAWY9gi/eQTpW+oveIoabIUtJeTk1dewbYsry/XLN27F3/nzAl/ap68gtfZHuksWFD5fVDQE71aw9697L48C5S8FC4MS6ba9j+/j7g4kLJXX0X0/pw58KlctAjW2pkzIc3GMy0NHgwLX7t2jj1rnQ7WzWHDlJbqQoVAFjI6R3Q0XC26dEHf++QTLLRmzEAmurlzYUGtUMHaEsglqGrVgqWtYkWcq1kzxlq2ZOZWrdit8uWf+BV7rVjeY7lyaFu5q8GyZcICPHSo+4PS+PE4l14Pf1F3cPQoFmZyC3WdOsz4119sxeLFzLh5M/xlBwxw/F3j7xtPiPHFF3ANuXjRMTK6bp1YiH7yiXv3ZwlJgqJBu3airmFhaFM1HV8X4PE5l48B8gQ52RjZlbN4jcRevnyZVapUifn5+bHChQuzIkWKMD8/P1a5cmV2JROdwV2Bj8R6HwaDgf25dCkzq1nVeJk1S2mRatBArO7NZpAEuZVObin098dWGbdeyMlAdDRj8uBCS/H99u3VJ4XDhwXRkgfjlCoFkmC5Nf7SS9jKPnZMmTpTXrgFV6Nxn8yqSWjxc9v6DZ9kLV0uUlKgMOCMZS80FFaoP/5Am/bqhe1UtXNotbYtuzlygBTeuCE+u3sXz+T770VATUYqDm+8gf4jT1bQpMkTS7YUEmLd5mp1DQkBWfjgA2z7u/rO83TKOXLA/7JePWXKZVdKSAgWazNmwE80IcE561p6OiLwu3SxdouJjoaVc+1a9YDMlBT0maVLsQjp2xdWx4IFsaDLm9d6YRodDcuivK/mzYuo+aVL1a2zciIYHY224xH98kDO8eNdey4ckiQ0inPk8Mw289mzsErKFgv3ixRhxkWLhB/1oUPiHqdMwf1Z9u3AQASTOeK/qfb8Dx4UbjcdO3pXKmvbNqVqSL58GA/4DouL8Picy12knE2Z/Iwiu3IWr0tsrV+/nk2dOpVNmTKFrV+/3tXTZCp8JNb7ULSfZUCKvEyahKASPhnGxysjif/7D2kWXdlGjYjApLVokdLKR4Qtsr17Mfh++ilcCvhElAX0QiUiJln625Ypg0nuq6/UJY8yKoGB2Fb96Sdlm2a07Wvp3mA5KSQlgWCNG4ftZUf9hDUace6RI7HNnp6OIJSXXrL9O/nzeekl+JlaBB2ZMwpCqlMHpEztu/bt4eKyejUs9lu3IsBw3z6QhYMH8ff69Tjuu+/g5+gpdwV/f1i8vvsOdfj7b2iiHj+ORACujknp6XC56dXL+hnlzMlYv37MuHkzW/7HH46Pe5IEUtOtm9J9Qq9HG8u3yOPjRfKDDh3gNmCvHV58EQvdzz8Xn7mr+5mcLFwfypTBQsoTuHqVscGDlQFdFSpg61+SkNmOCLtPBgPIr9oCv2RJWDwtkZoKt5wWLUBS5dizR7RzvXrOy5i5ArMZY6c8w1nRougHkydjce9kIJjH51yuzrFsmWfOl8WRXTmLV0js4sWLWceOHVm7du3YbJ7n/hmCj8R6H1bt9+efSvcBueVy1Chsz5UoIT7r1QsR2RwXLmBL0dKa5OcnCExAgG1rpRoZy6hkdC65BTAy0rbPpl4v9EE//VT5Xe3aINPvvGPbPUCemOCllzAppqdjQreVQtPR0r07IqblAU1qJN5yEWEPkoRUsT//DHLauTO2rzMKMOMlNhZEo0oVz8p2Pe3Fiad8WkNCsAj57jvIO7kCoxH+6++8Y0Vok3PmZKYhQ5SWe0fw8CFj//sfrLX8fEFBIF5y9xYiENh790D+5s9HH7E8hhd/f2V6X3fnnEuXRF8sUkRIgXkAhuvX2cl27Zgkf5dr1ICln7fz11/j4NRUtL/8Pvm/P/2E92jHDiy25GNLQIAYG//4QyweKlTI/Ej8lBRYyNWCX/384Dbz1VfQp83AOuzxOZf3w4ULPXO+LI7sylk8TmJnz57NNBoNK168OCtfvjzTarXso48+cruimQkfifU+VNtPkrC1tns3tp7GjBED3pAhmATl/qX58sEKJUdyMn4n38Zs0AD/BgYidezNmwgu4t9HRNiXBwoKwgTaqBEmj337EJC0cqX1sXFx6tvkcXHYcu3cGX9bkhUurWM0Wvspzp+P7x49YmzmTCapaXjKJ/gXXxRblUYjiIN8kne0hIdDYeG//+B+wQlj7tyw9tj77aVLrnWMq1fFs2vY0DWLsjeLTgeLUrVqsJSVLauezpUXLnHG+1fRothe7tQJCw41f8ioKATp9OmD9q9Vy7EEFbZIcJ06IHa29LklCZY/WyTCYICFtksXJlkqQTRqhO+c3Z7eskW5MCpXDkFJ8ucdFoatde5CJEmwNk+caC3dZ1mGDnVca1cNZ84Il6E8eayl1lzEk3Hvxg1oZ8ut09y1RKOBL3KbNlist24txhS5m4Hls8ibF+117Bja6uuvRX9o0kQ9AUhm4f59WDxHjsQCS+35FSyI78+fVz2Fx+dcHjMxY4ZnzpfFkV05i8dJbNmyZdlwWerQefPmsdDQUNdr+BTgI7Heh8PtN3myGOS6dsWEunmz0lLbu7cy3SNj2Abs1UuQB04ChgzB92Yztrf599WqIbJ47VoIo3PrZq5c6oLev/yiPnnGxiISecsWTCKWsjtarbpVQq7AIPcDJgKp44FXjDGTPLjM8tz8/3FxypSWkoRJRO3aL7yQsRW0ShXlb1u2xFauLfLWu7ejXcEa/P7Kl8cihT+HNm2U96jVwor3+uu220GlSBb/PiEH8fEIZho6VEyyYWFYuFy4oE6KFi4UFvz8+eE2MHcuFksmE7b7OVnT6dRJa1CQaMclS9R9B7n1mvts8qLXqxNcvR7WOcvnU7gwJu+PPkJA2qpVsIYRwaKXkTUsMZHt/vBDZn7tNWU7ly6NwKuLF+FOsWULFnkLF4IkqKV3liQs0HiblC8P1wxef3n7vPceXCU4TCack2fiUyvc0vfFF7BYOjtWX70qdodiYuB25Gm/zuvXrbOAOVN0Ovgzb9gg6nbmDN4Lfky/fllP0J/352nToPhi6Ttdv75SNpF5Yc7t3RvX+uILz5wviyO7chaPk9jg4GB2TiacbDKZmJ+fH7vhKd+iTICPxHofTrXfjz8KotC0KSySjx4JPzIiWDFWrLD+7a5dylV/YKCS8P79t3ALiIvDJMoYtuO4dmbFikr/rfXr1ScUOREsWlRMejzrlr0o5DZtxPnNZuFLxu+7QgVsL167pvSFzZFDKdhuWWrXViaESE0Vurzy0qgRFgyWwWkREdbb7Jy88EhkW0T2o49sW//s4e5dYWX66Sdxvnv3MEE3aaK8TseOtv12X3lFBJnwtLtqx+XJoySp9+8Ln8yICGs/xNu3hSwYESzscqIwd65tSaTAQEzSo0ZhQZaWJu5p5Ej7bSNJ1lbw8HBEm/fvD+F5y34WGOi4H3KnTnbToCre2+PH4R/sQJpkVr++7Xs6dUoQ11u3xG9++w2LS/63vz+21y2393ftUpI2WyUkBO08cSJ2UxwhpHfuKOtQogRkqlwc9xXtd/++cgFmuRjRaEDwevWCGkuxYkrrqzxZBmMYoz7+WOzk6PXI/uaNIK6HDxGIN24c+rC782BKCgwDjRvjvvPls0og4vE598MP0U6DB3vmfFkc2ZWzeJzEajQalmChDxcaGqogtlkdPhLrfTjdfitXiq23F14Q2++bNys1Ct9805o4JSQIaxMRrG3y6547JyJV/f0RhMQYJku+vdm0qchyZIvEFiwI31Y5eeFyR5zoffcdJiVL/1uNBsFkq1fD13DaNPEdJ2jvvPMkB3ti/vxM4iQ7PBzWLkvJMkuSunKlmLh//dXan1SnQ+BF69bWv7dMDCAvtWpZk1858ejYEYsDZybTESPw+yJFbPtCWhZLMt2/8Y3WOQAAqDlJREFUP655756wqGm1zGwryUVQEFw+uNB8YqLQYQ0NRYCSyQRfXk4KtVpIYZnNmNh//NFaM1ijQRt9+SX0XtUCa7hyQcGCGRMCoxHP29F2kZeoKMcIbc2aSsvnYxhOnWKHevVi5saN7aem1WqxMKhbFwu0UaNs34/JJH5365Z45/buxfNT08Pt1cva33fXLpAgy7oULWrbbaNNG/iOHz9uu38+fIjFhdwHPn9+WLKdtMw+GfcePRLBiTodFiEpKaiHZXrsl14S/sdGI6zS8u/z5sUCVL5Ae/ll22lknYEkwSK9dSvk2T7/HAtDy2cfFoZx4/vv3U9Fe+mSGINl8Pic+9VXqHvXrp45XxZHduUsXiGxX375JZsyZcqTEhgYyEaMGKH4LCvDR2K9D5fab+dOQZZKlBDpZJOTsQXMLRMxMfADlU9KRqNSgeDFF5WT4KNHwpoTGSl84HbuFBaSli1BMMxmdZ/Qb77Bbx4+BCFVC8TSaKBxOniw44FMFkUKCWHrZ8xghlu3RNacgABYZCZOtJ+UoGBBQdSMRlhS1Laj1XLB8yIPsOPFHoHmpUwZkHNHdmWSkkT72PMHtSSM8hIYiMhsxrCQ6dBB2Y5+flj0WFqadTosPL76CluajxcOzM9PSYbKloWVe+NGbOlaJi/InRvPwxFr9KNHor3nzMn4eMZAhr/8Ulw3KAi7BuXKgdBkFKhWoQJI94MHuCYRFkx8gVWyJN6RTZtgtZIHXvKSJw/Iy1dfYUv7xx+V2b/Cw+Eecveu7fswm5Uklvfpn39WHrdli5KkBgTgPbJs382brZUNqlbF4nPSJGjeqgUE5sqF/vDDD+ppWJOSEKQkX6RWrIjn7yAMBgNbvmwZM3Pf+LAwxABYYt8+60VKu3aCzM6bp/58CxVCWl53rK9792IBWLeu7WBUIiww27SxHie4Bfnvv22nY3YBHp9zv/8e9W3a1DPny+LIrpzF4yS2QIECrGDBgnZLoUKF3K64N+Ejsd6Hy+134oRIy1msmCCyjIGwyNOjvvEGtuw4UlOVfp05cmDi5UhJEVv/BQrAX40xDMZ8y7RtWxBZSYI1iJ9LLcuPwYCgqMmTrbfA5YSJ/9/BjFimnj3Zyl9/RdulpjLWqpX4vm1b+P+pEQ550WpBUkaOhMyPPZkzy1K+PHwdHbEE1qqFdrLc7i9XDjq0a9bYTnvJiVVGRc0Hli924uOVmYPWrVMK9b/yCkhEs2bq55b7q/ISEgK/5U8/VVd/0Olc0yzl2eQKF3Zu8r9wQbjMVKki3CIkCQT19Gksxj7/3LqPBQSASFm2IX9PLO5d0unY7TJlmGn8ePhpq5ElsxlyT/J3MTQULhfLllk/7+RkcVxSEoLZiOCOoobt25UpT0NDERQmH6/NZiyY5BbDiAghbG8wYAHy5ZcIIFRbKBUsiFTBv/6q7EMpKfB3l48lX37p0KMyGAzsOF8A63RKuUBLpKYqg994qVQJbh+WrjGDB7uXWODmTfh0W/Z3vR6EtUEDfD9xotJybTZjnBs9WshW8VKiBJ4D3zlzAx6fc9etQx1LlvTM+bI4sitn8bpO7LMIH4n1PtxqvwsXRORw4cIYQDnS0zGYyoNteApYxuDEz8kJJ0DjxokB+fZtYVWsXFn4wq5ZIybE9u1hxZSnoJ01K+N6c6L08sso9uSUKlWynTWKiJn1emauXx+T6alTsETzew4OBhHo1s05yaaiRa3Jpr2o+0qVrCOkixdXCtATwQ3i/n1MZnIRdF78/WHtHDtWKTBvMlmrKqxcaVs27O23lf7PnJg1aqQghYbTp0HI5KSzf39Y4OTWLTnh02hsb8OHhQmre86cyhSxziA5WZxHvrhyBCdPivq9847t4/btw6Iio+h+y1KqFGPz5jFDQoLj763ZDL9JS5/t4GDsaowZg8CyDRvweUgIfjNjBv5u1sz2uSUJBFCupRoTg2coXwCcO6e0ymq1eFctyXdqKiy4n32GhZfagrJcOWzlr1yJcSIhQRBuf3916y2H0cjY7t3MLPfd7doV9zpuHHxZ330XCVpatABJL18ez8me9F9YmKirv79zKgppaQjC+/pruFvJ7/mNN+A+cPCg87qyJ09CRcZybChVCoobCxfCGMHdsxyEx+fcCxdEu7kZsPcsILtyFh+JVYGPxHofbrffxYtiK1mvh5VJHliza5dQMNBqsaX56BG20flWIpfe4sSUW7DOnhVbZE2bivP+9ZcgOXICSyRUD+xhzRocGxGBuly5AuJmOdiHhOBzbhV2pLzwArZ8LS0haiU0FMTC3lahO6VqVevPmjYVk+GtW5ggW7e2dqnQaHDs8uVod77oIMIzlvs2Wxa5PJOlNFeFCmj/K1eYUZ6hTW6BjYhAVi5LN5AiRdQJbL58yLDE+1nhwu5rivJgsYwCvNSwdq2oGw/2sQVJAgm7eBGW2qtXQaIKFRKLio8/Vmq6xsUxU9++bMeoUcxgy3quBrMZrgDvvSd2UdRKZCR0iXnUeL58GZ9bkmD1lbu41KwJqT759ceNU16rVy/75OzhQ/inDxlirTAi76tRUWJBrNOhPxcujLrnyIF32cEdFocKV9GwVCLhi82gIMb277e+nwcP0D9GjABJLlpUfQejenXbaVhv3cKCY+9e27snciQlwd/YVuCpVot3q0kTLMJ//RULchu7EB6fc00mYZjwoBZwVkV25Sw+EqsCH4n1PjzSfnfvKnN1v/CCQoqKJSbCV5F/nzMn/EE/+AB/lysHqwwnpjVqCP+6XbvE5NSrl7Dc/PmnclLihPjHHzOur9ksgtC++055H2qDvJ3J707Jksz0zTcgGfLJyM8PgSAtW2IydVY8X6NBOxUvbj3J8XO5KsgfEACCW6CA8hy1a4NkyLV7iTBZyxcaavV54w3rRBlEsMiNHWvbr5eImRs2RPv/849yos2Xz3phwUuhQnDZ4PXn0kCFC7uujcsYSOSFC7DQE0F26bPPQP6cwUcf4ffh4ViMeQJ//WVl/ZYiI+FjPGUK3hVHrXWSBGvwxInwK5cHZaqVatVAcBYtsq9lazTC35U/D50O7ipybdSJE5XnrlnTSsbJJm7dQh369AHxcpGESlotS42IYFKFCujvbduCuA8ahIX2hAnw1Vy0CG5Mu3bBannsmPDFbd0a/WX4cNu7Azy9b506tlM/E2Hh1rgxXJ5sqVKcOKF0DSHC2PjFF46rEty5g4XpkCEgypaSWvISFobF6kcfwf3ksQ+9V+bcUqVwzecg9Wx25Sw+EqsCH4n1PjzWfpKEABDunxYWpnQfYAwTgnziyZFD+LguXozAFW6VLFpUiG0vXy6IE490ZwzWBcuB19FMON9+i+Nz5VL+xtK/zTJIKCICWW0uXGDS4+1F486d+O3Nm4xNnWptAS1UCD5906dDK5J/zl0GQkOVaSGdKS4GpSlKZKR4DrlzYzv3zBmQFnsR9DodyE3nzrCg16uHyUjNt9NOMb/4IqSwkpJglbEniyUv/v5Kwh0UBAuSM7h/H9mU+vUTVmNbda9TR30LXA1Go9BOrVLFcylG09MZW72amXv2ZKlqWsP+/iA6r7+OLfZRo6Da8L//2T5naioIDREWEb/8Amt7x462t9AjI9H2H36Id9dy4XDlijK6Pz4eC0zeDsOGKc+XN68I/nO2PW7ehG/o9u1YSH36KQLDmjYV5HTYMLx/GzYwlpjIDOnpro97O3cKy+HUqfgsJQW+42XLZtxv8+XDon76dASj3biRcZ9KTlYuEC13JapVc02NQJKgfrFpExb077wDI4TluMdLgQLM3L49O9yzJzP+/TeMFU6mrVUFlxucPNn9c2VxZFfO4nESe8VdeY0sAB+J9T483n6XL2OyJ8Iqf/NmywsioleeJIETkPHjYfXgfra5czN2+DB+99NPworRvTsCG9SCgBxFaqrw8+zRQ3zO5XbsFa2WsT59mPnxJG1u29b6/Hv3YjtWzbeVkyU/P0HWKldGANvhw7C4vfeetdKALXIlJxr2UvCqlVKlUNcjR4Q1JCREWMKPHXNM8cAe0c2RAxbll18WFvMXX2TmV15hkvyeQkLgn/jJJ+rkWasF2bS3LdywIVxEbCExEVbV4cMxWTtCtqtUUV7TUT/Zy5dFYNugQQ52TMdgMBjY8iVLmHH5clgly5e3TTz4PdjKnNWjB46Jjrb2J+3eXbRr375YoNmS9GrcGBrRcr/GVauUyhVxcbAc3rolrstLYGCmpR51e9zj0nuBgbCQckgS+ofcYporl3WfrVEDpF7eV81mvG/btsEHVl63WbPEmMiDaLnhgC/8K1RwjFAajSDi69fDtWfFCizkFi8WLltGI8aiH37ADli5cvZ3fsLD8ZzLloUrVcOGWNhOmID7yShrG3czee01h5r/WUZ25SweJ7ERERFswYIFblfsacJHYr0Pr7RfcrLYjo2NVZf1MRgwiFtK8BDBGsqtTKGhIBwJCbDQqQ2gcpF3tYxEtrB9uxiYuf/Z+PG2B+o+fRQKBNJj0iDpdLa3Q5OSEIDy3nvqVhp5pqeqVa0J2NmzIMMZpTuVl6Agx47n967ToX7Xr4vt/Hr1bAduWZ6jZEmQy//9Dy4Bhw6BwD18aG1h2rLlCek2TZ/O1s6dy0xjxoDk2rqGpWX7lVfsKzLExuJ+Ro6EK0DXrrCK2kqdW6IELPxyv195yZlTCLITwcrpKOQpkf/4w/HfMYZ35MABkIyZM0Huu3RhrEEDJhUrxowZJTcICFASj9hYRO/LlUJWr8Z3Wq0ys5zl97lzCx/J9HT4e/7wA6y9Vasqr1O4MFwK+HWSk/FeyQMkg4JAii2zvBExNnCge6lqHWpaN8c9s1nIjNWoYd3PTSb4NvN7eu89WLhbtlQuOsPC4KrTpIl1/wwKgoVcnszj22+t63L+vPht27b2rbp37qgrLfBijwQnJTG2YQMzjR7NblStyqTixW27+6iNc1Wrgqyq7Urs3SvaI5vP5dmVs3icxM6YMYOFhYWxNm3asDtcNPwZg4/Eeh9ea7/UVLH91bOn/WM/+QTH+fnZt4yFhiqz9tgqFkk+7IJbmnimrjt3bCcMaN8eA+zWrdbkm2cwywg3bsCq3LSpbQLavTsilQcNUg/OcqU4EtSi09lv/8qVEZTy6afiecm/L14c26sZDGJswgTGiJjk7882f/01+t7Bg7ZdCBo0ULphEFlbhZwh+blzY6v8xx+VGsVXr9q3ZsqLmqaoLXDf74gI+5HzHCdO4De2SLdlyZULlq8BA7AlvHWrkFK6dQsEUh7IFR6OZ3jlivj8/ffV65KeLhaUlu5Bcly4APcT+U5AcDCIHJfIMxiw0JErGRCpBzaWKGGdnc1ROODu4ZFx78oV0e/UgrAkCf7g/J7atgWJGzYMvqZqfTYgAK5Uaq4iefMqfYvl2LlTvI+29N8vXRK7T6GhsK5WrgyiXLMmdqEcsORatV1SEvrsv//Curt8OSzqX32lHjRaooR1EgWzWWg/u6oq8owgu3IWr/jEnj9/ntWvX5/FxcWxP+U54Z8R+Eis9+HV9tu2TQxcv/9u+7j0dBHV3Lcv/MS+/BLWiZgY5wOYatZ03Afx6FH8RqsVPrh//2373NWrgwBMmcJM/fuzdLm7QI4ckCuSp9O1B56pJiBAPXGBN4ra5GivBAcLMrVmjXhePBCoRw8QTLlFJiwM1jRbmYok6YlFOzlnTmYcNkxJngMDYaGzp4DAi6O+tzlz4tlY+kzfuoWt2m7dhEU/IEC4tBBhgWPppqHROPaMGQN54woXVauq981Hj+BmY5nFLDISrgAtW4IQjhvH2M8/M+P69Wz9rFnMkNGCQV6HhQuVuwHcLSA+3v4CjAdl9u+f8XWSkxEQJd9ODwqCwgK3zEoSLPKvvabucysPXPzoI8fe5QcPsB3epQvcXzIYzzw27nGXiI4dbR8zb559ea6ICGU/zpsX49+//yKOYOxY7Chw1ypbmDoVv/fzg0uSHI8eCbeOvHkx7rkIp9tOkqC+8f33yoVq165K3dr27fH5Z5+5XLdnAdmVs3g1sGvatGlMr9ezcuXKsUqVKilKVoaPxHofXm+/gQNtD6xy8BSyWq21NI3JhPztjRs7binr0sXxbDl8W1A+eK5dK/wy/f2dI39BQRigMwoyMhoFqfj0U6tMVszPzzkLo6OkTq93fBtQriqwahW2tufPh9WNE43GjSF1Vq6ctQ9wZCQsgZZyPffvM0lOFPm5evRQumZcvIggoxdesG+ZlC90KlQQ8ly5cyt/V6WK0opqKYVWqxYm+CNHxGd9+4L8zp8PshscbNtyaQty/9gBA/CZJMFq2rOn8nlotZBfWr7cJhlz+b01mxFpLk9fHB0NC6ktjU4uSRcYqNQPtgdJgnuCXJ4uKgp9QS4LlZSEfvX++7ZlvwoWxMJSDdu3g+Bb7jSopEuVw2Pj3r594l21twO0aRP6drdueN59+4J08va8dg2yW/L3LSAA45hcf/vSJSxG1MYWSRIZDP38QAp5ti6+e5I/v3WaYCfhVtvdvw8XFP6+RkeD3JpMIqlKsWJKmcZshuzKWbxGYi9evMjq1avHYmNj2fDhw9moUaMUJSvDR2K9D6+3n8kkyFlAgP2gGL4Sr1HDdqakgwcdJ3RffeVYHX/+GceXKCGI76NHSgLZvbsgGvnzM9amDTPXrs2S7UhHPbnnkiVB8nr0gGXpm2/g2zZ6tAhOU7M2c43S+/dBqrZsAQGZOxdkoGdPa8kdW8WeJSgzSuHC2ObkVuqNG5kkJ7x+frA82QMnzkRo099/h7QXf04hIcr75P+PjwdJ4sRWo4F/8927yhTINWooF1A8WURMjOPWdXtYtUpc6803rYMbCxeGBU6e/c4G3H5vT560fkbFi8PVxfKckiQCHt94w7nrSBIWPvIUuHnywO1Bre5r1lgrhPBSoQJ8JxmDq4GlfnPJknDD2LQp8yyxjAllhwkT3D9XaiqegWUykj59lK5UFSuq/95gwDOS/zZ/fvEuLFvmdhU90nb//otgRF7HKlUwN3DDwQ8/uF3PrIrsylm8QmK///57FhYWxlq3bs1uOZI3PIvBR2K9j0xpP4MBvlFEIIJyAXQ5rl4VuoWzZ6sfw5MbyAdAW0RNo3Fs0E5MFFvJBw7gs6+/xt/cnys4GPI9nHi1bcsMKSls+fLliBAnApnq0wfEUi2fekYlOhrbh3LpMC7hYw+pqcogEneKo64bWi2yGfH77NQJE8+CBZiMjh+HW4ilykBgoIJ4SyQC5Fi5cratWXv3CiszJ608HerZs6I/8Hpx/zpeAgKQlalzZ/FZTAwWFJbW2KZN4Rt96pRwK2jfHoudGTOwAJk4Edu8o0fDgvbRR9DeHDQI7hVvvw3L/vffIzjqwAFY0CyD5UJDsUDavNmpFLduv7c8SPKFF+BmIfcDL1QI38vPfeCA6Bv2fGNtwWSCJVt+/4ULo00tLcApKViw2OqLclLm74/oeWcyZDEPj3vcgli0qOO7PxlBkkDU33pL3LfcWu/vb/+3+/fD/UPebo0aeaR+Hms7gwGSWvKkJpyox8d7PbjvaSG7chaPk9hXXnmFRUVFsfnz57tduacFH4n1PjKt/dLSEPFOBJ8sW9Ymnrc+IkIEhHBs2SKISocOYvCzFSRFhK19R4TquablwIGwuvFJfe5cEcQ1YADEuB/7EpoGDkTbpaUJnVeujsD9/lq3VqonaLWYhBs2BOEdOlRoJIaGwuLKGKyw/Ddz5jjWxosXi2u5QqJdKdzNIjAQskPnz8MV44cf8DdvV5VIekmjYadat2aGAweE2kDp0njuCQnYql2xAufhvnTFiwv3DyL4kL71FrZd5QoHpUqBeFqK+BcujC1XebCJJ7R2XSkxMXjOq1c/EZJ3FG6/tzx5xeef4++kJFgS5a4XxYujbhzc/7NXL9euyRjGgSlTlNcpXRppcS0J1s6d9lUr4uLUs2I5AI+Oew8fCum4jRvdP58lli4VblR8EZAzp2O/HTVKkF55Aho34PE54+ZNEWBLJBYv2dQ3NrtyFo+T2EaNGj3zWrE+Eut9ZGr73bsntEgrVlRPmWg0iq209u3F55JkrQjAfeh69IB8ja30rWFhGQupcymhqCiRbalUKdRn40ZBDM+fxzb243PvGTwYbcclmKpXt7YgJCZi+9QyKrtcOVic798XBL9gQRA4ScIWOB/U7YnVy7Fjh7B+Ouo/7EzxAjmWoqPho2lLf/RpFa0W5LpECTzXxo0R5PXmm7Do9uiBhci770JC6YMPEMA0fDi+l+ujOlLi4pAh7KOPYJH3VurPixcFUbBM85mcDHksuZtM8+YIwOEWx2bNnL+mJR49QpCa/J2tXBkEV544ISVFvAdqRaOB/7CTCjweH/f69kV9nPWVdhR79yrdLIoXd+x3JhPGGA+Sa6/NGf/+a60+07u32z68WQ3ZlbP4MnapwEdivY9Mb78LF4QVpnt39WP27xfbhTwYjBNHOdGxTF+ZN6/tzFfR0cLKqQaTSZBifu2lS8X3XPe2c2f8/VgWzOjvzwx79oDc8gm5dWvbQTJqSRAiIrD9zK9fsybIhCThc14neX3s4exZdQtWRrqimVECA0EC27RhUs6cTLJ3LE+SwP9++WXIE40ciS1wbpWKi8PzGDkSJPLNN0X7BgUh+UatWurBbCVKWAejyYsz5OjWLbihWCpN1KmDfPT37yMT2qZNwm9Rr0cgi62AvJAQLN66dIH7wh9/MHbsGDM8euT6e8sl7Xi6XzU8eAD3CB4wVaqU8BGuWtX5a9rC/fsg/ZbpT6tWhX/wnDnKVMRy8ip3N9BqETTliMwd88K4d+YMFpCecidQw9WrYtdAq8WulacywTkBr84Z3IdavgD380Nf/eADGCtOnLA9vj4DyK6cxUdiVeAjsd7HU2m/jRvFpP3jj+rHcG3N/PkRuZs3L/6uW1cMbozBQlmvnmNWvFy5bOclZ0z4wXJyI5+QuBi3RgOpG5OJmR8TW6lQIQQJbdki6tGvn/0J7d49TELyNLwajSANr74KKSuzWUgc6XSwVNk7L3djePVVawJ7+jS2aIcMgcRVtWrOZ/iSF60WluOmTR0PMFMpUq5c8IGz9IEMDhbuCp07W9/35ctKNwS5qsHly8LqHx2N+05Pt1aAyKj06WO7rRnD8/n7b8batVNaqUND0QdsLZxMJhGY9OabWLTs2gWLfd++9lN/EhJsPMyTh5mbNsW78v33CIo6etS+Tm96unDNcCQxyOHD4t3j1llPkliOW7fwPtSpo+4LGxwMC/XGjWJBKX9v5MdNnoz7tINndt7gOza8FCwIX2sn/KndRaa03ZEjiEGwJbMXEoL3p39/uHwdOJDhM88qeGb7XgbwkVgV+Eis9/HU2m/MGAxGQUHKtI0cjx6JoBou+J87tyB0RAiy4UhOhkzXe++JSVet5MkDS6UaPv9ceezQocqo9Hbt8HmLFowxxgw3b7JHnBA0aYKJ5PffxaQ6ZkzG7WA2I2q9SRPrulaoAHJsNMLKxD/v0UPdAvPPP9bJEeRWwaAgaKLKJ7yUFFHfU6dgzSxVyjlpL39/LC4yUmpQKWlhYcz86qsIjpo+Hc/X8jxaLYiJmtD76dMiE1TJkko/6jt3RNBWUBBcRsxmZRBc8eJKEsT/z62zGo0I9pM/s61b4SNtmTmsalVs39oSpZdj/35xva1brb83GhGwtGQJ+tJbb2Hh4Yg8Wng4FAFeeQU+rKNHY8HIrbB58jieGeniRWXq4Zo1Hfudq7h5E6T81VcRsDdunHXWv1271NNO85IvHwLJvOGO8bSQkCAWuaNHK/te2bJYBDjpW+0KMr3tjhyBRb5fPyiI2No58fNDO3ToACv+n39irM9iVttnsu85AB+JVYGPxHofT6395GkbmzRRfnfvHlbY3M/MVrGV/tNshn/VwIHqmapCQ60tsnv2iGN5MBInAx99hIn11ClhQT51ihkMBrbx229FdD2XxOKi40Sw7jqK06dBwi2lpwYOxLUnTRLXr1EDFmrGQLT79BG/4SoJfHHQtavy/uvVw3cXL2KC4JPhmDGwbPMydiwmBJ55zdkSFYUAoiFDQEJ793ZP6kujgVvAunXKdjt7VriRFC+uDBp89EgsEPR6EExJUi5Y2rSBqoAtf998+WABHzUKhNBSAioyEsTYkuw6At7HK1RwfLKVJGa4dIlt/+ILZpo2DXVv1gyEz1HLelgYCO4HH4Ds7d8PlQtbuHlT9JOAAHV/9qeBvXsVqaCtSuXKqoGdXhn3JAnv4okTsBj/738YC/75xzOR9jNn4p6qVcPfycl4R+XR/TodyP///ue16P4nbZeWhqxlmzYhkPPDD/EulS8PA4C3YDJB/eR//8PYUr++fR3vgADsFLVvj2CxJUvg/uVN1w87yK6cxUdiVeAjsd7HU22/06cFcZBHQQ8Zoj4YxcYqCSY58DpcuSJ0HC3L6dM4JjFRpGNs1w6D2+LFSm3LwEAQuooV8fcHHzxpOyP3FSQSPrxydQFn9SOTkkD4LOv72muwtnDfWz8/3JtcHumdd7A1K8fRo2Jr2tEMV54oWi2eWbVqWHB8/z0swUSM+fszydnsYfISGopzcmmlc+eET3FcHCzifJIyGJTSWgMHwso5b55YuDRoIAiRI0Q7IgKLg7/+cs8v8fZt8TxnznT4Z3bf24cPQaTWrcNWKyffloGRlkWng3pDrVpo2/79sbCZMwf3yQO7iOCrvW8fFn+7d8Myuns33A/OnMFC4u5dEKnMIAsHDkBCyta9tW2rSBDg9rhnNoNIzZuHtqhUyX4gZUAAtHZHjQKpdqXPcHWITz9Vfn7vHnalLKXioqLQ1+3FAjiKhw/hkjNzJjP16sXuFSsmFu9q5eWX3b+mM5AkxFv89Rf0wd96CwtDe3EAkZEgwEOGwGf94sVM6avZlbM4SmI1jDFGzwmSkpIoIiKCEhMTKTw8XPUYo9FIq1evpqZNm5Kfn18m1/DZx1Nvvw8+IJo0iSgqimj2bKIiRYg6diQ6dUp5nF5PdPIkvu/Zk+jHH/G5JBFpNBlf54cfiN55h8hsVn7+999EY8YQbdtGlDs30ZEjRDEx4tx//UU0bhzRrl3K3/n5kXnkSNoWHEy1+vUjvyFDiGbMIIqIIPrkE6JevYimTSMaNQrHjxtH9NFHzrXN558TjRwp7o+/+lWqEN25Q3TpkjhWqyVq1ozos8+IypUj2rED97Z2LdHhw7avERKC8z96RBQfT1SyJP42m3H/ZjNKWBiusXYtfjd1Kq534QLR3r1EK1cS7dtHlJaW8X1pNESMESMiu0/ujTeILl4k2r3b/vkKFyYaNozopZeI2rQhOn4cn7dqhWeSJw/abuxYouHD8d0rrxD99hvO/frruP8XXiDauhX/X7OG6NdfiTZtIkpJwW+iovBc69YlatyYKCAg43t1BNOmEQ0cSBQejv6XP3+GP3HpvR0yhOibb3C/77+Pax05gv5x5AjR/ftu3ogdBAWhBAfbLoGBaFN/fxT5/3nx80O/5H1T3kfNZqITJ4hWrya6d8+6DhoN+neFCiQFBNDlGzcoX7FipAsKEtcOCFD+X5KI7t7F+8b/vX2b6OhRosRE9XsND8dYkjs3xoM9e4iuX7duj5o1iSpXJipRAs88MBDj3MOHqP+1a+jL584RXb2Kd02SiMqUIdLp1NvTaMSxls+zalWMtc2aERkMROnp4t/0dPTxW7fUy+XLRGfOiPFHDr2eqFAhoqJFlaVkSbyXTxtmM8bJEydQjh8nOnQI7WM0Wh+fOzdRjRpEL76IUqkSUWioR6v01OdcL8ERvkZEjpienj4uXLjAevTowQoWLMgCAwNZ4cKF2WeffcbSnXS89llivY+n3n6JidZ+nNwqZPnZK6/gN5IEUX1ns89cuWItNi+3rNnSnOTC4x99pLq1LkVHQ5FAHqQVFARrQJ06SuvE+vWOW2HMZmzPEWGLrkcP6y1vjUZoVNpru/LlRQR4rVpKF4MaNfCvI/qfgwbh2OhodembXbuUOq7cCmUj8M4YEMDMbdrAVYL7HMtL0aLYApRbm/394ZdsaWXx90eQWdu2og0iIrDVyS0sS5YId42SJWHB3b9fbMPzBApyyP2VuXKEJ2EyCSta48YOWYNcyl/PXS7U3htJgvV02zZYsadNg/9sjx5o08qV4UYht74FBeGc+fPDfz1/fvgzh4Y+/QxxmVG48sWQIdi5OX1avW9IEqzA332HLW0XfMezRMmdm7EmTZjpww/Zf0OHMsPRo89uetj0dFjv586FK1DVququZxoNxvwuXeAasmOHwwoYtvDU51wvIVtZYteuXUuLFi2iN998k4oWLUpHjx6l3r17U+fOnenrr792+Dw+S6z3kSXab/16ovbtiR48wN/BwUTffgur2oQJsPqlp+O7+vWJZs7ESt8VmEywes2apfw8KIhoxAiid9+FJcUeBgwgmj6dWHQ0mVNSSG9pfYyMFPdiCzlzwuIbGoqSI4ew3uTJA8tMgQKwPBUqBIvCypWw5h47pjyXTmdtYSYiypULlsOBA3G9deuImjeHBeL112HRGT1aHN+0KdGqVfbrnZ5OVKsWrK61asFSqdZvNm4katdOaRErXpyoWjWihAT87nGdmb8/ad56i+jnn1G3tm2J8uUjmjdPWLuiooTFqGRJXF+vR18YP57o5k3l9fV6WO64FbVcObRdmTKwVPXpA+tYzpxEK1bA6vX667DWbdhA1KCBOFdyMlHZsrAKExE1bAhrn7+//bZyBqdOEVWsCEv2d98R9e1r93Cn39vLl9Gf9HqipCT0d1dw5QosbCYT/t65E5Yr9UoSpaYqS0qKeuHfGY3CSigv/DOjETsCOp31v/L/6/U436JFeH5ERK++Ckvc5ctERGQKCCBtnTqkLVsW98OtkqmpsIY+fIi/ixYliovDOxoTg1K8OPqEXu98GzKGemzdip2A3bvRFx89gqVVDj8/XC9PHowDVaoQFSyIz9LSrNsxKUlYi2/fhiU1IUF9PJJbnYOD8S7ExlqXXLnw/sTFPX6sWWDO8AZSUoj27yf691+UPXswVlhCo8Hzr1QJpUoV7OI4aLHNru2XrSyxapgwYQIrVKiQU7/xWWK9j6fafmlpQgeVCLqg8ojbatUgX3T1qlI4XqdDpKqTAudPIEnWElS8REXB50zmP2eFS5ee+JZumDqVGbduZeyLL2Dh5D6n1avDgjhoEPRwa9Z0LKpczRLAlQL4uW35tXKrQYMGSqtC06bCarpypbDmFi6Mf7n2pK187JY4d04EkwwaZNty+PChUEeQ11mvZ6xJEyZZBkgRQQ+SBzg9fAjrlTwynkfzN2ggrF6SBAt3rVquW5lKlhR+0TEx1tniDh5UWsH79nWsrZzBt9/i3CEhCDyxA6ff2xUrcO7y5d2v5zvviHYoVsxxlYOngaQkkZI4JAQW0z//ZJJcfzg8HAlWKlXC+GNpRXYlYM8WTCb4ln78MSLpLftheDh83ydPhi+rp3w0DQb4K3fqJN6h6GikiHb6VM/RnHvjBvxsR41C8KSlGol8TqpSBePh779bjx8yZNf2y1aWWDUMHz6c1q5dS3v37rV5THp6OqVzixuB2efLl4/u3Llj1xK7fv16aty4cbZa1WQWnlr7JSeTrl070m7YQERE5t69SRo7lkinI+348aSdPp00jy0oUp06JHXvTroePRQ+lCxnTjJPnkyMW9AchHbCBNINH06MiMjfnzQGg+pxUtWqxN58k6R27WCNkEHXqhVpV6+msy1bUp5ffnnSdprt20nfoAExjYZMN24QRUcrT7pvH+lff500166RVL8+SYMGET18SJo7d4hu3CDNzZtE166R5vJloitXSGPHx5RFRxOrV49Yrlyk2bWLtPv3i7q/+iqx0FDSrlhBGoOBWFgYSV99RVLPnqRZs4Z07dqR5rE1zTxwIOmmTiUWG0smNcuDCjRLl5L+zTfx+5EjSfr0U/UDz5whfbVqpElJIXO7dqS5fJm0Mh9Xs05HOpkVmWm1JA0eTNKIEbAOERGZTKT5+WfSjRlDmitXxD1WrkzmTZuUVsVTp0g7bRppFyx40nbsse+q5vHYwigDX1wiYkFBJH30EUkyy7x2xgzSDR785PfmadNIysBi6hQkiXSNGpF2+3aSXnqJzGvXwqqoAmffW+20aaQbMoSktm3J/Ouv7tXz1i3SlyxJmkePiIjI9MMPxLp2de+c3sT9+6R74w3Sbt5MRETm998nU8GCxD77jALt7JiwHDmI4uLI/MMPxKpWde3aDx+S5r//SLNzJ2n+/Zc0u3eT5uFDcQ2djlitWsRefplYgwbEKlZ0zbrrDA4cIF2/fqTdt4+YTkfSxIno5w6Ooc/9nJuQQJqDB0XZswfjtQVY/vzEqlUjVr06SqVKRMHB2bb9kpKSKEeOHBlaYp9JEnvu3DmqXLkyTZo0iXr16mXzuFGjRtFo+fbmY/zyyy8UzCc0H5556B89ohfHjKGYkyfJFBhI/w0bRrcrVVIc4//gARVfupQKrl1LuscO+I9y56bQGzfoXrFipE9Pp/DHA8eNF16gQ++8Q+mRkRleO8/27VTtsUvL4d696WrdutRg4EAKlAVBmPV60koSaR5v7TGNhpLj4uhR3rz0KD6eHubNSyE3blDxP/4gU0AAnW3VinTp6aRPTSVTUBAV/usv0plMtOmbbyhJJbgh6vRpqvPRR6SRJNo5ejTdrlBBvbKMUdTJk1T1668p+O5dMut0JAUEkB/fIn9ct9vly9Olxo0pLTqaiqxcSXn+/ffJ97cqVKCAxESKeLwVfrtcOTr47rtUZMUKKrx6teJypoAAWrVoUYZtyFF45UoqN3cuEREd6dWLzjdvrnpcwTVrqMLs2WT296fNkyaRhojyb9hA+TdsIH++1WuBR7lz087PP6fUnDmffKY1GKjg2rVU6n//I/1jQpoWEUE7xoyhR/nyKX7vl5REhf7+mwqtWvWEqJj8/cns708Bj8nXw9y56Wzr1pTz0CHKu2MHERGlh4VRgIxkGEJD6XS7dnShaVOS9HqqOH06FfjnHyICGT747rt0uWFDbGN7AME3blD9994jfXo6nezQgU516OCR85ZauJCKL1lC55s2pSN9+rh0Dn1qKsUcO0amoCCKOn2aysyfT0REj2JjaeOsWcRsEO6sAI3ZTGV+/JGKWLjLGIOD6VGePBRx7hxpGaOHuXPT3g8/pIf58hFzkkxqjEaKuHiRIs+coagzZyjy7FkKu3qVNBZTtjE4mBIqV6aEatUooXJlMoaFuX1/zkJrMFDFmTMp32Nif6lhQzr89tskZSNSlZkIvH2bYk6epOgTJyjm+HEKv3TJ6rlLWi0lFSxI90qWpHslStC9kiUpNTbWKQNMVkZKSgp17Ngxa7sTjBw5khHGbptlj0WO+mvXrrGiRYuynj17Znj+tLQ0lpiY+KRcuXKFERG7c+cOMxgMqiU5OZktX76cJScn2zzGV2wXj7VfcjIzDRjAzC+/zKQ8eZjx77/Vj7t2jUmP00hKUVHMuH27/fOeO8fMPXs+2bbhaUqN69Yx04gRTHq8xSvlymX7mrxcvMikx0FQpgEDxOepqczMszvJrmOuXJmZK1VyeYta8vNj5iZNmGnkSGZcuZIZrlx5ck1T//44plgxZkhKUq2v8e+/mfQ44EgqUIAZTp/GdzduMOP8+czcoIHyejExzDRoEDMsWcLMr7/OpMfbhpJWy8w1azLpsVuCFBzMzI/dM8yyLXhJp2PGuXOZIS3N4edu+uyzJ783zpmjflx6OjO/8gquV7kyMyQnM8Pu3U8ktiQLbVPp8XauuVUrm33I9NprT/qCpNHgvtXGiaQkZvz+eybJnq+k1TJJFhRmbtSImT74QLTX4+AliadHJmJSkSLMuGgRMyQlKdqMETEpLIxJpUszKSiISWFhzDRyJDOkp7v8LnHJNkmjYcY1azzy3pofyzOZRo50rU6rViGzGn/WM2Yw6bH7hbl5c6f6TKaXW7eYaeRIBGDKnltaaChLXbUKx+zaxaTHiUukqChm+vxzZrh71/5509KYYe9eZpowgZmbNGGSZepc3j8KFGDmDh2YacoUZvjvP2ZITX36bWLAe2maMIFJj119zC1a4N3M4He+OdeBcvcuM65bx0xjxjDza68xyYYbgpQrFzO3asVM48cz47ZtzPDo0dOvu4vlzp07DrkTPFUSe/v2bXbixAm7JVUmmH3t2jVWvHhx1rlzZ2Z2IS2ezyfW+/BY+61bp3xBGzSA+LVlNi4uTB4Xx9ihQ86dXzaJsoIF4V925IjwLdNokPnJ1r289RaOe/FFa2F5SVInoxoNIuFnz4bG6aBBUBmoUYOZH6sRSLlyMfb++9CG7ddP3deNl9y54aM6ZIjQBx0xwrquf/8t/Fpr1EC2HjWcP4/f86xVvNSuDSH0Fi3EZ2Fhwu+Tl//+Y2zYMOVnNWvaVmqwhCQxNngwfqfVIkuOGq5dEwoAb7/9RG3gTqlSzHDvHjQ3uY+uvBQuDP3PevWgc1q9OpQgBg1i7I03lNm2QkMZ69gRCSbGj4de5Lhx8DVdtgz+tS+9ZP18+b+NGysVDyIj4Zso73eNG8OnsWhR+4sYtWeqhtOnobdqCa4TnDOnMnnDYzj93rZujfPJs9w5AklCdijL+9Nq4SdIhL73lITj7eLePbyTcj3iYsUYGzkSqaL5Z23aYBw5fVqpDR0VBbWKK1fEOS9dQkT7m29CA9myXaKj4W8/YgT8kDMhg5bbWLNG9Pu33sowha1vznUBkoS+s2gRMw0YAJ1dNTWEgACM3d99lzXfKTvIdskOrl69yooVK8Y6dOjATC6mffORWO/DY+23dy+CBixfythYkbp1+XJ8ptc7R2A5EhJAjvm5y5eHWHxKijI5QPXqIpEBx5o1gqz895/6+bdsgQTX5MnW+dk5gfnnnyeDi+H8+SdWDHb8uPJcEyaI31WtigAntZzwvDRrhrSgly5BtJtbjdq1s59JicNkQgBCy5bKwJSwMJBmOemSJ3+IiEAgCRFIIrcmabUI4LFM96kGSRJC7EFBtttXLpZPxMzVq7O/fvlF9L3t29WJgaeLTmdT8osFBipT7r75JgLMPv1UTPR+fsisxqXh5OfiFhd7/Yxjxw5ln7h0SXyXkiISa9SubbUwc/q95YkAfv7ZseM5li4V9Xv7bQTT8RTIERFCrmz5cufO603cvcvY8OHKTFalS0PQ/vFcZEhIYJfr1XtifWcaDRZAPBOUPPBLqwW5VVtkBQdDgm3SJIxpLhhrsgRWrhSL5n797BIo35zrHp60X2Ii0k2PH48xOEcOZd/q1MlrWde8gWxFYrkLQYMGDdjVq1fZjRs3nhRn4COx3ofH2+/IEfXc1r/8AgsfEayQrkKShFWJCBbd9evx3W+/CetmaKiYWK9dE+RowADHr/W//6lrB774ImMrVzJDejq7zgnhe+9Z/37ECPGb2bNF1psZM0C6q1ZVVxrgpKhwYUTFO7sIvHYNucPlurXcSiT/23LQHDYMVqcOHcRnMTGwCmRUB6NRKD7Exiqj6yUJz1+uRhAezgxnz7Ido0cz0/vviwhyRwho0aIgdg0bQju4alX1lLGFC8Na26aNdapYZ8rWrbiPM2ew2OCflymDevB6bdqE4zp2FJ+VLw+LpeWiijGc13JhU6wYyP6dO7geV7SwyNLk9HvLXSCcJZvcyt6jh/gsLU1oC/P6hYTAYnv2rHPn9yTOnUMaXbkKSNmyUCSwIJdP2u/AAWQnk/evN97Awk9OgnnRaPD+jxiBRa+T2udZGr/8Ivrjjz/aPMw357oHm+3H9YS//FIYIqpUUe4EZGFkKxI7b948Zstn1hn4SKz34ZX2u3kTk7DlBMCJxJo17p3fZFJu+xEhV7fRCCmpunXF5y1aCFJdrpxjVk05tmwR2+Dh4YrtZql8eXaKJyOIirJeNUsS3Ax4XVq2VFrbGIPVlU+WsbHq1trgYJCGfv1AcPbtcyxhgiSh/t26CQurvBQvDkF7fs3AQBBssxmETO4WUbkyCLg9JCUJ62GJEkgl/N57QmSfiLG8eZ+0odV2mk6H7cw9exibOFFZ5/BwdZH48HA845Ej1d04/PyUi6oXXkAq1ZYtHbf6Bgczdv++uM/Fi8UCQKsVMmLx8ej3CQmQa5Kfo0UL9Ta7ckUktLBsi0aNhPtNaCgWQY/h0nubnu6cOH1SknClmD9f+V1CgrDuWy4gChWCBXvhQiQz8SbMZownzZop350KFWBFtmEZtWq//fsZa97c+jno9XhP5H2vRw/nF5bPCsaOxT1GRtp0hfDNue7BofbbuBEGBCIYarZvz7wKuohsRWI9BR+J9T682n62SMHLL7u/ujx0yFrPsXlzTPQGAyyu8u8qVbKv/WoPJ08KndqoKGzzyLJk8UAk9t131r+VJBAsTthCQuCzKScT8i1bXtq2heXaRrAI0+kYK1UK7gajRyMT1cmTtklKUhJjP/2knl/ecmu9Vi3Gjh3DuSZPVlq2oqPhcpEjBwbX4sWh59uwISzktWurW691OlXLVnpoKDN36QIr0O3byjrfuWNtPS5YENd59VWxuJAXW+3l5wf/Rvk2qSRh52DsWJDbjMhsgwbw+U1PB4lr315JdohAjiUJ5do1kL9XXwXxtYeEBNv6v7z07v3k8EwZ9z7+WFz75Enxec+e8FFesEBJ1nU660VY/vy2/bndwf378HW29E1+5RVsjXPyajBgYbt7t2OLgH//xU7R1Kn4P1/0mkxY4PFn1Llz9iSyRiMWrESwUKvAN+e6B4fb7/x5sUPl72873iCLINvrxLoCX8Yu78Or7bdvH3J2qyFXLmRAcif//BdfEH32GbLOMIbsOpUqEf31FzLc/O9/yFLVtSsyfbkjZZKQQNSiBbK4BAYSzZpF5vPnyTRlCgUkJeEYnY7ovfeIunVDNh85jh0jevttou3b8XeFCkQ//ojc6UREf/xB1KULsguNHo37IkJWqzNnkEnmwAHxr6089zodUd68yM5UsCCy/BQujFKsGLLuNGlCtHat+u81GrSlRgO9SrX84u7Azw85yRMTiQ4fJrNeT9SjB7RiHzxA24aEiHL1KtFPP+G+goORRYmjShVkEjIakQ/9xAnrzGUaDfoY19tt1Iho6FCiOnWQU/3iReSkv3ABbbttGzJD2UNgINqwSRO00ahRT7JAERH6wFdfWfftBw+Ili7F80xORklJEf9/8IDo6FHcD89AZVmXsDCiV14hc3Q0nUlMpGK1apEuTx5kVoqLw3sVFuZYX9+3D9nBPvwQfUOOR49wHjmKFMF7tW0b/l63juill4iWLCGaNAntFxpKtHgx+vn8+ciE1qgR+psnJLiuXyf6+mui2bNFNrbwcKLXXkPGs9u30YZXrxLduIG/+ZS5YwdRzZpE5Ma49/vvRG++iX7WoQPRggXqGeueZRw8iHHbbCb680+0rQy+Odc9ONV+jx4RvfUWnoNeT7RwIdEbb2RORZ1Ets/Y5Qp8lljvI1PaLzkZvp3ygKLISMeChuzBZBKuAyVLii2/vHlhYfM0Hj0S0f4aDTN9/TVbsWgRM/EtOHmpXBlWTHlWMbMZ7gDcuqjTYTufuwacO4fVdkbBIZIES/aaNbDqdusGv1B5Xntbhee5J4KlV27Nthd4FhkJCy3fgg8LQ5T2li2wfC1ciACFxo2tf1umDJQqevSAP6GapdaTxc9PqTLgasnIMspL0aJoG/m2enw8rHkPH0Jp4s03lQFj3ixBQdg5ePFFuCP06gVf0S+/ZGzmTFi9f/wR7jVE8MPt2BFuDU2aMFa/vtJqXqKEtcuAVqtUTbh/X3zH+/yxY8KVY+RI99698+eRJU2+axAZCVcVNX9oedHrcdw//zw5nVvj3h9/iGs2biwCV7MThg/HblZSktVXvjnXPTjdfkajCJrWarGjlgXhs8SqwGeJ9T4yvf0OHCBatQpWjKJF3T/f1auwat67R9SrF6xEp04ht/jGjUTly7t/DTnMZqJBg4hmzCAiovPNmlG+JUvIr1MnWFMLF0Z+eW7BDAqCJXjwYOTbJkI+8wEDYLEiIipdmmjePKLq1d2rmyQR3bwJ66LcynjuHNH58/jMkeEjMBDW3ORkWLPk0GphIX34EJa1efOIOneGlat1a1i+iHAvOXIQWSRUeIJChUiKiyO2dy/pTCYc36ULLKbcMpmcDIvz2bNE//2H3wUHCwsckbAcy1GwIKx/Bw/COmiZjz4zYVm/2FhkcUtNxX3wDIVmM/7/OIuaFfh916tH1LYtmW/epMt791KBwEDS3r6NnYKEBFhuPI2QEFg5w8PxTHPnxvOqXBn1vXiR6OOPYdnNnZto2TLcj9kMC+zYsTjPxx/DqufvryyBgbDgBgdbJ404fhy///VX+88xNBTvOi8FC8JqnCcPxgKL87o97q1ZQ9SuHfpo2bIY0/Lnd/48WRWM2bTm++Zc9+BS+5nN2MmbMwd/z5xJ9M473qukC/BZYlXgs8R6H9mi/ZYtE1aXyZOF9FFMDCzAnoYkMfb110/kecxNm4rc9OHhCN6aNk0EOXEr52uvwXLJ/TKXLBGWTa0WljJvagMmJSFggMuU2fIfldc5Ph73UamSemAVkcI/2G4pVgx+hY+VCwwGA9s5YoSQOVq40HbdeQR5kyawwN+7Bx9aScK/8+bBH1XN2im3qEZHw0puee8BAQg8LFYMlmpPWHI9VXQ6+GkSoW9Lku339tEjWPR37ICv9YwZjH3xBQIMu3eHZbZePfg1E8FiO2oUJKKmTBFqC7xk1Ec8XYKDhXSXLYt94cKwGo8aBavouXNOS1t5ZNzbt09IqkVGov99/jljq1Ypd2CyGbLFnPEU4XL7SRJjAweK98Db84WT8AV2qcBHYr2PbNN+PAhFq4UWZrVqgrQcOOCVSxp/+42Z+PZmxYrYqieC1BdjGGA2bbKOeq5UCVtCaWmY7OT6ut27e1+2Z/58XKtOHaGvW6UKAnaqVbOtoepoCQzE+fr3h/vE22+L76pUeRIkxPue6dNPBYGx5QZy+rQgNRs22L63R4+wqPngA2yd79mD9lyxQojex8XhuRw4wNi77yrF8HU6EKS//hJBQzxBQmCgbSLvLCmNikJgXvPmeP59+oBofvIJ6t6nj7V7x5AhT8ia2+9tkyY459y5+DspCW4E8utVqYJ+2rkzXELsLVb8/LAg4+4qRYog6K9UKWi0cuk7jQZBgbGx+Cw42L4bi60SEYHzNm6Md2bECMjYrVrF2OHDeK/sKDF4bNy7dEm4ZcgLl+IaMwb9LAuRDXeRbeaMpwS32k+SILfH+9mgQVlGm9jnTqACnzuB95Ft2o8xot69iebORUDNkiUI/PrvP6LISARkNGrk0UsajUb6d/JkqjNxImlu30YgzMOH2DL980/lwSdPEn37LQJBeJBRXBzR55/DDWL2bKL+/bFl2qABAoAiIz1a3yc4dgxboHwL99YtBMM1a4bvJQnuB0uXYjt4/34iHrxGhPaNj4c7wcWLtoO/4uMR/NS0KbbPBwyA20dwMNHnn5OxVy9avXkzNX3lFfJr2RKBQsWLI3hO7X0fMIBo+nRsY+/ZY731nBHOniVq25bo8GHU/YsviIYNw/P4/XeiH36AWwRHwYLCBYNv569fT9S3L9pHzZVBjrAwbJXnzo3twCtXlO1IhGdQpw7cBF58EfcWGirqywOuChXC1npgIBHZeG9v30aAW3IyXBPS0vCvJBGVKqU8d/XqaMMVK1DP+vUdb8dCheDCU7EiSoUKCCS0F0xmMmH7fflyPLdPPkHwYkoKXAWmTME7whEUhDoXLQqXg9u38SyuXnXOZSIkhCgiAv0pIgIlLIyk4GC6ePcuFShThnSRkWiD4GC0b0AA/pWXgAAEcFkWf39cZ98+uK/s20e0dy9cmuSIj8d78MorRC+8gL/dCTR9isg2c8ZTgkfab/JkuKgREXXsCLcu3hefEnzuBCrwWWK9j2zVfkaj0NUMC4OYPE+woNNhu9SDFpEnbXfqlDKdq16P7W413LmDVKjyNLHVq2NrctUqsX1bqhQ0ZL0Bo1FpUYyOtm/9NZuxPf3uu0K70NLqxC2706dDs9MyyMzPD1q3snSfUmwsO9q1KzPcuQOXAK4n+9Zb6vW4dUvIfU2d6tq9Jycz1qWLqNcrr+C8HEeOIFOZ5TY6v0fLBBFECHxSS/BBhK3769dFOx46BJeXVq3UJcJ4dqhu3eAK8Ouv6Lc3b8LKnJzMWEoKMyQlsX+mTmXGWbMY69oVbhAZWS81GlgvLSTibJbwcDzTAQMY++EHxnbtUshUOY3UVGXbR0dbu23ky4dAOHvWpcREZNZavx6W4jFj8MxatMCOiNozyoySNy+s2X36wFr2zjt4/moBl7GxkLt7/3240Zw//8xYa7PVnPEU4LH2W7hQ7E41a+acBrQX4HMnUIGPxHof2a79UlPF9m/Bgoig7txZTB49ezqWKMABKNru3j3ldmznzhn9WKnBqtUien/VKpEUInduz6ksSBJIyMiRqJs8IUTevJhsp0zJ+Dzp6dhqnzQJhPWHH/A3n6hnzMBxqakgI4MGZUiwJK0W5KNdO0EW+Ta3JaZNw/eBgYh+d7UtfvxR1DlPHvgqM4aJYPduaMdWqaLul6nVwnc0Lk48p3370B623A1at7b2kzSbsdX87bf4Pm9e94lU8eLYxn7pJRD0li0xwTl67tKlkanu3DnPk6qLF+HHatlGnMjmzatMKuEKzp5FezZubO0WExkJFYZvv2WmsWPZyXbtmGnAALx37drBtaNxYxD3atXgJlCsGIh1zpz4fUgIzuuMC4RGAx/k0qVxj5b61rzkygVXlqNHPdDY3kO2mzMyGR5tv9WrxTg2eLD753MDPhKrAh+J9T6yZfvduydSrr78MojJ11+LAJ9atdTTgDoJq7ZLT1eKv3/4Ycb+SteuQX6J/8bPD5Y1btmNjgapcgepqUil6ciEy1OnOgtOLnPmVM/SdOYMfFQ7dBDBMBmViAiQjuXLRTY0SRLpbStUcG9BcuSIaGeNBgTQmUCmSpXEgiMqSojjT5mifh6NBvd/8aLtOt24Af/dESNwn2qW78fFGBDAzC+9BKvf6tW2rf/yc//1Fwg6J5J856JPH9fb0R4kCdJWr72mJH5hYcpMbkTw+XXFmnTqFKyx8kBK+TPq3l0Esj1edBj27HF/3DOZ8LyTkmAp//df+JsPH473rXJlZaIQedHrUaeyZbE7IV8seWBs8iay5ZyRifB4+y1ZIvqOZWa9TISPxKrAR2K9j2zbfocOiS3ejz/GZ2vWiCAevR6Rnm5EEau23blzysnq9det09GqYedOZL3ivwsMFAQpNBSqAvbAMwrx31epgu3MlSthZeX33Lo1soGpaaBGRaHdXGsMYXEdPtz+sZLE2OnTzDh7Nrtcrx6T+H3aK3o9rMdr1mB7nm8Zf/CBc/XkWbomT8b2sxrJiIiAVW7MGMbWrQM53L9fWDz0emX7cXIWECBSKt+/bzutrUYDgrp0acZ9Q5JwTHIy3AkePmQsMZEZbt1ify5d6vp7y3crfv3VO4GEqamwplsGPTVogG3Q5GTcG89IxEuFCoxt25bx+W/cgC6xJXHV6fAeTZoElwOO9HTsGhQowFh8PDMkJWXOuCdJ2A1avhyLjZdfVncj4f0qPh6ke+pULCizoMpBtp0zMgleab8RI8QY5K7Rw0X4SKwKfCTW+8jW7ffLL2KC4Cn7Tp9mrGlT8XlkJCY8Fyx6NtuOC/5zolOzpuOC6Bs3YjtYPrHxwWnlSvXfGI2OWw8tfRCrVBH+kZUquZcilKfPDQpSCuHbgKL9EhKgOvDtt9hStbddGxCgTDf6/fcgNY8egXBevw4fw2PHsM2/fTsIVceOwgVAXsLDQbb486pTR508cFUHfo+dOqlHpnfqBGv0+vXiM1uKD6Gh8AH+6y+nyKTb7y23zE+a5NrvbeH6dSxi5C4DwcGM9eunTF3LGGObN+N7Pz+kTpaTu5dfhuXeMj31vn1wkZBvyev1cJ2YOzdj0peeztjRo0933JMk9M/Fi7Fb06CBUiHDsuTKBf/ZQYPQ17dvRzs/paj0bD1nZAK80n5mM3Y7iLAQymhXxgvwkVgV+Eis95Ht2++99/Bi586t9Ldbv15pBSpcGL6ATuRDt9l2XDM2LExMTi+84DiRlSSQ7jJlrK1Mavmz//c/x0kskdBSjY8HAd63T5COYsUQxGUwMPb77/Bh/PRTQRQzqnetWjhP376utx9j8C/l5G/SJMbatxeZztwtQUEgSRMmMLZ3r3jma9eKTFVFi2KbWllh6wCuJk1gzXz3XSVRDQmBPuuHHwri3aqV/SxgUVHw2V6/PsNtdbff29Gjcc1XX3Xt93IYjfDlbtNGuS2ePz9jEyeqT6iSJPyy33kHn926hexilguY9evx/dy5ykVYzZqQ1XLBWpnlxj1ObJcuxSLgtdcUQZCqxd8f72vjxuh/U6di5+DyZa8GiWW5tnvG4LX2S0wUu2Hdunn23A5d3kdireAjsd5Htm+/1FT4OqoRK5MJE6PcR7N4ccYWLHDIN89m25lMYgIaMUKQr2rVnAtcMZkg4i/fbtdoYK2U4+xZbKE2bAhLs6W18Y03GPvqKwQzbd0qyNbff4tznDoldG6J1MlWmTIZ13nTJkEUM7hXu31PkkA0iWAt5secOAEf4qJFlalRLUtAANo9Ph7H1qwJcrBpk32r+9Gjwn8yKgpuHnJUqCDaVE7YOnRA3eRWdCJY+kuVEgspNd1gtfbOkQOEbs0aVQut2+/t6dPiuhktTuyd4+OPlf2TCAuZJUvsv0OLFonndPmy8rtTp9Bfa9ZEP7p7F+8uP3+LFkpXARfwzIx7SUnwtZ0zB4E7r7yC9zSjlMiRkQhY27jR4xbbZ6btsii82n7bt4tF4F9/ef78duAjsSrwkVjv47loP75tSQQSZ4mHD+H/KLf0FSkC0menXey23ddf4zzlyyMCnQfoVKmCSdkZJCfDIirfQm3VSl3u6MoVscUdHGydGKBHD3xXp461tSYhAcSJT5C5cikTMfTunXFdJQnBKkTWZNsCGfa9q1fFFvOIEerH7Nol2sXSvzVPHkz8hw9nXG85bt6E5Zy34dq14ru2bfH5lCkIVpMH5QUFoR+1b29NKngdK1fGwuqdd4S1Uq4cEBNjTc4jI6EoIQtw88h7W6MGzv/NN47/JjERslZydQtOuh1t68REsXAcPdr+sefPC+u+RgPrtgdI2TM/7hkMaJtNm7AQHzYMbhYlS1orasTHw3fcQ0kXnvm2e8rwevu9/74Y/zLRrcBHYlXgI7Hex3PTfr164cUuUcK2JS4pCRYguc5k0aLYolOB3ba7d09sPW/bhsmdb9lXquRawMbly8qI7uhoBKskJ+P7DRuEFTYmxjpAZtYs+2Se48EDBDKlp4uAgfh4tI8j4NcpVswu4XCo7/32myCBtjKvffkljgkJgd9qjx7WPoZNm9q/Z0s8egSrFxF8Nn/9FZ8PHozP5AFlBw4oSV3x4sLvWqPBYkBel1KlEEDH6zhzJvqdnLxWqwYybGlVDwlhrEULZpo8ma2fMYMZ3AnKGj8e53zzTfvHPXiA3YkWLZQuE1ot3CmWLHEuOIy3YdGiIPS2cO6c2EWJiIDLgoeQrcc9gwEL9969RaY0XkqXhjqFPYWMDE+fjdsuE+D19ktJEe9NJroV+EisCnwk1vt4btrv3j1BJj77zP6xDx/Cl08eXd6pk1XQU4Zt17On+C1j2Krm56xWDUTJWRgM1vnto6KgOsD/LlcOVho5/v5bWAO/+MKxa50/L3wQlyxxvI4PHwpCJndZsLoVB/set37WqKFOik0mWJaJsJ1vNGKh8uefUIeQb73WqoUAOUcsUunpcBPgZHT6dGFhtyR+koR0x5x0+vkpXQu6dYPftZwAcp/s2FgQxdu3kViAW9K0WkSqL1uGoB4VrVcpf34s0H75BVvszkhUcWmeGjWsv7t/HwuC5s2tg9JKlsTCwTLoKiNIEogz3+600zfYvn3iXcmf33VNYBt4bsa9tDT0n7ZtrYM6a9dm7LvvnN4Zem7azkvIlPbbsQOxD2PGZFoSDR+JVYGPxHofz1X7LV4sCIYjk2JiImS4+KQbFQXLp6P56/fswe/8/UFQGMN1uWtB8+au6WKaTCJgzbK8/bY1OV6zRuiWdu7s+KDGXQ8aNnR+IBwwQEyUNqyxDve9K1eEgsKcOerHXLwoLJsjRyq/O3MGOqhyMlauHKSeMmp/sxlBM/x3bdoIMqyG+/cF6ebWaP7/L76AFqrac4uOhjX3tddQChYU3/n7wyr7zz8gfuPGMXP9+sykloghIACyU507g3DbI5p79+I3uXOLz3buBPH387O2Hn/2GeTJXJkUU1KUrimDBtk+9tAh4UZSoQK0lD2M52rc43jwAK4HDRoog+f8/NDnFi92SA7wuWw7DyLT2s8dpRkX4COxKvCRWO/juWo/ScKWKBGCRhz1rfvvP2USg9q1HZfpqVIFv5k4UXy2c6dQCOjTx/WV8k8/CWLGCbYlFiwQlr3GjR2XErt1S/zu33+dr9vFi8Kdwkb2Laf63qRJguzxBYElfv1VWDBXrLD+/vp1xoYOVaZczZsX5NJecJMkiWh+XmJj7R8/ZYoggnIL6tChIjEEkXpK0oyKvz+TihRht0uVQrKDatUQSMj7lLzodCDAO3ZY97Pbt8Vxv/0mfGR5KV0aCwJ3M0hdvYo68vpMn267z586JSywNWqoJ87wAJ6rcU8NV65gTOKBiryEhWHxumWL+4tPH1SRXdvPR2JV4COx3sdz136XLwsSM2uW478zGhEAwy2aej0zffghW7lokf22++EHHF+kiHJSWLZMWEPGjHH5dtiOHWLSj4pC5iaODRvENTp1cs5vceNG/K5oUdfrNmGCIJ63bll97VTfMxhEwJo9+S55iuFmzdSj2O/dQ5vLtUz9/OA6sHWrbYL13XdK14SMovp37BAWRbkCxpAhIrDLG0VNC5cIC6r+/aHZ+s47yAynRnobN0bdPYGdO4UbT3Q0rMm2IPf5rljR/RS0dvDcjXv2cOQIYx99pFQnIcJuwIgRVhnEfG3nHrJr+/lIrAp8JNb7eC7bb/JkDNI5c6pH+NvDpUuIAn480D+Ki2NGNasfh9w/dPNm5XdcC9WOtdIhXLkiouk1GigZXL0qyG3Xrs5HdE+Zgt82b+56veTEs3Nnla+d7HtbtwrCaWubPDkZLiDciqzTgbCpba2lpcGlwNICWa4cno1a8N2yZUpLZUYBeocPCxJnK+EBtx4TgfhfvAi/3VGjsPWrYmGViNidkiWZqV8/uDs0aYKgRbmCBbcY9+hh7Q+ZUdHrseMwejSIp7PvCWNw/eD3XLYspOBsITFR9JWSJVUXPZ7EcznuZQSzGWNUz57WSh81amARf+GCr+3cRHZtPx+JVYGPxHofz2X7GQwi45OjQU6WWL6cSXKlgNdft52lilsHhw61/o6L4Ws07uW9TktTWvc4cS5f3rG0t5Z49VX8ftw41+vEGCxx3Bo8ZYriK5f6Hk+X+v779o87dQoyZLw9QkNBbs+cUT9+/35Ec8uTGfj5wQf2zz+VUmu8bYigKbtnj/26nDljvW1LBD/TmTOVBNPfn7GDB5W/T0uD5qP8uvJSsSKsxI9T0iqu9fPPOMetW/BTLllS6Q/JSe/AgXAdaN8euwZqJLtCBQQQdu2Kc40ejd2MP/+07vujRonftmljnwQbjeLecuXCQtHLeC7HPWeQnAz3nCZNrDRpzZUrs2OdOjGDs9J1PjDGsm/f85FYFfhIrPfx3LYfT0kbHu5yfnLDvXvsTMuWTOJEICgIlj3GsEU3bhyIKZecUksWIEmCfGo08GF1B3I/WSKQDWdlmLi1Uat13x+SMchH8ftbtuzJxy71vbVrca6QEMeiqjdvFn7JvA4tWsDVQs1t4P59kG25DzS32g8aBMvqwoVKy6q/P56xPd9mSYIQ+dtvM1a/vjjvr7/C51guw5U/v23lipMnGevfn0mWmcOIYD3r1w8pSjnBXrsWmZxKl1Ye26gRiHGDBkqyy3H+PLJhvfGG9TazrZI3L4LauDQZEcisvV0Aef8PCsp4QeAhPLfjniu4fh19qF496yQLpUoho9++fZkWBf+sI7v2PR+JVYGPxHofz237mc3CYiXX/HQUDx8yw/nzaLudO+1v1wYFCeuXmj6j2Qxy4wkiu3Kl9fXLlHHcx/H6deEr+tFHrtdDDkkSGZeCgp5kwXKp70kSLI9EGQvlc5jNIHNNmijbpUED25ZZxkBYhwyx9jHlGbe0Wvjd8s/festx2bSPP8ZvgoOx4Ll8WSSJ4CTTDgy3b7PTrVszifcrSzUBS7cCTvz79FEuTLhigDzwUA3XrjH2xx8g6+PHM/bJJzhXy5aw9qtlkNJo4CLQqxcyz1kuOiQJuxP82D/+cKztPIDndtxzFwkJzPjdd+xm5cpMsuxzBQpAA3j7do9nCctOyK59z0diVeAjsd7Hc91+q1YJS5o9fz1LGI1KCSRniq1gMrMZpIBP6NOnO38/Fy+KQKJ330XEuVzrtls3ZKOyBYNBWPEqVLAvRO8sjEaRACA0lLFNm1zvezwBQkyMSPTgKE6ehLWS+5kGBsJibq8ORiP6Stu2yq14Ilj0x48XpLFMGbgyZASTCQFURHBtuXwZW+48OxURFjY2wNvOuGmTSPtar57tfunnB+JsMilPxLP7DBniWPvZwr17SkKvlhJYr0cf+P579O+33sr4vfASnutxz008abtbt7Ar0bat0g2HCIGM776LQFMXd7qyK7Jr3/ORWBX4SKz38Vy3nyQJItGiheO/M5mUwvX2Slyc0pfR3nXMZkSP82NHjnR8iy49XQR3VasmpLTu3hVJF4igpTplirU+amqqCFgLDmbsxAnH28NRPHwotq8DAphx2TLX+p7RKNp/2jTX6nL2rCDsnLRb+qKq4dAhIdPGF0A//YT0n9wlIDLSvpA/x+3bYqs+JgZE2WxWujLMnKn60yfv7Z07woovLxERsIxZWkgDAmBJ/vln+J4OHIjPP/7YicazwI0bwoVAq8XWM2Ow3i5bBou+mk8wL/z4TMRzPe65CdW2S06GJb1TJ/UFTKFC8LeeMAGW2ue43bNr3/ORWBX4SKz38dy33/HjIpJdLk+VEU6eVA7SHTtiy17u78iL3N8xNNS+wL4kKYNi3n/fMSLLU3lGRjJ24YL197t2KX1Dy5UD8WIMkfu83gEB8JX0FlJTIaxOxCS9nu0YPdq1vjdzJupbsKBrCSMYQ7v+9BOkn4jgU7pxo2O/tUw28cYbSGTBlQ60WkRzZ/Tszp9XPpdhwxBkxhM3aDRwEbGA4cgRdv7VV5nEJd940emQVpRbXO/ehcxbqVLqBJJb0Nq1Q/2dsb7fvYv6cq3b4GAEednCiRPo2y+9hACxQYNU7y0z8NyPe24gw7ZLS8OCrEcPkf7UsoSFYTE4dSr6xXPkT5td+56PxKrAR2K9D1/7MbGlWqyYU1JChlu32K5PPmEGef80GhGsM3kyY99+q8xdzn3I9u3L+ORy+a1Bg+wP8suXi2OXL7d9nMmEKHZO2oiQ9CFHDkGwHSVx7sBgAOkjYulhYcxw8qTz50hJEb67s2e7V5+EBGzFc8vq0qUZ/2bXLkHcuLUzIABW95o1Rft265Zxgom0NKUF3rJoNLAad+2KSH9LYlCsGLJzcZ9fvR7Zlyxx+jQspmr+q/ISH480vl26gHT+/DMIrsmEsnkzAgblFrcXXwT5fkbgG/dch9Ntd/8+AinHjUP/5RkL5aVAAVhpk5K8WfUsgeza93wkVgU+Eut9+NqPQZaI+xW2aeOwVcChtjt/3jowaPJkx+o1e7b4TcuW6n67V64IP9jBgx0775078AuVk5moKOiwZhZSU5n5cRYnqUwZ13RIx48XpG36dFh/3KjPk5SyWi38Nu0hLU2oEyxbpgzK4sST/798ecbWr7f2R7XE77/jPPKMYo6WwEBYW+PjM76HmzchLSffIZAvsmwVvd76mPLlYU19xixpvnHPdbjddmYzFvLjxsG9SK6mEhWFhZMjyiPPKLJr33OUxGrJBx988CzCw4mWLCHy8yP64w+izp2JNmwgevSIyGjE8OoqChUiql1b+dm4cUR37mT82z59iObMIdLpiP78k6hUKaIhQ4gePMD3ZjNRly5E9+8TVa1K9NVXjtUpJoZo5EiiyEjx2f37RC1aEI0dK87vTQQGknnxYkqLiiLNsWNEffs61s6pqUS7dhHNmEF04gRRRASRyUTUvz9Rr15u1YcWLybq3ZtIktD2Y8farlNAAFG5cvi/yUR0+DDR0aNEX3xBVKWK8neHDxM1box+1qMH0fbteP7XrxNduEB06hTRwYN4Hp98QvTll0QffEDUsCGevRx+fkSlS5NUrx7dL1qUWHw8jklLQ3tcu4bj+D288grqJ0dcHNHw4UR79yo/NxqJChcmmjWL6NdfUY+XX0a9+X0ajcrfXLtGNHMm0ejRRKtXO9avfXi+odUSVa5M9NFHRP/8g7Hnxx+JihXD/0eNIipQgGjYMKKHD592bX3wNDKJVGcJ+Cyx3oev/WTgKWLVSlAQIm5LlsS27dChzDh/Pls7d27GbceDdzp2FOfLm5exbdscq9eRI8rgsBw54BYwbpzY0rZIDZkhpk3Db3PnhgWTy1Zxt4LBg70uOm8wGNjWceOEzu68eZYHMHbgACyKvXujjtx/Wa0EBDimDGAPkgTdS37OoUNtWxl798YxakFRly7BOly3rrrclTNFbtX9/PMnbffkvTUYYKVftw5bsnKFA95f5IF6kgR3CB6MxdOLcos+396VBy/6+cGX+YMPoKJRpYpty23hwkjh+8038BN3JdmGl+Eb91yH19rOZILySPnyoi/Vru28AkkWR3btez53AhX4SKz34Ws/C6xbh4AEW/nnVYqULx/8EkuWhKh8tWqQDxozRukScOmSkoRptSAlGW0zc6xZoxSt5+Rmzhzn75NHpRPhnCVKIG993rzic50O0ca7d3tF95H3PdMXXwgyPns2spjVqKGabpURwRe2SRPGhg+HD/Dhw2h7ImSbun7d/cpNmiSu16eP+jP67jt8//LL9s+VnMzYokXq5DQoCH7TuXJBnqtePURxv/sukkTs26dcXGk0jC1enPF7m5CgXDRpNHjORYtm7DYgLyEhIK5qaX7T0tA3pk+H/2yJErbdEF58ESoFa9e65jriYfjGPdfh9baTJAQI8uDGJk2cT9iShZFd+56PxKrAR2K9D1/72YAkYbK9dw+E4Px5BK788w80Ld99l5mrVBFi8xmVHDlABLkMVu3a4ruXXlInCWowGGCBlfuzduzoPHHbscM6ixMvFSqAdMg/i40FMV+wAJJKHoDh/n22Y+RIZho6VExYliUigrGGDREFv2QJFgJqltGrVyHjQwQyePu2+xWcM0csFDp0sJYF+vdffJcnj2PnS0mxvr/AQNzb/fu2fydJTwLhOCk0Ll1q+71NSYGVf8IELKhs9Ul/f9S9dGlYVuvWxaLlzTdF0FZgIEi0oz6v9+/D/3fMGFhu1RaDej0WKR9/DCmyp0BqfeOe68i0ttu+XShftG/v+GI/iyO79j0fiVWBj8R6H772cx0Gg4GtWriQGbduBWnYvBnR/X/8gUm8SxdY1gYOFEFZXNNz6FAQQh7EEx1tX1mAw2wWOqVhYYIYhIVBDcHZgf7aNUiLbd7M2JdfCutndDSi9N98E9Y4SyJSpYrzLgyMIahs2jTGate2zvjDS65cIJCnTjlnAT5/XgToVanimUjnRYuE5bJmTaWyRGKiqPO9e46dz2xGe//+u3IhExUF0mlr6z0pCVZUbv3392f/fvKJ8r3dvx9qCGrZ4+SLHn9/XMseMb15U2goE0Fb1pXFiyRB8u2nn1A3tWQMej0WcjNnMnbrlvPXcAG+cc91ZGrbrV0r3r/evZ+5AEI1ZNe+5yOxKvCRWO/D136uw6W24+4FPK3o6dNKndDWrdV1Xjm+/BLHBQSAUO3Zw1j16uL31atje91VnDsn6lO4MKzQaWnQlP34Y8YqVxbXspNRSgGjEdqzr7+ujEQmYsk5czJz587wh121ShDzDh1cc2E4cUJIbzVt6rqGrByrVwsir9HA3YQTOu7v7IqygyQxtmKF0iIeHw/Cp7YY2bBB0XYSETM3aIBFkjxxAxEsoK1aQcFhxw48w2PHlH2lXTsQcVswm/F7/sxiYlAHd2GP1Op08NWdN8++ddpN+MY915Hpbbd4sViEDR2aOdf0IrJr3/ORWBX4SKz34Ws/1+FS2+3ZIwgBtyqkp8MPlAcABQZCZsbSKvf992Kyl/vBms3wz+RbwHo9Y5995rofWUKC2JqvXt06sGLNGnwXGWlbA9VoBPEdNMhayqlSJcamTGGGU6fY8mXLlO23bp3wGx42zLX6794ttiH793ftHJa4fFnpYxoWBp/Vhg3xt2VQmjMwmUDqOCHmlvBy5WAN7dKFsc6dQcrlusOWRacD+f/3X9sWK6MR9eZtXLx4xouew4dF4F9AgHtSZmo4fx4+yFWrWrs7tGqFYJ9Hjzx6Sd+45zqeStvJ/cInTMi863oB2bXv+UisCnwk1vvwtZ/rcKntUlMFWb18Wfnd0aPKjF8FC8LFQJJEhioiEEM1XL0qUscSgQTt3evazZ08KZIitG2rtIqaTCIA7Pff8ZnRCBUFbmGzFDTPkQNZrmSpXW223/z54nc20q5miCVLxDmmTHHtHGrYuVNpzeSkctQox36fmooscX/9BbeKwYNhoR4xAiltx4+37R9sUQxBQcInu0ABkHdn7oM/Qz8/XN+eikBamuhbfn5wmfEGzpyBhq2lv3ZICBYRq1Z5JGWpb9xzHU+t7SZOFP3hxx8z99oeRHbtez4SqwIfifU+fO3nOlxuu3LlMBCr+cBKEvww5SoB8pShgwfb9wvjv+dZuPj27Pff2w6KsoWtW4U/2iefKL/jGaYKFUKwmpqSQEwMCO2ff6pahe223+efC19Oe6lM7YEnQ9BqEUDkKZjN8GeOjVUuGHjKVkmCb+e//+K4jz9GkFPRohlny6pWDZamjRtR5/nzYTkdP56xuXPRZ3799Yk/salZM0GkCxbEQsJR3L4t/KuJoOwwYQJ8a9VcOQwGBNjwfvXLL55pT1s4fBj9Ti71xRdE774LIu6ij6Rv3HMdT7Xthg51f1x4ysiufc9HYlXgI7Heh6/9XIfLbdenDwbid9+1fcyjR9hOl5OeJk0c9xO9dUsZ0c5L7tywqI0aBUKUkQaj3Co6dixIhS0ppbAwRLgPGYJAsQz8Ue22nyQx1rMnzhsUxNh//zl235bn6NFDbM/b8zV2BkYjXC62b1cuMMLCILUmD7iz1U4VKsD/ecgQpIxt2lSpJ6vT4XkvXKi6lW6UP5eiRcWiJywM7h7OtNGSJSIgTk4U33oL38mvbzLBvUG+tevtYBtJgpV54EDlwoEIBHf4cKUOrgPwjXuu46m2nSQx1r07nn1gIGNbtmR+HdxEdu17PhKrAh+J9T587ec6XG67lSsxCOfLZ993sUMHawLUsCF8CB3FyZMgn9WqqYvuFygAK+3Vq+q/T0hQujjwIpcWmzvXeSUB5kD7GQxCkD82FkFnziI1VfhaVq7smPC+wYAgqMWLQfZ79IAWbJky9n1SLUt8PEj9228zNnUq5Nlu3LD9zBMScJzcXYEI+rnNmzM2Y8aTNjAYDGz3sGFM4kFsGo0IaNNqod3qDJKS4HbRrJm1GkVgICzJ8+ZBXcJsZmzAAPF9nz4e2eJ3CEYjItbfesu6npUrI1HF5s0Z+oP7xj3X8dTbzmhEfyRCHIAzuw9ZAE+9/bwEH4lVgY/Eeh++9nMdLrddSgqICRG2bq1PDD9J7n/4v//BWse37IODGZs82Xk5reRkSIF98w1jXbtaW99at4ZfpiSBCLz+urUwfnQ06nPvnvgsIcG5ejy5TQfaLykJgWBEsAC7Ipt16ZJwr2jWDH62S5bAXWL3bsZ+/hnkp21b+GLaywomL1FRsMTGxwv3Cbl7gTsqEadOITjPciudiLHixZmpf3+287PPmOH8ecigqdWvXTvXNFjT02Hhev99EeAntxA3aAAr/uTJYjHTuHHm670+egSXhmbNrJ9ZSAis299+C19zi4WDb9xzHVmi7VJSGKtTB8+6UCHP6EJnErJE+3kBPhKrAh+J9T587ec63Gq7Vq0wAFsGBKWng0wSITp75Urx3Zkz0NPkE3WNGggSchUPH8JK++KLSsuqpbWxenX4ZfKAo9mz8XtOxJ2xDMvgcPtdvy6I4ltvubZ9/c8/GfujyktoKO67e3cEGs2bB+WEY8fgqiF3ldi1C7/R6/E8OZn194f7xYMHzteXQ5Kw0Bk7VjWFrRQYiJTEQ4ci8IkrVPASHu6a/Jf8+ocO4b7k6UCJoHM7YYLoB82aPT1B+tu38Yw6drR2OSDCgq1LFyxYbtzwjXtuIMu03Z078OMmgh73066Pg8gy7edh+EisCnwk1vvwtZ/rcKvtfvwRg2+lSuIzs1m4ENiSMjKbkTGM+136+0M71p3nd/y4tUi+RgOf2kOHxHGTJ+O7nDmRJIFvX7u4nedU+23bJgicq3JW69cz1rcvFgm1asF/NU8ekMO+fWG1W7PG+QA4eUatqCiQxubNRVvGxODctuTInMGDB4wtXcrMPXqwFEsFCCK4qNSrp7Sy6/XoM57wXT17Fr7a8kC+l14SWrIDBrh/DXdhNkMFY+JEuIGoBB1KJUuy86++yoy//OLyTsLziiw1Zxw9KsZCR3WrnzKyVPt5ED4SqwIfifU+fO3nOtxqu1u3hPXz0iV89uGHgnTw4JzFi2FNq1FDmc3o8mUE/vCJuWJFaNA6iqQkaM3WqqWc4GNjQcQ4Idu0SX7DIpApPh5BYkSIwncBTrffmDHCncLJQB6vIyVFpOqNj4fv6rJlyiC4yEiQquHDYWFftw5Eq3NnkOCxY+Hv6QCpMhgM0Njdvx/naNDAKpGEVWnShLEDBzxzv1euwFdYLe3yxImeuYankJqKJA3DhsFvVq3OZcpAcWPJkmdqa/ppIMvNGStXimc6Y8bTrk2GyHLt5yH4SKwKfCTW+/C1n+twu+3q1sXA+/XXGHz5hLpggThGHuQzZozy95KEY7meK9/6nz1bPRNTcjKyT3XuLLaAuZ9jy5aYDHjkPSdkfn5Kl4Zz5wSR5dvzLkotOd1+JpPITPXCC1kvl/qtW6JtChdGEJfRiMA5TvgdLYUKYft7zhyRslgG1bZ79Aj6s/36qUueyfvIzp2eueejRxnr1Uskl+ClXDn4Ga9Z4/FEBW7j7l1m/P13drZ5cyaVLaveRuXLwyfYXuKI5xRZcs746isxlq1b97RrYxdZsv08AB+JVYGPxHofvvZzHW63HSeuJUsKQvjFF8pj5OSnTRv189y8yVinTsrglqAgkKA//2Rs3DgoDFha6kqUwOB/7Zr1OVNSRHBZeDj8cTkePFBagevWdWmid6n9rlwRfp9ZzeLHGNqSB0NVqiTUEAwGpAmeOROuG6VLI1vW66/jmX/1FayxxYurWwpr1oQLymNCaLftevcWz230aLhPWEbyEyE17aefWifdcAV37+J5qMmL5cnjOQuwh6Bov9u3YYF9911YZC3rnz8/Yx98AJk3H6HNmnOGJMFfngi++8eOPe0a2USWbD8PwEdiVeAjsd6Hr/1ch9ttd/OmMtioa1frSfLECeWEmtH5Jk4EKbZlhcuXD/6fjgjFGwzC3aB8eaWmrMmklN7q3t3zElu2MHcurhkQkDUnqzNnhL/wwIHO/z4pCYkOPv0UEdjyYK6wMMYGD2aGCxfU2275cnHs2rXic4MBriFduiBozbJf1KmD7GsZaPtmiJQU9DHeZ7hvblgYtvSzCOz2vYQEJAzp2NG6rQoWhNvP3r3PLaHNsnNGWhqCDflzyqK+zlm2/dyEj8SqwEdivQ9f+7kOt9suNVVYruLjbWuYOkpiOSQJJLVXL0TvtmyJFKcnTzo/8V69KqK9O3dW/n7rVmXdBg506vwut58kCf3YyEjGVqxw7veZgdWrRbu4m9nq+nVY03kkNhGT/PzYhcaNmWH3bqVbhTw9cePGjJ0+bX0+SYKFvlw5+D3LLb9588I311W/0Lt3kcKWCC4Nhw4JRQ0/P+dS43oRDve9lBSk2O3QwdqanTcv/IIXLcJ9PyfI0nPG7dviPXnxRcd0oTMZWbr93ICjJFZLPvjgQ/bA778TPXyI/0dFEQUFqR9Xtiz+nTHDsfNqNEQ1ahD98APR2bNEy5cT9e9PVKIEvnMG8fFEixYRabVEP/9M9N134rty5ZTHTp3qeB3dgUZD9NNPRC+8QPTgAdFrrxEVK0ZUvjw+q1ePaMQIogsXvF8XW2jShGjoUPy/Wzeif/5x/Vy5cxN99BHRmTNEa9YQ1a1LGqORCq5fT34vvEAUGUnUuDHRyJFEV66I361fT7RunfX5NBqiChXwG6MRlCwujihHDqKrV4k++YQob16it94i2rYN3zuC+/dxzrFjicqUIUpLIxo3jujvv4maNcO1xo1zvR2eBoKCiFq3Jvr1V6Jbt4iWLCFq354oOBht9eOPRG+8QZQzJ9GLL+IZ7N3reJv54FnkyEG0ahXG01278O5J0tOulQ9yZBKpzhLwWWK9D1/7uQ632+7YMaVlR+53ynHmDL7TaJTqBJmN8eNRD71euS3Mt47feQf/5s7t8Cndbr/0dMbee8+264RGA2vkokWekbdyFmaz0PwNCFAGyDmLnTuxhf0Yxk2b2PXq1ZmUUYrb11+HX+z338PVpEsXKFnIXRRKlWLshx/gbzt/PmNVqijPUaoUJMLsWRvv3RO/y5kTrgncwrtjh3CL0WjU+3kmw+2+l5ICd43Bg+HfrOa2M2AA9IndddHIYngm5oxNm0SilnHjnnZtFHgm2s8F+NwJVOAjsd6Hr/1ch0fajm+LE8HX0xL9+uG7pk1dv4YnIEkiM1RkJFwTGBN6qJMmCf/e69cdOqXH+t7Zs3BtWLcOrgU//gjyKicVOXLAl1El0t+rSE2FOwcR2mfiRNd8KWvWxDleeIGxpUtF26WmYst+1iwQVK6O4Ehp0ABaxJa+zJKEIKaePZUqFgEBCJ5ZvlypOLB7N6SreDtz3eBevfBZ/fr4u2lT/D1smEtN6Ul4fNy7fBlKEm3aKNuMCOohXbtm+ah5R/HMzBnz5qFf2kqp/ZTwzLSfk/C5E/jgw/OIwYPF//fsUX7HGFwOLI97GtBosHVaowa28Js3J7p7l6hSJXx/7Bi2qImIli3L3LoVKUJUpw62slu0IOreHdvo588TffopUZ48RHfuEE2YQFS0KNGrr8LFwmTyft0CA/EMe/bEtubQoUQDBjh3jvR0ooIFifz8iHbvJmrblrRff43vdDq4Ubz9NtH8+UTHjxMlJhJt2gTXj5EjiXr3xnb+668TjR6N53PhAlwcmjaFq4gcGg1RtWpEc+YQXb9ONHMmnm16OtHChUStWhFFRxNVr05UsiRcOPbvx1bupk3C/eWzz4j0eny2ezdcFIiIDAZ3WjRrIl8+POOlS9HX/vwT/TAmhujePTwb/i77kDno1g0uBfHxT7smPsiRSaQ6S8BnifU+fO3nOjzSdpIkIriLFFF+l5AgrDmpqe5V1lNISEDkLxECdhYvxv8rVRIZvSpXduhUmdb3jEZYD+VWb77lO3Vq5gR/SBIk1fgW+5w5zp/j5k2F+8TBvn0z772VJFhc332XsVy5rK26ERGwvC5ZAms3t+5264bvW7YU/cYdtwoPIVP73qZNjA0apEwc8gzDN2e4h+zafj5LrA8+PI/QaIj+396dh0VVf38Af98ZdgRREXEBAfd91xLXXFLTNP265IK5+8s1NTUztXLJ3dTcSy3Xyn1JRVNMTUFxzZ1AzF0z3BWY+/vjNCAJCAxw58L79TzzzDAMw5nrFGfOPZ/z6dlTboeHS7XLLGfO+IVYUVGZH1tiPDyALVsAFxcgKAg4cEDuP3MGaNtWqnqhoUBkpLZxvszGBmjZEtixQxa6DR8uVcOrV4GBA6XK+dVXwIMHGReDogAffgh8+aV83a/fq5X318mXD5g5U6qpAMosXw5cuZLOgSZBUYBSpaT6fvOm3Gc0SpXbxkben0uWSLW3aFF57/r7x7+fN20CIiKkMl2/fubEbA1sbGSh4axZck2UzTGJJcpqzK0CJhOwaFH8/fb2gKen3P7rr8yPKylly0rCAgBz50pCGx0tq7dr1pT7t23TLr7kFCkCTJ4sCey8eUDhwhL3J58A3t6ysj46OuN+/yefSMvD8+fSkhEWlvrnGD0aplq1YPPsGYzt2wNPn6Z/nP/14gVQqxawZo0kr/37SwJ97ZqcPv/xR/kwVqWKvG8fPQIOHZJV/S9zdwe2bpWWFCLKdpjEEmU1bm4yogeQStvL43lsbeX60aNMDytZ7doBnTpJ4m3uLT1+XBIzQF7HjRvaxfc6Dg7A//2fjK1avlx6O6OipIe2Zk3pLc0IBoP0lVasKMnz22/LdSqfI3bJEjx3cYEhNFTGbmW01auBU6ekxzMoCJgzJ77XMGdOqcIvXizjpR49ksr8ypXSA1ylSvzz/PUX0KGDJLP16gFTp8pjOZKKKFtgEkuUFfn7y3V4uCQCgFS/zKflnZy0iSs5c+fKghZzJfDUKVlMUaiQJIc1akjVc8sWmRV66JAsFLKmuY22tkBAgCxM+/57mS959ChQuTIwY0bGxOrqCmzfLm0MYWGy6OrJk9Q9h58f7pcoIbczo6o5f75cf/xx/Hs1KTY2Mie2Y0dZTNeyZfz3ypWTDwyxsZIMDx8u9xUuDPTuDaxfn7FtHUSkKSaxRFlRtWrxt5cvl2s7O0lwADkNbW3c3OJjBYB9+6Rvc/9+wNdXTtmPHCmbETRpIslPwYIyQL5OHRjmzoXDvXtaRZ+QwQB06SJVwSZN5HT/0KFA1aryGp89S9/flz+/TFBwd5ekuVevVFcjVXO/dEZ/KIiKiu/f7dw5dT976ZK0aJidOycJfFiYbI7x9ttSFb96VSq5bdpItbdePeDrr62nF5yI0gWTWKKsyDyqCpC+Q/Mp+rlzpbK1Zw9w8qQ2sSWnfn3g/ffl9qlTsgOZr6/cXrJEEsLq1eX0eeHC0k/54gXw228wDhmCxj17wlinjlTsLl7U/rRygQKSZC1aBOTIIS0S5uryiBFp62FNSrFiMnbJaARWrZKdsrR+/YnZtUsS5eLFUzeuyGSSPtlnz4CGDeUSEyNJrZ+fjBrbsUMWi23fLovsihWTxwQFAYMHS6V/8OD0Pe5EpBkmsURZ0ctJ7L17cuodkFPOb78tt4OCMj2sFJk1S65NJkk4AEkAe/SQfs0jRyQZjIiQhObSJWDmTJjefBOKqsJw+LAkiCVKSEXU0VGqvL6+QIMGcpp56lTg/PnMeT2KIpXRP/+UhMvbW/5NzHNmq1UDpk1Ln8kA9epJRRKQCQkBAQknVFgDc8/tu++m7ucmTpSqvLOzVFnHjZP7ly1LuCWwk5Ns0/v11/JB5vJluV26tHwo+vprSW5btZJqvzUm+kSUIkxiibIiT085xWy2eXP87cqV5fr06cyNKaU8PKSCCciGCOaxW4mxsZFEcPBgxAYFYed33yF2zhygcWP5HiCJblSUJL2//ioJ0PDhMuLpjTdkiP/9+xn+spA3r7Rx/PmnjIh6+21Jso8eld5QHx/Z/GH27NQvznrZhx/KazQaZdFXs2Yp6gu1Mbc4ODik/XenhHmRW40aKf+ZJUuAzz6T2zNnyrHy95cNKWJi5MNOUslokSJSlT1zRqrAzZrJYzdtksp/pUqyWQWTWSLdYRJLlFW9XI19eUSVeQHPxYuZG09qvJzgmE8hp8Cz3Llh6tNHFn49eCAzSK9cAS5ckGR4+XLZ+alZM0nyjhyRqQKentI/uXFjxlcujUapQu7YIRMX5s+XCqqiyI5AgwZJEt+ihYyaSkv/bM+ecko9Rw5J3OvUee10B2fzvFZf39T/vpS6fVvm/gLx78PXuXYtfleyUaOkqm02bZosptu8GVi6NPnnURRJerdtkyr8hx9K1fbkSeC99+SDzx9/pP41EZFmmMQSZVUvJ7Hnz8evOvfzk+vMGmyfFnXqyLWdnSSg5qH+qeHoKAvDvL2l/9LfX06vf/65JDLXrsnEgPLlpa92/XpJZvLnl21Xd+/O+IVAHh7yu/bulUkLs2dLe0FsrMw/bd9eEuxevaQFITUaN5aWEQ8PSdT8/ZPuBf37bzjduSO3U5pcpsWKFfFzc8uXl95m8/SMpHz5pSTy/v7A+PEJv1e+fPx9gwZJlTslSpQAvvlGRnSNGiWzaHfvlu1wBw6UrV2JyOoxiSXKqsxtA0ajXF+4INfmjQ7s7DI/ppRq1Cjh11OmyOng9JQvn2wMcfKkXIYNkwro/fvAwoUSg5ubJMDvvy9Vv6CgjNsMwNNTKo7BwbLqftQoScCjooANG2QTiNSqXFn6oYsUkb5Rf/9EF/QpJ04AAFRvb5lwkFGuXUv49cmT0kIxaRLw+HH8/SaTtH9Mny6tEYA8xjxB4WVDhwK1a8s82YAA+QCQUrlyARMmSIvDe+/Jz86ZI//m8+db1/g2InoFk1iirMq825X5j3qHDsDo0dIPCgCtW2sTV0qULi0V0Rcv5HXExAB9+mRcUlG+vCz2iowEAgOBrl1l+gEgC8fWrJG+1Xr1JLGtU0d6NHfvTph8pZeSJSW5Cg+XKu3s2Wn/0FGkiLRSVKgA3LoF1K0LHDyY4CFq0aJQFQVKZKQshMooXbvKzNeuXYHffpNtZWNiJGH38pIZsBUryuxbX1/5YGEyyYeI2rUTf06jUWbyurjI6zIv+EoNPz+pxO/eLfHduyftBk2bAuYKNRFZHSaxRFmVp6csegKk4hQRIYlRRIRUIfv21TK65CmKjFACJKnJkUMqii9vo5sRjEb5vcuWyXG6c0f6aydMkKTfnFj/9pucxm7USOaQduki96X34iCDQRLnjh0tex5PT1mJX7u2VHYbNZLXZebtjdsVK8rtTZss+13JKV9eKurLlsm2sz/+KIv3/PykAr55s1RnHz+WXtcqVeTffNmy5J/Xx0e2/QXk3+XlecOp0aABcOKEfGhwdJSFYJUqJb+4kIg0wySWKCszV68CAmQL1GbNZNerS5fkD781M7cUBAfHD7gfMUJ6RzOLu7v0lo4aBaxbJ6fDL16UxKpTJ5n3+vy59HrWqSNVvFmzMmfaQWq5uclisqZNpSWiRQt5Tf+K0qJXWlGAbt3kmG7bJsnjli1yev/x4/iNG1JShe7cWf6dAPmZvXvTFpONTXxbR8mS8m9u3tKW7QVEVoVJLFFWVquWXB87JhWqbduknSAt/ZWZzVyJPXZMTjtXry4TB7p10y6ZUBSZMdqrlySukZEy4aBHD1npfu6c9NkWLSqVQfMmE9bCyUkmMLRvLwus2rWT1wHgWa5c8pj/9q1mBqNRPmANGAA0by7jz2xtU/88X34Z/9pat7ZsFnDZsrKzWMeO0pIzfLjMluWiLyKrwSSWKCszV2KDg9N/q9OMlj+/LExSVTn1vXRp/Cne6dO1jk4oiiTXS5bEj8sqVUoSnX79JP59+7SOMiE7O2DlyvgPAwEBMAwfjrynTsn3vby0jc8SBoO0HtSsKdM4GjWSsw5plSOHJPkLFsgEgy1bpL3lPz3FRKQNJrFEWVnRojJi6cWL+F279KR5c7neskUWe339tXw9apRUQK2Jq6v0GZ86Jdv75solG0rUry/J1I4d1jNQ32iUxLtfP0BVYZw1C/mDg+V7VatqG5ulHByk2lyypEziqF3bsskWiiKLCn//XarwV6/K4rhJk9heQKQx3SWxz58/R8WKFaEoCk78OxaGiJKgKMA778jtjz+On9GpFy1ayPWuXdJ72rMn0LatnKZ//30Zq2RtbGwkObx0STZSMBpl1XvTprKwaenSjJlokFoGg4yTWrUKpk6d8DhfPqhFi8ZvS6xnefPKODTzRIZ69eI3WUirSpWktaVTJ2kvGDUKaNJEnp+INKG7JHb48OEoYN6Skoheb+JEqQqGhsqsUz2pXFnaCh49ktPyiiKLqgoXlvFT5gVf1ihPHumLvXxZtkXNkUMqgt27S3W8UyfpUdbyg4WiAO+/j9ilS7F74ULEnD0rCWBW4OEhu5VVqyYjs+rXt7wNwMUF+OEHmajg5CTj2CpXtjxBJqI00VUS+8svv2DXrl2Yprc/xERa8vSMPw0/bpwsPtILgyG+krxli1y7ucW/nunTk96Fylr4+AAzZ8pp6MmTZZzUkyfAqlXSLuHpKW0IO3dm/Ja32U3u3FIFr11bFgW+9Rbw7beWPad5osLRo9Licv06bOrXR349tusQ6ZyN1gGk1K1bt9CrVy9s3LgRTk5OKfqZ58+f4/lLfxQePHgAAIiOjkZ0EtUP8/1JfZ+Sx+OXdhl67Nq3h3H1ahh++QWmbt0Qu29f/E5eVk5p1gw2S5ZA3bABMdOnS2LbtCmMDRvCsHs3TB99hNh166z/vefsLJMLBg+GEhICZc0aGH76CcqtW7JD2MKFUHPkgNqwIUzNm0Nt0kSqiZnA6o+dJRwdgc2bYQwIgGHLFqBnT8QePgzTzJmyWCutihYFgoJg7NwZhp07UX3KFLxwdET0qFGJ7yxGicrS771MkFWPX0pfj6Kq1rLSIGmqqqJZs2bw9/fH6NGjERERAV9fXxw/fhwVzQO6EzFu3Dh8/vnnr9y/atWqFCfCRFmFw927eGvgQNg+eYIz3bohrGVLrUNKEUN0NJp07QrbJ0/w28SJ+Lt0aQCAy9WrqDdoEAwmE34fMwa3zdvs6ogSGwv3M2dQ4MABeB49CoeX5suqioL7xYvjZtWquPHGG3ik56kB1sBkQvF161By1Sooqor7xYoheMQIPLNwm10lNhZlli5Fka1bAQBX69XDiX79YErLiDAiAgA8efIEHTt2RFRUFFxdXZN8nKZJbFJJ5stCQkJw6NAhrF27Fvv374fRaExxEptYJdbLywt3795N8qBER0cjMDAQjRo1gi3/J5RqPH5plxnHTvnuO9j07QvVwQExx47JamsdMHbvDsOKFYjt108qaP8yfPwxjF9/DdXLC0+DgxF45Ih+33smE3DiBAxbt8KwbRuU48cTfFstXhymli2htmoFtWrVdK32Zaf/bpVdu2Ds0gXK/ftQ8+ZF7IoVUOvXt+g5o6OjcWnoUJRfvBhKbCxM/v6I/ekn2SyDkpWd3nsZIasevwcPHsDd3f21SSxUDd25c0c9d+5cspenT5+qLVu2VA0Gg2o0GuMuAFSj0agGBASk+PdFRUWpANSoqKgkH/PixQt148aN6osXL9LjJWY7PH5plynHzmRS1YYNVRVQVX9/VY2JybjflZ62bpWY8+dPGPOjR6rq56eqgBrTs2fWeu/99ZeqLlyoqk2bqqqdnbx+86VQIVXt319Vg4Lk39RC2e6/27AwVa1QQY6lwaCqEyaoamxsmp/OfPyit29X1Zw55Xn9/FT1zJl0CzmrynbvvXSWVY9fSvI1VVVVTRd2ubu7o2TJksleHBwcMHv2bJw8eRInTpzAiRMnsH37dgDA2rVrMWHCBC1fApG+KIrMB3VxkZXaM2ZoHVHKNGokC7pu3Ei4wtzZOW6hjnHJEuTNSmP3ChYEevcGtm8H7twBVq+WHbZy5JD5p3PnyrzS8uVlYoM1jO3SCz8/mftq3vDh00+Bd9+1eDcutWFDmcfs6wv8+adMRli0yHrmAxNlMbqYTuDt7Y2yZcvGXYoXLw4AKFKkCAoVKqRxdEQ6U7gwMGuW3B492rJB8JnFzg547z25/eOPCb9Xrx7Qvz8AoOI33wC3b2dubJnB1RXo0AFYu1YS2i1bJAFzdpZ/vz59gEKFgGHDZPQYvZ6jo4zK+vZb2SBh2zbZfS0iwrLnLV0aOHxYPng9fSr/Nv/7H7erJcoAukhiiSiddesmo6tevAACAvSxCYI5id227dXK1qRJUP384HTnDmwaNACuXcv8+DKLg4OM5vruO6nIzpghlcV//pGRY0WKSFVx/36tI9WH7t2lKuvjI+PaatUCzp+37Dk9PGSHtqlTAVtbYP16mWbw4YdSqWVllihd6DKJ9fHxgaqqyS7qIqJkKAqweLHM0Tx+HBg/XuuIXu+tt2QkUkTEq7Nuc+RAzJYteOLuDuXCBaBOHcsranrg5iZjuy5dArZuBRo3lgRpyxZpNahbV+akMmlKXsWKwIEDUkW9dk3mylq6gYHBIJXxQ4eA4sWB+/eB+fMBf39ZUPn558D16+kSPlF2pcsklojSQf78sqMUAEyYIMPbrZmzs7QOAFKN/a9ixXBg4kSofn7Sj1i7NnDxYqaGqBnzphA7d0oVsU8facHYv19Oa9esmXgFm+IVLChb1VapAty9Kzt8hYRY/rxVqwJnz8rWyV26yPs4LEw2HilcWHZuCw62/PcQZUNMYomys/btZbFQbCzQs6dcWzPz7l3/Lu78r6ceHojZswcoWVJOtdeuLVuPZiclSgALFkiiNHCgtB8cPiwtCFWrAhs2yGImepW7u7xf6tSRHb6aNZMqt6WMRvkw8f33wK1bsnVtrVpATIzs3FajBvDGG8DevZb/LqJshEksUXY3d66clj55UiYXWDNzEnvggCQZiTFX1CpUkEVeDRoAQ4YAz55lXpzWoFAh2Z43PFxOazs7yyny1q3l2KxZY/0fWrTg6iqtGeaK7NtvAzdvpt/zOzsDnTsDv/0GHDsGdO0qVfMjRzhhgiiVmMQSZXd580p/HiCjhl7aNcrq+PkB3t5SwfrPZgAJeHhIotu7t3w9c6aMOzp5MnPitCaenrLAKCICGDVKxqudOQO8/770gC5bpo+FfZnJxUWq/UWKyIeApk2T/tBkicqV5fhHRsoCvWbN0v93EGVhTGKJCPi//5OE5t496dWzZlWqyPXrFt7kyAEsXCiLnDw8JHGrXl0SuuxYgXR3l97nK1eAL76QRX0XLwLdusGmdGn47NgBvLTDYbbn4SE9xh4ewIkTQKtWGVfNz5dPFugZ+CeZKDX4XwwRyRigr7+W2998IwtRrFXlynKd0tXjzZsDp0/L2KkXL4Dhw2V1+MiRUs3NboudcuUCPvtMKrNTpgAeHlCuXEGFBQtgU6KE3GfN1fjMVKQI8MsvUpndu1faALLjByAiK8UklohEw4ZSbYqNBQYPtt7kLrVJLCDVtI0bpefX1VVOEU+eLM9VooRs+nD6tPW+5ozg4gJ8/DEQEYHYmTPxNE8eKNevAyNGAF5esigsLEzrKLVXubK8d+zsgHXrgH79stf7hMiKMYklonjTp8ss1sDAxMdYWYNKleT6/PnULYRRFKBHD9m69scfgTZtZOX+pUtymr18eaBMGekPvnw5Y2K3Ro6OMPXrh90LFiBm8WKgXDk5rnPmSMX6vfdkEVJ2TtzeekumCCiKtKhMnqx1REQEJrFE9DI/P6nCAsAnn1jnqdP8+aWH0GQC/vgj9T/v5AS0bQv8/LNML1i5UloN7OxkE4Vx4yR5q1VLNoSIikr3l2CNTLa2ULt2lcVvgYGyyEhVpQpZp45sCPDVV9l3W9s2bWSzAl9f2UaWiDTHJJaIEhoxQkZunTkDrFihdTSJK19erk+dsux5XFyAjh2BTZskoV2+XEYqGQzAwYMy3cDTU1by79hhnUl9elMUaS3Ztk16o3v3lor1qVPywcbPT2aazpqVtbf3TUyfPtJ2UrSo1pEQEZjEEtF/5colyQoAjBljnfNV0yuJfVnOnEBAgCSrkZFyyrh0aXn9a9bImCUvL+mfjYxMv99rzUqVktPn164BixbJaXWDQWaafvSRHI969eTDjjW+TzKCs7PWERDRv5jEEtGrBgyQTQMiI4HVq7WO5lXmJPb06Yx5/oIFZYrBmTOy9Wj//kCePNJPO2GCnFJu1Uq2Es0Ou1/lzg306gXs2SMJ7Zw5gL+/tBsEBcl2qgULAkOHZp+tfolIc0xiiehVjo6SuAFSgbM25crJ9alTGbvgSFFkq9Y5c4Dr14GffgLq15fEddMmaT0oUUIG1d+9m3FxWBNPT3lvHDggM2e//FIqsn//LcehRAmp2K5fn70XgxFRhmMSS0SJ++ADwMYGOHw4fU/bp4dSpWQ/+r//luQyM9jZyYKeX3+VXtEBA2Rc1+XLUoEsUEC2dN28OfvsgOXtLe0V4eGyVWvz5tJusHevLITq2ZMbKBBRhmESS0SJ8/SUU+aAVNusiYODVPwAbbaSLVUKmD07vle0ShVJXDdsAFq2lFPrQ4bIB4Ds0G5gNALvvCO7o4WHy+JAgwH47jugQQPg1i2tIySiLIhJLBEl7bPPJBn5+Wdg926to0koo/tiUyJHDukVPXpU4hg6VMZ/3bkDzJwJvPmmjATr1k1Orz98qF2smcXbW0Zxbd8ui+UOHgSqVZOtW4mI0hGTWCJKWvny8b2x/fvLtq3WwpzEalGJTUzZssC0acDVq1KRbN9e2g1u3waWLZPT6+7u0kc7e7ZseRsTo3XUGeftt4HgYKB4cTkm/v7yYYiIKJ0wiSWi5H3+uWzbeuECMHWq1tHEq1BBrq2tX9fWVnpD16yRiuyePbKBRJEi8iFg1y5g0CDZztTVFahdW7Z//flnSfay0mKo4sVlHNfbbwNPnsgmE9Onax0VEWURTGKJKHlubvGJx5dfSjJrDcyV2PPnrXfxkJ2drNSfOVO2tz1/Xj4INGokp9qfPpVV/tOmSYLn7S39tK1bS7X27Fn9J7VubrLoa9Ag+XrYMEnas0OvMBFlKCaxRPR6nTpJNe35c+kBtYYEpGBB2ZghNla2i7V2iiKL0YYNk2rs339Lkrp0KdC3L1CpkiyQunFDFogNGgSUKSOvs0sXaUm4elXrV5E2Njayw5e5kj9tGtC1a/aZ4kBEGYJJLBG9nqLIzk3OzsBvv1nH7FhFiW8psJa+2NQwGGTKwQcfAPPnA6GhwIMHwP79wKRJUq11cJCkdsUKWRzm7S2JcL9++lwoNmyYbO1rNMpratECePRI66iISKeYxBJRyhQuDEycKLdHjJDxUloztxQcPqxtHOnFyUl6ZEeOlGrt/fsyl3bUKKBGDUl8L14E5s2ThWL58gHt2klC+/Sp1tGnTECALHxzcgJ27pRta69c0ToqItIhJrFElHL9+kky9eCBDPvXWrNmcr12LfDsmbaxZAQHB9khbMIESdTv3QM2bpRJEUWLSuL600/xCW1AgIy2svbT9E2byoYI7u7AsWMyZ3fXLq2jIiKdYRJLRClnNAKLF0uP44YNctFSw4ay5en9+1A2bdI2lszg5iabKcyZIxXZY8dkkZSXl7QW/PCDbDrg6Qn06QPs22e9C8OqV5f5ulWrSnLepAkwfrx19FsTkS4wiSWi1ClXDhg+XG4PHqztZACjUXpFARiWLdMuDi0oiozpmjIFiIiQKQf9+8s4tL//lr7l+vXl32vxYutsNyhcWHqse/eWZPuzzyRJv39f68iISAeYxBJR6o0eLavmIyO1X+TVrRugKDDs2QPHzNreVFWlV7VzZ5ksMGsWsGOHLMLSgsEgmwnMmSO9yoGBQPfushDvjz8kSfTykn+369e1iTEpDg6yaPC77wB7exnHVbt21t4IgojSBZNYIko9R0epmgFyCvjxY+1i8fEBGjQAAHj/+mvG/74jR6TC2aABsHKlJGAffSR9ngUKSLLYpg0webL0Dmc2Gxtps/j2W+Cvv2TGb+HCcsp+wgQ5Xl26SCuCNenWDTh0SOIbNkxeBxFRMpjEElHadO8O+PnJtqpz52ofC/5NYjOqp/LWLRmH9cYbQFCQbGTwf/8HfPqpJK2lSskp/r/+kmkBo0fL7l1acnMDhgwBLl+WHcH8/WXR14oV0otap45MCrCWvtnKlYEzZ+Q4ExG9BpNYIkobW1tgzBi5PXOmttMBWrWC6uoKpzt3oBw4kL7PbTJJy0TJkjLjFJBB/WFhMupq/HhJEM+eBaKiZDHVlCnSL+zomL6xpJWNjSTaBw4AwcGyeYWNjfSjvvsujPXqIfcff2gdpXB21joCItIJJrFElHbmitmtW/EJnhYcHaH+738AAMMPP6Tf88bGAh07ykr/f/6RSuHhw7J7VqFCrz7exQWoW1cmBph3p7I21apJJfbKFVmg5+gIw++/o/ann8LYqhVw+rTWERIRpQiTWCJKH1OnajoeydSlCwBAWbcOePLE8idUVeDDD2UGrZ2dLN4KDpY5uVlBgQLSt3v5MmJ79oTJYIBh+3bZBa1rV25AQERWj0ksEaWPsDBZsa8RtWZNPM6XD8qjR+kzv3bRIrkYDMDq1cCgQTLSK6spUACmefOwd84cmFq3luT9+++B4sVlwdrdu1pHSESUKCaxRJR2qgp88kn81337aheLoiDyrbfk9sKFaX8ekwn44gtZtAXIiv7WrS2Pz8o9KlgQsWvWxE9fePFCqs9+fsDYsbKAj4jIijCJJSLLjB8f3x8aFiYLnDQS2agRVPOCpbT0dt67B7RoIUmbuZ1gxIj0D9SaVa8O7Nkjc28rVpSdwL74QkaHde8OnDypdYRERACYxBKRpQyGhIlrmTKaTSp4ljs31JYt5YtvvkndDx85AlSqBGzfLgP4ly6V51CU9A/U2ikK8PbbMkt27VpZDPbihRyTihWBt94CNm+WhW9ERBphEktElnNxkQTHTMPRUiZzG8CKFTLyKiU2bgTq1QOuXgWKFZOElrNK5QNKu3ZyPA4dkttGI7B3r2wPW6IEMHu2VGuJiDIZk1giSh8ffAC891781/fvaxKGWru2VIMfP5Y5rsk+WAVmzJAZqs+eAc2bA0ePAuXLZ06weqEowJtvSlU2PFxaLHLlkvaRQYOAfPkkqf32W+DmTa2jJaJsgkksEaWf9etlZfu8ebJblBYUBRg6VG6PGSMD/hNz/74k3UOHymKuXr1kqoGra+bFqkdeXsBXX0nVev582QTi6VNpL+jZE8ifX3Y1mzBB+pKtZTcwIspymMQSUfrq0kVW9mvZS/rBB0D79kBMDNC2LXD9esLvHzwovZ2bNskM2LlzZaKBjY0W0eqTs7NMozh7Fjh+XBZ/Va0q3ztyRLbdLV8e8PWVBWHz50uV+/lzbeMmoiyD/8cmoqxHUeTU9h9/AGfOSJvAggXAgwfA4sXAunWyKKlIEeDHH2UnLkobRZEPBBUrAp99Jh8Ytm4FtmwBdu+WTROWLo3vmbazk+S2WrX4S+nS0n9LRJQKTGKJKGtydpb2gGrVpFL43522OneWtgcXF23iy6oKFAB695bLkyeyAcaRI0BIiFz+/lsqskePSnUWkAViH30kVXwnJ23jJyLd4EdfIsq6ihYFQkOBgACp9Lm6SqtDaCjwww9MYDOak5NUwb/8UubO3r0ri8HWrJFe5Lp15TEXLkhrgre3VHO5OIyIUoBJLBFlbb6+wPLlspDr1i2pvlaqpHVU2ZOiyA5g7dsD06YB+/ZJwjprFuDjI5tNjB8vyewHH3BjBSJKFpNYIsoeXF1lEwOyLi4uMqbr8mXg55+BmjWB6Gj54FGxoiSzjx5pHSURWSEmsUREpD2jUeb1HjwIHD4s1VqDQZLZatXSto0wEWVpTGKJiMi61KghfbN798pCsfPngerVZbIE584S0b+YxBIRkXWqUwc4cQJo0kR2VOvdWyYYcNYsEYFJLBERWbO8eYFt24DJk6XlYOVKoFkzmflLRNkak1giIrJuBgMwfDjwyy9Ajhwye7ZOHeDGDa0jIyINMYklIiJ9aNQICAoCPDxk/Fb16pLQElG2xCSWiIj0o3Jl4NAhoHhx4K+/gAYNgCFDpGeWiLIVJrFERKQvRYoAx44BffrI1zNnAlWqAAcOaBsXEWUqJrFERKQ/OXIACxYAW7cC+fIBZ88CtWvLfNkrV7SOjogyAZNYIiLSr3feAc6ckfFbigL8+CNQogQwbBgQHq51dESUgZjEEhGRvrm7AwsXAsePA/XqyRzZ6dOl7eCdd6RaGxurdZRElM6YxBIRUdZQoYJMK9i6FWjcWHb32r4daNECKFYM+O47IDpa6yiJKJ0wiSUioqxDUaT6unMncPEiMHQokDu3tBb06AGUKgV8/z0QE6N1pERkISaxRESUNRUrBkybBly9Ku0FefMCYWFA165AmTLAqlVsMyDSMSaxRESUtTk5ySzZ8HDZvjZPHqnSduoElC8P/PQTYDJpHSURpRKTWCIiyh6cnWX72vBwYPx4wM1NRnO1awdUqgSsX89klkhHmMQSEVH24uICfPopEBEBjB0LuLoCp04BbdrIjmAbNjCZJdIBJrFERJQ95cwJjBsnldnRoyW5PXkSaN1aktmff2bPLJEVYxJLRETZW+7cwJdfSmX2009lN7CTJ4G2bYGyZYHlyzmai8gKMYklIiICJJkdP16S2TFjpGf2/Hnggw+A4sWB+fOBZ880DpKIzJjEEhERvSxPHuDzz4ErV4BJk2Q0V0QE8OGHgK8vMHUq8PCh1lESZXtMYomIiBLj6gqMHCkJ7NdfA15ewM2bMuHA21u+d+2a1lESZVtMYomIiJLj5AQMHAhcvixb1xYvDvzzj8yc9fGBsVs35AwL0zpKomyHSSwREVFK2NkB3brJbNmNG4E6dYCYGBhWrkS9oUNhrF9fJhpwS1uiTMEkloiIKDWMRqBlSyAoCAgJgalDB5iMRhgOHpSJBn5+MrLr/HmtIyXK0nSVxG7btg01atSAo6Mj3N3d0bp1a61DIiKi7KxqVcR+/z0CFy9G7CefAO7uwNWrwIQJQKlSQNWqwMyZ7J0lygC6SWLXrVuHLl26oFu3bjh58iQOHjyIjh07ah0WERERnuXODdPnn0sCu2YN0Lw5YGMDHDsGDBkii8Lq1AG++UYWhxGRxWy0DiAlYmJiMGjQIEydOhU9evSIu79EiRIaRkVERPQfDg5A+/ZyuXMH+PFHYNUq4NAh4Lff5DJgAFC3rjymTRsZ4UVEqaaLJDY0NBTXrl2DwWBApUqVcPPmTVSsWBHTpk1DmTJlkvy558+f4/nz53FfP3jwAAAQHR2N6CR2XzHfn9T3KXk8fmnHY2cZHr+047GzTJLHz80N6N1bLlevwrBuHZSff4YhOBjYtw/Ytw9q//5Q69eHqW1bqC1byoYL2Qjfe5bJqscvpa9HUVVVzeBYLLZmzRq8//778Pb2xowZM+Dj44Pp06dj165duHjxInIn8R/9uHHj8Pnnn79y/6pVq+Dk5JTRYRMREb3C8dYtFDx0CAUPHIDbS6O5TDY2uF2hAq7XqoUb1asjxtlZwyiJtPPkyRN07NgRUVFRcHV1TfJxmiaxSSWZLwsJCcHFixfRqVMnLFy4EL179wYgVdZChQph/Pjx6NOnT6I/m1gl1svLC3fv3k3yoERHRyMwMBCNGjWCra1tGl9Z9sXjl3Y8dpbh8Us7HjvLWHT8Ll+G4eefYfjpJyinT8fdrdrbQ23dGqYePaDWrg0oSjpHbR343rNMVj1+Dx48gLu7+2uTWE3bCfr3748OHTok+xgfHx88/Hd7v9KlS8fdb29vDz8/P0RGRib5s/b29rC3t3/lfltb29f+Y6fkMZQ0Hr+047GzDI9f2vHYWSZNx69UKeCzz+Ry7pz00K5dC+XcOSirV8OwerVsrtCzJ9C1K+DhkfrAVFWe+88/ZcGZFeJ7zzJZ7fil9LVomsS6u7vD3d39tY+rUqUK7O3tceHCBdSqVQuAfPqIiIhA4cKFMzpMIiKijFeqFDB2LDBmDBASAixZAqxeDVy8KFvdjhol82l79QIaNpR5tUlRVZmMsH69XC5ckPFfN28m/3NEOqKLhV2urq7o27cvxo4dCy8vLxQuXBhTp04FALRt21bj6IiIiNKRogDVq8tl+nRg7Vpg8WIgOBhYt04udnZA/vxAgQIJL/nyASdPAhs2AC+fqbSzA954A7h3L23VXCIrpIskFgCmTp0KGxsbdOnSBU+fPkWNGjXw66+/IleuXFqHRkRElDFcXKSVoGdP4NQpqc7+8APwzz/AlStySYqzM9CsGdC6tVwn01tIpEe6SWJtbW0xbdo0TJs2TetQiIiIMl/58sDs2cCMGcD164lfbtyQCm3r1kCjRoCjo9ZRE2UY3SSxREREBNkJzNtbLkTZmG62nSUiIiIiMmMSS0RERES6wySWiIiIiHSHSSwRERER6Q6TWCIiIiLSHSaxRERERKQ7TGKJiIiISHeYxBIRERGR7jCJJSIiIiLdYRJLRERERLrDJJaIiIiIdIdJLBERERHpDpNYIiIiItIdJrFEREREpDtMYomIiIhId5jEEhEREZHuMIklIiIiIt1hEktEREREumOjdQCZSVVVAMCDBw+SfEx0dDSePHmCBw8ewNbWNrNCyzJ4/NKOx84yPH5px2NnGR6/tOOxs0xWPX7mPM2ctyUlWyWxDx8+BAB4eXlpHAkRERERJefhw4fImTNnkt9X1NeluVmIyWTC9evX4eLiAkVREn3MgwcP4OXlhatXr8LV1TWTI9Q/Hr+047GzDI9f2vHYWYbHL+147CyTVY+fqqp4+PAhChQoAIMh6c7XbFWJNRgMKFSoUIoe6+rqmqXeEJmNxy/teOwsw+OXdjx2luHxSzseO8tkxeOXXAXWjAu7iIiIiEh3mMQSERERke4wif0Pe3t7jB07Fvb29lqHoks8fmnHY2cZHr+047GzDI9f2vHYWSa7H79stbCLiIiIiLIGVmKJiIiISHeYxBIRERGR7jCJJSIiIiLdYRJLRERERLrDJDYJERER6NGjB3x9feHo6IgiRYpg7NixePHihdahWa158+bB19cXDg4OqFKlCn777TetQ9KFSZMmoVq1anBxcYGHhwdatWqFCxcuaB2WLk2aNAmKomDw4MFah6Ib165dQ+fOnZEnTx44OTmhYsWKOHbsmNZhWb2YmBiMHj067m+En58fvvjiC5hMJq1Ds0r79+9HixYtUKBAASiKgo0bNyb4vqqqGDduHAoUKABHR0fUq1cPf/zxhzbBWqHkjl90dDRGjBiBcuXKwdnZGQUKFEBAQACuX7+uXcCZhElsEs6fPw+TyYSFCxfijz/+wMyZM7FgwQKMGjVK69Cs0tq1azF48GB8+umnOH78OGrXro2mTZsiMjJS69CsXlBQEPr164fDhw8jMDAQMTExaNy4MR4/fqx1aLoSEhKCRYsWoXz58lqHohv379+Hv78/bG1t8csvv+Ds2bOYPn063NzctA7N6k2ePBkLFizA3Llzce7cOUyZMgVTp07FnDlztA7NKj1+/BgVKlTA3LlzE/3+lClTMGPGDMydOxchISHw9PREo0aN8PDhw0yO1Dold/yePHmC0NBQfPbZZwgNDcX69etx8eJFvPvuuxpEmslUSrEpU6aovr6+WodhlapXr6727ds3wX0lS5ZUR44cqVFE+nX79m0VgBoUFKR1KLrx8OFDtVixYmpgYKBat25dddCgQVqHpAsjRoxQa9WqpXUYuvTOO++o3bt3T3Bf69at1c6dO2sUkX4AUDds2BD3tclkUj09PdWvvvoq7r5nz56pOXPmVBcsWKBBhNbtv8cvMcHBwSoA9cqVK5kTlEZYiU2FqKgo5M6dW+swrM6LFy9w7NgxNG7cOMH9jRs3xqFDhzSKSr+ioqIAgO+1VOjXrx/eeecdNGzYUOtQdGXz5s2oWrUq2rZtCw8PD1SqVAmLFy/WOixdqFWrFvbs2YOLFy8CAE6ePIkDBw6gWbNmGkemP+Hh4bh582aCvyH29vaoW7cu/4akUVRUFBRFyfJnVWy0DkAvwsLCMGfOHEyfPl3rUKzO3bt3ERsbi3z58iW4P1++fLh586ZGUemTqqoYMmQIatWqhbJly2odji6sWbMGoaGhCAkJ0ToU3fnzzz8xf/58DBkyBKNGjUJwcDAGDhwIe3t7BAQEaB2eVRsxYgSioqJQsmRJGI1GxMbGYsKECXj//fe1Dk13zH8nEvsbcuXKFS1C0rVnz55h5MiR6NixI1xdXbUOJ0Nlu0rsuHHjoChKspejR48m+Jnr16+jSZMmaNu2LXr27KlR5NZPUZQEX6uq+sp9lLz+/fvj1KlTWL16tdah6MLVq1cxaNAgrFixAg4ODlqHozsmkwmVK1fGxIkTUalSJfTp0we9evXC/PnztQ7N6q1duxYrVqzAqlWrEBoaiuXLl2PatGlYvny51qHpFv+GWC46OhodOnSAyWTCvHnztA4nw2W7Smz//v3RoUOHZB/j4+MTd/v69euoX78+3nzzTSxatCiDo9Mnd3d3GI3GV6qut2/ffuWTNSVtwIAB2Lx5M/bv349ChQppHY4uHDt2DLdv30aVKlXi7ouNjcX+/fsxd+5cPH/+HEajUcMIrVv+/PlRunTpBPeVKlUK69at0ygi/fj4448xcuTIuL8n5cqVw5UrVzBp0iR07dpV4+j0xdPTE4BUZPPnzx93P/+GpE50dDTatWuH8PBw/Prrr1m+CgtkwyTW3d0d7u7uKXrstWvXUL9+fVSpUgVLly6FwZDtCtcpYmdnhypVqiAwMBDvvfde3P2BgYFo2bKlhpHpg6qqGDBgADZs2IB9+/bB19dX65B0o0GDBjh9+nSC+7p164aSJUtixIgRTGBfw9/f/5VxbhcvXkThwoU1ikg/njx58srfBKPRyBFbaeDr6wtPT08EBgaiUqVKAGStRVBQECZPnqxxdPpgTmAvXbqEvXv3Ik+ePFqHlCmyXRKbUtevX0e9evXg7e2NadOm4c6dO3HfM39qpHhDhgxBly5dULVq1biqdWRkJPr27at1aFavX79+WLVqFTZt2gQXF5e4inbOnDnh6OiocXTWzcXF5ZXeYWdnZ+TJk4c9xSnw0UcfoWbNmpg4cSLatWuH4OBgLFq0iGedUqBFixaYMGECvL29UaZMGRw/fhwzZsxA9+7dtQ7NKj169AiXL1+O+zo8PBwnTpxA7ty54e3tjcGDB2PixIkoVqwYihUrhokTJ8LJyQkdO3bUMGrrkdzxK1CgAP73v/8hNDQUW7duRWxsbNzfkdy5c8POzk6rsDOetsMRrNfSpUtVAIleKHHffPONWrhwYdXOzk6tXLkyR0SlUFLvs6VLl2odmi5xxFbqbNmyRS1btqxqb2+vlixZUl20aJHWIenCgwcP1EGDBqne3t6qg4OD6ufnp3766afq8+fPtQ7NKu3duzfR/8917dpVVVUZszV27FjV09NTtbe3V+vUqaOePn1a26CtSHLHLzw8PMm/I3v37tU69AylqKqqZk66TERERESUPtjkSURERES6wySWiIiIiHSHSSwRERER6Q6TWCIiIiLSHSaxRERERKQ7TGKJiIiISHeYxBIRERGR7jCJJSIiIiLdYRJLRJTF7Nu3D4qi4J9//kn2cT4+Ppg1a1amxERElN6YxBIRpVFsbCxq1qyJNm3aJLg/KioKXl5eGD16dJI/W69ePSiKAkVRYG9vj+LFi2PixImIjY21OK6aNWvixo0byJkzJwBg2bJlcHNze+VxISEh6N27t8W/j4hIC0xiiYjSyGg0Yvny5dixYwdWrlwZd/+AAQOQO3dujBkzJtmf79WrF27cuIELFy5g4MCBGD16NKZNm2ZxXHZ2dvD09ISiKMk+Lm/evHBycrL49xERaYFJLBGRBYoVK4ZJkyZhwIABuH79OjZt2oQ1a9Zg+fLlsLOzS/ZnnZyc4OnpCR8fH/Tv3x8NGjTAxo0bAQD3799HQEAAcuXKBScnJzRt2hSXLl2K+9krV66gRYsWyJUrF5ydnVGmTBls374dQMJ2gn379qFbt26IioqKq/yOGzcOwKvtBJGRkWjZsiVy5MgBV1dXtGvXDrdu3Yr7/rhx41CxYkX88MMP8PHxQc6cOdGhQwc8fPgwfQ4mEVEqMIklIrLQgAEDUKFCBQQEBKB3794YM2YMKlasmOrncXR0RHR0NADggw8+wNGjR7F582b8/vvvUFUVzZo1i/t+v3798Pz5c+zfvx+nT5/G5MmTkSNHjlees2bNmpg1axZcXV1x48YN3LhxA8OGDXvlcaqqolWrVvj7778RFBSEwMBAhIWFoX379gkeFxYWho0bN2Lr1q3YunUrgoKC8NVXX6X6tRIRWcpG6wCIiPROURTMnz8fpUqVQrly5TBy5MhU/bzJZMKuXbuwc+dODB48GJcuXcLmzZtx8OBB1KxZEwCwcuVKeHl5YePGjWjbti0iIyPRpk0blCtXDgDg5+eX6HPb2dkhZ86cUBQFnp6eScawe/dunDp1CuHh4fDy8gIA/PDDDyhTpgxCQkJQrVq1uFiXLVsGFxcXAECXLl2wZ88eTJgwIVWvmYjIUqzEEhGlg++++w5OTk4IDw/HX3/9laKfmTdvHnLkyAEHBwe8++676Ny5M8aOHYtz587BxsYGNWrUiHtsnjx5UKJECZw7dw4AMHDgQIwfPx7+/v4YO3YsTp06ZVH8586dg5eXV1wCCwClS5eGm5tb3O8EpAXBnMACQP78+XH79m2LfjcRUVowiSUistDvv/+OmTNnYtOmTXjzzTfRo0cPqKr62p/r1KkTTpw4gbCwMDx9+hTffvstnJyckvxZVVXjFmv17NkTf/75J7p06YLTp0+jatWqmDNnTppfw8vPndz9tra2Cb6vKApMJlOafy8RUVoxiSUissDTp0/RtWtX9OnTBw0bNsSSJUsQEhKChQsXvvZnc+bMiaJFi8LLywtGozHu/tKlSyMmJgZHjhyJu+/evXu4ePEiSpUqFXefl5cX+vbti/Xr12Po0KFYvHhxor/Hzs7utaO7SpcujcjISFy9ejXuvrNnzyIqKirB7yQishZMYomILDBy5EiYTCZMnjwZAODt7Y3p06fj448/RkRERJqes1ixYmjZsiV69eqFAwcO4OTJk+jcuTMKFiyIli1bAgAGDx6MnTt3Ijw8HKGhofj111+TTDZ9fHzw6NEj7NmzB3fv3sWTJ09eeUzDhg1Rvnx5dOrUCaGhoQgODkZAQADq1q2LqlWrpul1EBFlJCaxRERpFBQUhG+++QbLli2Ds7Nz3P29evVCzZo1U9xWkJilS5eiSpUqaN68Od58802oqort27fHnc6PjY1Fv379UKpUKTRp0gQlSpTAvHnzEn2umjVrom/fvmjfvj3y5s2LKVOmvPIYRVGwceNG5MqVC3Xq1EHDhg3h5+eHtWvXpil+IqKMpqhp/T8sEREREZFGWIklIiIiIt1hEktEREREusMkloiIiIh0h0ksEREREekOk1giIiIi0h0msURERESkO0xiiYiIiEh3mMQSERERke4wiSUiIiIi3WESS0RERES6wySWiIiIiHTn/wHqwdMk2UmIygAAAABJRU5ErkJggg==\n" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0oAAAI6CAYAAAAZj7iYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABy1UlEQVR4nO3dd3wUdf7H8ffsppAKkhASIAkQeg+CNOkCAnIoFhALeBZOBQXkwJ8VLGA7+4nlBLEg6CnKKSIoTTRIJ9SIEAhVCC2QhJDdnd8fmJHdJJjFhE15PR+PPB7sZ7478/nsftmdz87srGGapikAAAAAgMXm6wQAAAAAoLShUQIAAAAADzRKAAAAAOCBRgkAAAAAPNAoAQAAAIAHGiUAAAAA8ECjBAAAAAAeaJQAAAAAwAONEgAAAAB4oFECgGL23nvvyTAM669SpUqKjo5W9+7dNWXKFB06dCjffSZOnCjDMLzaTlZWliZOnKglS5Z4db+CtlW7dm1dddVVXq3nz8ycOVMvv/xygcsMw9DEiROLdXvF7fvvv1ebNm0UEhIiwzD0xRdfFDhu165dbs+3v7+/IiIi1LZtW40ZM0abN2/Od58lS5bIMAyvn7s33nhD7733nvfFAAC8RqMEACVk+vTpSkpK0sKFC/Xvf/9brVq10rPPPqvGjRvru+++cxt7xx13KCkpyav1Z2VladKkSV7vbF/Iti7E+RqlpKQk3XHHHSWew4UyTVM33HCD/P39NXfuXCUlJalr167nvc+oUaOUlJSkpUuX6oMPPtDVV1+tuXPnqmXLlnr++efdxrZu3VpJSUlq3bq1V3nRKAHAxePn6wQAoLxq1qyZ2rRpY92+9tprNWbMGF1++eUaNGiQtm/frurVq0uSatWqpVq1apVoPllZWQoODr4o2/oz7du39+n2/8z+/ft19OhRXXPNNerZs2eR7hMXF+dWV79+/TR27FgNGjRI48ePV7NmzdS3b19JUnh4eKl/DACgouOIEgBcRHFxcfrXv/6lkydP6q233rLiBZ0Ot2jRInXr1k0REREKCgpSXFycrr32WmVlZWnXrl2qVq2aJGnSpEnWaV/Dhw93W9/atWt13XXX6ZJLLlFCQkKh28ozZ84ctWjRQpUqVVLdunX16quvui3PO61w165dbnHPU8m6deumr7/+Wrt373Y7LS1PQafebdq0SQMHDtQll1yiSpUqqVWrVpoxY0aB2/n444/18MMPq0aNGgoPD9cVV1yhlJSUwh/4cyxfvlw9e/ZUWFiYgoOD1bFjR3399dfW8okTJ1qN5IQJE2QYhmrXrl2kdXsKCgrSu+++K39/f7ejSgWderdz504NGTJENWrUUGBgoKpXr66ePXtq/fr1ks6eHrl582YtXbrUejzz8jp9+rQeeOABtWrVSpUrV1bVqlXVoUMHffnll/lyMgxDI0eO1AcffKDGjRsrODhYLVu21FdffZVv7LZt23TjjTeqevXqCgwMVFxcnG699Vbl5ORYYw4ePKgRI0aoVq1aCggIUJ06dTRp0iQ5HA63dU2dOlUtW7ZUaGiowsLC1KhRIz300EMX9LgCwMXAESUAuMj69esnu92uZcuWFTpm165d6t+/vzp37qxp06apSpUq2rdvn+bPn68zZ84oJiZG8+fP15VXXqnbb7/dOo0tr3nKM2jQIA0ZMkT/+Mc/lJmZed681q9fr9GjR2vixImKjo7WRx99pPvvv19nzpzRuHHjvKrxjTfe0F133aUdO3Zozpw5fzo+JSVFHTt2VFRUlF599VVFREToww8/1PDhw/Xbb79p/PjxbuMfeughderUSf/5z3+UkZGhCRMmaMCAAdq6davsdnuh21m6dKl69eqlFi1a6N1331VgYKDeeOMNDRgwQB9//LEGDx6sO+64Qy1bttSgQYM0atQoDR06VIGBgV7Vf64aNWro0ksv1U8//SSHwyE/v4Lfevv16yen06nnnntOcXFxSk9P108//aTjx49LOtvEXnfddapcubLeeOMNSbLyysnJ0dGjRzVu3DjVrFlTZ86c0XfffadBgwZp+vTpuvXWW9229fXXX2vVqlV64oknFBoaqueee07XXHONUlJSVLduXUnShg0bdPnllysyMlJPPPGE6tevrwMHDmju3Lk6c+aMAgMDdfDgQV122WWy2Wx67LHHlJCQoKSkJD311FPatWuXpk+fLkmaNWuW7rnnHo0aNUovvPCCbDabfv31V23ZsuWCH1cAKHEmAKBYTZ8+3ZRkrlq1qtAx1atXNxs3bmzdfvzxx81zX5L/+9//mpLM9evXF7qOw4cPm5LMxx9/PN+yvPU99thjhS47V3x8vGkYRr7t9erVywwPDzczMzPdaktNTXUbt3jxYlOSuXjxYivWv39/Mz4+vsDcPfMeMmSIGRgYaKalpbmN69u3rxkcHGweP37cbTv9+vVzG/fJJ5+YksykpKQCt5enffv2ZlRUlHny5Ekr5nA4zGbNmpm1atUyXS6XaZqmmZqaakoyn3/++fOur6hjBw8ebEoyf/vtN7c68h6v9PR0U5L58ssvn3dbTZs2Nbt27fqnOTkcDjM3N9e8/fbbzcTERLdlkszq1aubGRkZVuzgwYOmzWYzp0yZYsV69OhhVqlSxTx06FCh2xkxYoQZGhpq7t692y3+wgsvmJLMzZs3m6ZpmiNHjjSrVKnyp3kDQGnCqXcA4AOmaZ53eatWrRQQEKC77rpLM2bM0M6dOy9oO9dee22RxzZt2lQtW7Z0iw0dOlQZGRlau3btBW2/qBYtWqSePXsqNjbWLT58+HBlZWXlu/jE3/72N7fbLVq0kCTt3r270G1kZmbq559/1nXXXafQ0FArbrfbdcstt2jv3r1FPn3PW3/2fFetWlUJCQl6/vnn9eKLL2rdunVyuVxebePTTz9Vp06dFBoaKj8/P/n7++vdd9/V1q1b843t3r27wsLCrNvVq1dXVFSU9fhlZWVp6dKluuGGG/IdpTzXV199pe7du6tGjRpyOBzWX953sZYuXSpJuuyyy3T8+HHdeOON+vLLL5Wenu5VbQDgCzRKAHCRZWZm6siRI6pRo0ahYxISEvTdd98pKipK9957rxISEpSQkKBXXnnFq23FxMQUeWx0dHShsSNHjni1XW8dOXKkwFzzHiPP7UdERLjdzjsFLTs7u9BtHDt2TKZperWd4rJ7924FBgaqatWqBS43DEPff/+9+vTpo+eee06tW7dWtWrVdN999+nkyZN/uv7PP/9cN9xwg2rWrKkPP/xQSUlJWrVqlf7+97/r9OnT+cZ7Pn7S2ccw7/E7duyYnE7nn17047ffftP//vc/+fv7u/01bdpUkqyG6JZbbtG0adO0e/duXXvttYqKilK7du20cOHCP60NAHyF7ygBwEX29ddfy+l0qlu3bucd17lzZ3Xu3FlOp1OrV6/Wa6+9ptGjR6t69eoaMmRIkbblzW8zHTx4sNBY3o51pUqVJMnty/yS/vIRgoiICB04cCBffP/+/ZKkyMjIv7R+Sbrkkktks9lKfDue9u3bpzVr1qhr166Ffj9JkuLj4/Xuu+9Kkn755Rd98sknmjhxos6cOaM333zzvNv48MMPVadOHc2ePdvtOfd8noqqatWqstvt2rt373nHRUZGqkWLFnr66acLXH7uhwG33XabbrvtNmVmZmrZsmV6/PHHddVVV+mXX35RfHz8BeUJACWJI0oAcBGlpaVp3Lhxqly5skaMGFGk+9jtdrVr107//ve/Jck6Da4oR1G8sXnzZm3YsMEtNnPmTIWFhVm/95N3lbXk5GS3cXPnzs23vnOPUPyZnj17atGiRVbDkuf9999XcHBwsVxKOyQkRO3atdPnn3/ulpfL5dKHH36oWrVqqUGDBn95O+fKzs7WHXfcIYfDke+CFOfToEEDPfLII2revLnbaY+FPaaGYSggIMCtSTp48GCBV70riqCgIHXt2lWffvrpeZvgq666Sps2bVJCQoLatGmT76+go6YhISHq27evHn74YZ05c6bAH+QFgNKAI0oAUEI2bdpkfWfj0KFD+uGHHzR9+nTZ7XbNmTPnvN/9ePPNN7Vo0SL1799fcXFxOn36tKZNmyZJuuKKKyRJYWFhio+P15dffqmePXuqatWqioyMvOBLWdeoUUN/+9vfNHHiRMXExOjDDz/UwoUL9eyzzyo4OFiS1LZtWzVs2FDjxo2Tw+HQJZdcojlz5mj58uX51te8eXN9/vnnmjp1qi699FLZbDa335U61+OPP2593+Wxxx5T1apV9dFHH+nrr7/Wc889p8qVK19QTZ6mTJmiXr16qXv37ho3bpwCAgL0xhtvaNOmTfr444+9OgLnKS0tTStWrJDL5dKJEye0bt0663Szf/3rX+rdu3eh901OTtbIkSN1/fXXq379+goICNCiRYuUnJysBx980BrXvHlzzZo1S7Nnz1bdunVVqVIlNW/eXFdddZU+//xz3XPPPbruuuu0Z88ePfnkk4qJidH27dsvqJ4XX3xRl19+udq1a6cHH3xQ9erV02+//aa5c+fqrbfeUlhYmJ544gktXLhQHTt21H333aeGDRvq9OnT2rVrl+bNm6c333xTtWrV0p133qmgoCB16tRJMTExOnjwoKZMmaLKlSurbdu2F5QfAJQ4H19MAgDKnbwrw+X9BQQEmFFRUWbXrl3NyZMnF3gVMc8r0SUlJZnXXHONGR8fbwYGBpoRERFm165dzblz57rd77vvvjMTExPNwMBAU5I5bNgwt/UdPnz4T7dlmmevete/f3/zv//9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i6LIp97Z7XY9+OCDuuGGG3T33XcrJCREr7/+umrUqFGS+QEAAADARef1xRzq1q2rb7/9VldffbW6dOmif//73yWRFwAAAAD4TJEbpRMnTmjChAkaMGCAHnnkEQ0aNEg///yzVq5cqfbt22vjxo0lmScAAAAAXDRFbpSGDRumFStWqH///kpJSdHdd9+tiIgIzZgxQ08//bRuuOEGTZgwoSRzBQAAAICLosjfUfr++++1bt061atXT3feeafq1atnLevZs6fWrl2rJ598skSSBAAAAICLqchHlOrXr6+3335bv/zyi958803Fx8e7LQ8KCtLkyZOLPUEAAAAAuNiK3ChNmzZNixYtUmJiombOnKmpU6eWZF4AAAAA4DNFPvWuVatWWr16dUnmAgAAAAClgteXBy8K0zRLYrUAAAAAcFEUqVFq3LixZs6cqTNnzpx33Pbt23X33Xfr2WefLZbkAAAAAMAXinTq3b///W9NmDBB9957r3r37q02bdqoRo0aqlSpko4dO6YtW7Zo+fLl2rJli0aOHKl77rmnpPMGAAAAgBJTpEapR48eWrVqlX766SfNnj1bM2fO1K5du5Sdna3IyEglJibq1ltv1c0336wqVaqUcMoAAAAAULKKfDEHSerYsaM6duxYUrkAAAAAQKlQIhdzAAAAAICyjEYJAAAAADzQKAEAAACAB582SlOmTFHbtm0VFhamqKgoXX311UpJSXEbM3z4cBmG4fbXvn17H2UMAAAAoCLwaaO0dOlS3XvvvVqxYoUWLlwoh8Oh3r17KzMz023clVdeqQMHDlh/8+bN81HGAAAAACoCr656J0lr166Vv7+/mjdvLkn68ssvNX36dDVp0kQTJ05UQEBAkdc1f/58t9vTp09XVFSU1qxZoy5duljxwMBARUdHe5sqAAAAAFwQr48ojRgxQr/88oskaefOnRoyZIiCg4P16aefavz48X8pmRMnTkiSqlat6hZfsmSJoqKi1KBBA9155506dOjQX9oOAAAAAJyP10eUfvnlF7Vq1UqS9Omnn6pLly6aOXOmfvzxRw0ZMkQvv/zyBSVimqbGjh2ryy+/XM2aNbPiffv21fXXX6/4+Hilpqbq0UcfVY8ePbRmzRoFBgbmW09OTo5ycnKs2xkZGZKk3Nxc5ebmSpJsNpvsdrucTqdcLpc1Ni/ucDhkmqYVt9vtstlshcbz1pvHz+/sw+pwOIoU9/f3l8vlktPptGKGYcjPz6/QeGG5U1PFqCnv33aZsrn+yNNl2M+uz/wjl/PGbX6SabrFTRkybXbJdMlmuvLFDdMlo6C4yylD5+Ro2GQatnxxl2GTCozbJcNwq6ci1WT//X6maeabqyU59/Lmki3fXOJ5Kqs12WXKZjv7OWh5et0rj6/l1ERN1HTxa/Jcfj5eN0qmaVpFfPfdd7rqqqskSbGxsUpPT/d2dZaRI0cqOTlZy5cvd4sPHjzY+nezZs3Upk0bxcfH6+uvv9agQYPyrWfKlCmaNGlSvviCBQsUHBwsSYqLi1NiYqKSk5OVlpZmjWnYsKEaNWqklStX6vDhw1a8VatWio+P17Jly3Ty5Ekr3qFDB0VFRWnBggVuE6d79+4KCgrK912qfv36KTs7W4sXL7Zifn5+6t+/v9LT05WUlGTFw8LC1KNHD+3Zs0fr16+34tWqVVPHjh21fft2twtfUFPFqikyMlKS1Dk4U357f7biO6IT5fALUMNzYpKUUqud/BxnlHBwnRVzGnb9EtteIaePK+7wFiue4x+knTGtVSXzkGKO7rDipypV0Z6opoo4sVfVMvZY8eMhUToQUV/Rx3aqSuYfR3sPh8cqvUqcaqVvU+jp41b8QNUEHQ+NVp3fNigwN9uKp1VrosygS1Rv32rZz9nRrCg1NQyR3g4KksPhcJuTJT33wsPDJUktA08r4px8eJ7Kbk0NQ6SlLVpIUrl63SuPr+XURE3UdPFrysrKUlEZ5rmtWBH06NFDsbGxuuKKK3T77bdry5YtqlevnpYuXaphw4Zp165d3qxOkjRq1Ch98cUXWrZsmerUqfOn4+vXr6877rhDEyZMyLesoCNKeU1c3g4B3Tg1lfWakpOT1aZNG93/0ULVaPjHEdiy+gm4lWM5+lTf25r2p2zSKzf10urVq9Xi953cPCU59/Lm0n0fLVRNt7nE81RWa9qfskmv3dJHq1atsr5PnKcsv+6Vx9dyaqImarr4NWVkZCgyMlInTpyweoPCeH1E6eWXX9ZNN92kL774Qg8//LDq1asnSfrvf/+rjh07erUu0zQ1atQozZkzR0uWLClSk3TkyBHt2bNHMTExBS4PDAws8JQ8f39/+fv7u8Xsdrvsdnu+sXkPaFHjnuu9kLjNZrNOlShKvLDcqali1GQYhiTJKePszpkHl1HwegqMG0YhcdvZnTAPeTts+eI2+zm7bxceL6geqfzX5JTxe+rGRZ17eXPJVchc4nkqezU5ZVg7G+Xpde98OXobpyZqkqipsBy9jZe1mgpbXuA2ijzydy1atNDGjRvzxZ9//vkCizufe++9VzNnztSXX36psLAwHTx4UJJUuXJlBQUF6dSpU5o4caKuvfZaxcTEaNeuXXrooYcUGRmpa665xtvUAQAAAKBIvG6U8pw5c0aHDh1yO0QmnT3PsKimTp0qSerWrZtbfPr06Ro+fLjsdrs2btyo999/X8ePH1dMTIy6d++u2bNnKyws7EJTBwAAAIDzuqCr3t1+++366aef3OKmacowDLdzEf/Mn309KigoSN9++623KQIAAADAX+J1o3TbbbfJz89PX331lWJiYqzz2wEAAACgvPC6UVq/fr3WrFmjRo0alUQ+AAAAAOBz+S9F8SeaNGnyl34vCQAAAABKO68bpWeffVbjx4/XkiVLdOTIEWVkZLj9AQAAAEBZ5/Wpd1dccYUkqWfPnm7xC7mYAwAAAACURl43SosXLy6JPAAAAACg1PC6UeratWtJ5AEAAAAApYbXjdKyZcvOu7xLly4XnAwAAAAAlAZeN0rdunXLFzv3t5T4jhIAAACAss7rq94dO3bM7e/QoUOaP3++2rZtqwULFpREjgAAAABwUXl9RKly5cr5Yr169VJgYKDGjBmjNWvWFEtiAAAAAOArXh9RKky1atWUkpJSXKsDAAAAAJ/x+ohScnKy223TNHXgwAE988wzatmyZbElBgAAAAC+4nWj1KpVKxmGIdM03eLt27fXtGnTii0xAAAAAPAVrxul1NRUt9s2m03VqlVTpUqVii0pAAAAAPAlrxul+Pj4AuNr167VY489pq+++uovJwUAAAAAvuTVxRwWLlyof/7zn3rooYe0c+dOSdK2bdt09dVXq23btnI4HCWSJAAAAABcTEVulGbMmKE+ffpo+vTpeuaZZ9S+fXt9+OGHuuyyy3TJJZdow4YNmj9/fknmCgAAAAAXRZEbpZdeekmTJ09Wenq6Zs2apfT0dL300ktat26dpk+frmbNmpVkngAAAABw0RS5UdqxY4cGDx4sSbruuutkt9v14osvKiEhocSSAwAAAABfKHKjlJmZqZCQkLN3stlUqVIlxcbGllhiAAAAAOArXl31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tWXLFi1atEiVK1cuiRwBAAAA4KLyulGaPHmyXnrpJX311VcKCAjQK6+8oq1bt+qGG25QXFxcSeQIAAAAABeV143Sjh071L9/f0lSYGCgMjMzZRiGxowZo7fffrvYEwQAAACAi83rRqlq1ao6efKkJKlmzZratGmTJOn48ePKysoq3uwAAAAAwAe8vphD586dtXDhQjVv3lw33HCD7r//fi1atEgLFy5Uz549SyJHAAAAALiovG6UXn/9dZ0+fVqS9H//93/y9/fX8uXLNWjQID366KPFniAAAAAAXGxeN0pVq1a1/m2z2TR+/HiNHz++WJMCAAAAAF/y+jtKdrtdhw4dyhc/cuSI7HZ7sSQFAAAAAL7kdaNkmmaB8ZycHAUEBPzlhAAAAADA14p86t2rr74qSTIMQ//5z38UGhpqLXM6nVq2bJkaNWpU/BmWM2lpaUpPT/d1GihmkZGR/I4YAABAOVLkRumll16SdPaI0ptvvul2ml1AQIBq166tN998s/gzLEfS0tLUqHFjZXMZ9XInKDhY27ZupVkCAAAoJ4rcKKWmpkqSunfvrs8//1yXXHJJiSVVXqWnpys7K0s3PDVVUXXq+zodFJNDqdv1ySN3Kz09nUYJAACgnPD6qneLFy8uiTwqlKg69VWzcUtfpwEAAACgEF43Sk6nU++9956+//57HTp0SC6Xy235okWLii05AAAAAPAFrxul+++/X++995769++vZs2ayTCMksgLAAAAAHzG60Zp1qxZ+uSTT9SvX7+SyAcAAAAAfM7r31EKCAhQvXr1SiIXAAAAACgVvG6UHnjgAb3yyiuF/vAsAAAAAJR1Xp96t3z5ci1evFjffPONmjZtKn9/f7fln3/+ebElBwAAAAC+4HWjVKVKFV1zzTUlkQsAAAAAlApeN0rTp08viTwAAAAAoNTw+jtKkuRwOPTdd9/prbfe0smTJyVJ+/fv16lTp4o1OQAAAADwBa+PKO3evVtXXnml0tLSlJOTo169eiksLEzPPfecTp8+rTfffLMk8gQAAACAi8brI0r333+/2rRpo2PHjikoKMiKX3PNNfr++++LNTkAAAAA8IULuurdjz/+qICAALd4fHy89u3bV2yJAQAAAICveH1EyeVyyel05ovv3btXYWFhxZIUAAAAAPiS141Sr1699PLLL1u3DcPQqVOn9Pjjj6tf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Srvjx48rJSVF6enp+uc//ylJeuedd3TgwAF9//33Gj9+vIKCgnTdddfRHOGCeJ7mm/deWLNmTb3++utq27atFi5cqLVr16pJkyY+zBRlSd6FQAzDsH7iok6dOho3bpwMw9D111+vypUra8GCBVwK3Ie4mAOKLG8no1+/ftq+fbuee+45nTx50loeHh6u0aNHa9WqVUpKSvJVmigDIiIiNHLkSNWvX1+SNGvWLD3++OP6+OOPtXjxYn3wwQc6duyYFi1a5ONMUdpFRUWpZ8+emjt3rrZv364xY8aoZcuWuvLKK3X//ffriiuu0Pfffy+n0ynONMf5uFyufJf8zsnJkZ+fn1JTU/XUU0+5HZV0uVx64YUXlJGRoaVLl3KRIhSZ0+mUzWbToUOHJMntSp21a9dWenq6KleurB9//FFt27b1VZoQjRIuQEJCgj755BPNnDlT//d//6f09HRrWUBAgBITE7m+P/5UWFiY9e8OHTpo9erVGjx4sKpWraouXbqoevXqWr16tQ8zRFlgGIYeeOABTZ8+XV9//bV15UTp7OlR1atX15YtW6xPboGCbNmyRcOHD1evXr101113adasWee9kqt09reV9u3bpxUrVqhp06Y+zB5lSd4FiXbv3q1atWrp1VdftZa5XC69/fbbmj9/vr7//nuOUJYCNEq4IN27d9enn36q//znP7rrrrv08ccfa/PmzXr++ee1d+9eJSQk+DpFlCHx8fHWb42YpqmcnByFhoaqffv2Ps4MZUGbNm30zTffSJLefvttbd682VqWm5urBg0a5PshbCDPtm3bdPnllysgIED9+/dXamqqHnnkEY0ZM0bHjx/XiBEj1Lt3b7333ntu92vcuLE++OADficJBUpNTdVLL72kBx54QLNnz7bidrtd+/fvV/v27XXHHXdo5MiR1jKbzaZWrVpp9erVzKtSgqve4S9Zu3atxo4dq9TUVPn5+cnf318ff/yxEhMTfZ0ayrDHHntMM2bM0HfffWedngf8mWXLlunGG29UrVq11Lx5c505c0Zz587V8uXL+b0tFCgnJ0e33367IiIi9Morr0iSTp8+rfbt2ys5OVk9e/bU6NGj1b9/f7f7cdVEnM/GjRvVr18/NWrUSFlZWVqxYoWeeeYZ63uUU6dO1YEDBzRp0iTmUSnHxRzwl7Ru3Vpz587V0aNHderUKUVHR/M7Sbhg//3vf7VkyRLNmjVLCxcupEmCV7p06aJFixbpww8/1IoVK1S/fn2aJJxXYGCgDh48aL3WnD59WpUqVVKfPn1Ut25dHTx4UFu3bs3XKLFzi8Ls3r1bgwYN0tChQzV58mTZ7XZNmzZNDz/8sK6++mrVr19fI0aMkM3GSV1lAY0S/rLw8HCFh4f7Og2UA40bN9ann36qZcuWcW42LkjDhg315JNPWl/KZ2cEhTFNU9nZ2Tpz5ox27Nghh8OhSpUqad++fZo9e7Yef/xxLVq0SPPmzdO4ceN8nS7KAJfLpVmzZqlevXp66KGHZLfbJUmXXXaZ/P39eV0qg2iUAJQaTZs21Ycffuh2BSDgQrAjgj9jGIaCg4M1ZcoUdenSRbt371Z8fLw+//xz3XjjjbrtttvUtm1bdejQQSkpKWrQoAFHknBeNptNHTp00PHjx90uatWkSRP5+fnpwIEDatiwoQ8zhLd4JwFQqtAkAbiYOnXqpBUrViguLk6BgYF67rnn9M4770iSdu7cqdjYWEVHR9MkoVBOp9P6d5cuXTRlyhRJsn6SwDAM6/eS8nz//fc6fPjwxU0UXuOIEgAAqNDatm2r999/P18z9MMPP6h69eo0SSjUL7/8ov/9738aOnSoYmJiJP1xsQ/DMORwOJSTkyObzWZ9TeGhhx7SM888o7179/oydRQBjRIAAKjwzm2GNm7cqDfffFMffvihli1bxvdwUaBff/1VHTp00LFjx3TkyBGNHTtWkZGRbnPJZrPJbrfLNE35+fnpySef1Kuvvqqff/5ZNWrU8GH2KAoaJQAAgN/l5OTo119/1dGjR/XDDz+oRYsWvk4JpVBmZqamTJmiv/3tb2rTpo1GjRolh8Oh8ePHu13912azqVKlSgoPD9fdd9+tDRs26Mcff1SbNm18mD2KikYJAADgd4GBgerXr5969+6tkJAQX6eDUspms+nSSy9VRESEBg8erGrVqmnIkCGS5NYsOZ1OnThxQjt37tSpU6e0bt06NW/e3Jepwwv84CwAAADgpczMTLdmevbs2brxxhv1wAMP6MEHH1RERIQcDodOnDih1atXq1atWmratKkPM4a3OKIEAAAAeCmvSXI6nbLZbBo8eLBM09TQoUNlGIZGjx6tF154Qbt27dKHH36o4OBgH2cMb3FECQAAAPgLTNOUaZqy2WyaPXu2brnlFtWtW1e//vqrVq9erVatWvk6RVwAGiUAAADgLzr3d5N69uyp9evXa8mSJXwnqQzj1DsAAADgLzIMQ06nU//85z+1ePFirV+/niapjLP5OgEAAACgvGjatKnWrl3LpeXLAU69AwAAAIqJaZpuPzqLsosjSgAAAEAxoUkqP2iUAAAAAMADjRIAAAAAeKBRAgAAAAAPNEoAAAAA4IFGCQAAAAA80CgBAAAAgAcaJQDAeRmGoS+++MLXaaAAS5YskWEYOn78uK9TAYByh0YJACqg4cOHyzAMGYYhf39/Va9eXb169dK0adPkcrncxh44cEB9+/Yt0nrLUlM1ceJEtWrVyqv71K5dWy+//HKJ5AMAKF1olACggrryyit14MAB7dq1S9988426d++u+++/X1dddZUcDoc1Ljo6WoGBgT7MtPw5c+aMr1MAAPwJGiUAqKACAwMVHR2tmjVrqnXr1nrooYf05Zdf6ptvvtF7771njTv3KNGZM2c0cuRIxcTEqFKlSqpdu7amTJki6ezRFkm65pprZBiGdXvHjh0aOHCgqlevrtDQULVt21bfffedWy61a9fW5MmT9fe//11hYWGKi4vT22+/7TZm7969GjJkiKpWraqQkBC1adNGP//8s7X8f//7ny699FJVqlRJdevW1aRJk9wavj8zfPhwXX311XrhhRcUExOjiIgI3XvvvcrNzZUkdevWTbt379aYMWOso3F5fvrpJ3Xp0kVBQUGKjY3Vfffdp8zMTLf6nnrqKQ0fPlyVK1fWnXfeqQ4dOujBBx90y+Hw4cPy9/fX4sWLJUkffvih2rRpo7CwMEVHR2vo0KE6dOhQoTXs3r1bAwYM0CWXXKKQkBA1bdpU8+bNK/JjAAD4A40SAMDSo0cPtWzZUp9//nmBy1999VXNnTtXn3zyiVJSUvThhx9aDdGqVaskSdOnT9eBAwes26dOnVK/fv303Xffad26derTp48GDBigtLQ0t3X/61//Ups2bbRu3Trdc889uvvuu7Vt2zZrHV27dtX+/fs1d+5cbdiwQePHj7dOE/z22291880367777tOWLVv01ltv6b333tPTTz/tVf2LFy/Wjh07tHjxYs2YMUPvvfee1TR+/vnnqlWrlp544gkdOHBABw4ckCRt3LhRffr00aBBg5ScnKzZs2dr+fLlGjlypNu6n3/+eTVr1kxr1qzRo48+qptuukkff/yxTNO0xsyePVvVq1dX165dJZ1tTJ988klt2LBBX3zxhVJTUzV8+PBC87/33nuVk5OjZcuWaePGjXr22WcVGhrq1WMAAPidCQCocIYNG2YOHDiwwGWDBw82GzdubN2WZM6ZM8c0TdMcNWqU2aNHD9PlchV433PHnk+TJk3M1157zbodHx9v3nzzzdZtl8tlRkVFmVOnTjVN0zTfeustMywszDxy5EiB6+vcubM5efJkt9gHH3xgxsTEFJrD448/brZs2dK6PWzYMDM+Pt50OBxW7PrrrzcHDx7sludLL73ktp5bbrnFvOuuu9xiP/zwg2mz2czs7GzrfldffbXbmEOHDpl+fn7msmXLrFiHDh3Mf/7zn4XmvHLlSlOSefLkSdM0TXPx4sWmJPPYsWOmaZpm8+bNzYkTJxZ6fwBA0XFECQDgxjRNt9PKzjV8+HCtX79eDRs21H333acFCxb86foyMzM1fvx4NWnSRFWqVFFoaKi2bduW74hSixYtrH8bhqHo6GjrNLP169crMTFRVatWLXAba9as0RNPPKHQ0FDr784779SBAweUlZVV1NLVtGlT2e1263ZMTMx5T3XL2/Z7773ntu0+ffrI5XIpNTXVGtemTRu3+1WrVk29evXSRx99JElKTU1VUlKSbrrpJmvMunXrNHDgQMXHxyssLEzdunWTpHyPXZ777rtPTz31lDp16qTHH39cycnJRa4dAOCORgkA4Gbr1q2qU6dOgctat26t1NRUPfnkk8rOztYNN9yg66677rzr++c//6nPPvtMTz/9tH744QetX79ezZs3z3dBA39/f7fbhmFYp9YFBQWddxsul0uTJk3S+vXrrb+NGzdq+/btqlSp0p+VXKQczrftESNGuG17w4YN2r59uxISEqxxISEh+e5700036b///a9yc3M1c+ZMNW3aVC1btpR0tsHs3bu3QkND9eGHH2rVqlWaM2eOpMIvBnHHHXdo586duuWWW7Rx40a1adNGr732WpHrBwD8wc/XCQAASo9FixZp48aNGjNmTKFjwsPDNXjwYA0ePFjXXXedrrzySh09elRVq1aVv7+/nE6n2/gffvhBw4cP1zXXXCPp7PeNdu3a5VVeLVq00H/+8x9rO55at26tlJQU1atXz6v1eisgICBffa1bt9bmzZsvaNtXX321RowYofnz52vmzJm65ZZbrGXbtm1Tenq6nnnmGcXGxkqSVq9e/afrjI2N1T/+8Q/94x//0P/93//pnXfe0ahRo7zODQAqOo4oAUAFlZOTo4MHD2rfvn1au3atJk+erIEDB+qqq67SrbfeWuB9XnrpJc2aNUvbtm3TL7/8ok8//VTR0dGqUqWKpLNXd/v+++918OBBHTt2TJJUr149ff7559aRlqFDh/7pURpPN954o6Kjo3X11Vfrxx9/1M6dO/XZZ58pKSlJkvTYY4/p/fff18SJE7V582Zt3bpVs2fP1iOPPHLhD1ABateurWXLlmnfvn1KT0+XJE2YMEFJSUm69957tX79em3fvl1z584tUnMSEhKigQMH6tFHH9XWrVs1dOhQa1lcXJwCAgL02muvaefOnZo7d66efPLJ865v9OjR+vbbb5Wamqq1a9dq0aJFaty48V8rGgAqKBolAKig5s+fr5iYGNWuXVtXXnmlFi9erFdffVVffvml2/d0zhUaGqpnn31Wbdq0Udu2bbVr1y7NmzdPNtvZt5N//etfWrhwoWJjY5WYmCjpbHN1ySWXqGPHjhowYID69Omj1q1be5VrQECAFixYoKioKPXr10/NmzfXM888Y+XZp08fffXVV1q4cKHatm2r9u3b68UXX1R8fPxfeITye+KJJ7Rr1y4lJCSoWrVqks4e7Vq6dKm2b9+uzp07KzExUY8++qhiYmKKtM6bbrpJGzZsUOfOnRUXF2fFq1Wrpvfee0+ffvqpmjRpomeeeUYvvPDCedfldDp17733qnHjxrryyivVsGFDvfHGGxdeMABUYIZpnnNdUgAAAAAAR5QAAAAAwBONEgAAAAB4oFECAAAAAA80SgAAAADggUYJAAAAADzQKAEAAACABxolAAAAAPBAowQAAAAAHmiUAAAAAMADjRIAAAAAeKBRAgAAAAAPNEoAAAAA4OH/ASgXBLvD+KRzAAAAAElFTkSuQmCC\n" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": "
" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_trajectories(mal_HE_2[:150], title='Ant.4x2.malfunction.HE', save=True)\n", + "plot_distance_distribution(mal_d_2, interval_width=3, save=True)" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-03-19T17:32:06.681137Z", + "start_time": "2024-03-19T17:32:05.784065Z" + } + }, + "id": "86e2d383e7a4fa5" + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "\n", + "R1_HE = \"/Users/Hunter/Development/Academic/UML/RL/Hasenfus-RL/Multi-Agent/maddpg/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715\"\n", + "R1_mal_HE = \"/Users/Hunter/Development/Academic/UML/RL/Hasenfus-RL/Multi-Agent/maddpg/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732\"\n", + "\n", + "T1_HE, T1_ME = get_trajectories(R1_HE)\n", + "T1_mal_HE, T1_mal_ME = get_trajectories(R1_mal_HE)\n" + ], + "metadata": { + "collapsed": false + }, + "id": "6147e0014be28f69" + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "plot_trajectories(T1_HE, title='Ant.4x2.HE', save=True)\n", + "plot_trajectories(T1_mal_HE, title='Ant.4x2.malfunction.HE', save=True)\n", + "plot_trajectories(T1_ME, title='Ant.4x2.ME', save=True)\n", + "plot_trajectories(T1_mal_ME, title='Ant.4x2.malfunction.ME', save=True)\n" + ], + "metadata": { + "collapsed": false + }, + "id": "55d76f6cb684bf7b" + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "\n", + "R0_HE = \"/Users/Hunter/Development/Academic/UML/RL/Hasenfus-RL/Multi-Agent/maddpg/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847\"\n", + "R0_mal_HE = \"/Users/Hunter/Development/Academic/UML/RL/Hasenfus-RL/Multi-Agent/maddpg/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533\"\n", + "\n", + "T0_HE, T0_ME = get_trajectories(R0_HE)\n", + "T0_mal_HE, T0_mal_ME = get_trajectories(R0_mal_HE)\n" + ], + "metadata": { + "collapsed": false + }, + "id": "67676a45ea6c2fa4" + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "plot_trajectories(T0_HE, title='Ant.4x2.HE', save=True)\n", + "plot_trajectories(T0_mal_HE, title='Ant.4x2.malfunction.HE', save=True)\n", + "plot_trajectories(T0_ME, title='Ant.4x2.ME', save=True)\n", + "plot_trajectories(T0_mal_ME, title='Ant.4x2.malfunction.ME', save=True)\n" + ], + "metadata": { + "collapsed": false + }, + "id": "d76c19366ed7196b" + }, + { + "cell_type": "markdown", + "source": [ + "# Cheetah" + ], + "metadata": { + "collapsed": false + }, + "id": "31e88bedcfe6a3af" + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "base_path = '/Users/Hunter/Development/Academic/UML/RL/Hasenfus-RL/Multi-Agent/maddpg/experiments/learning_curves/Ant.4x2.0.001.350.0.99'\n", + "base_path_mal = '/Users/Hunter/Development/Academic/UML/RL/Hasenfus-RL/Multi-Agent/maddpg/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction'\n", + "T1 = get_trajectories(base_path)\n", + "T2 = get_trajectories(base_path_mal)" + ], + "metadata": { + "collapsed": false + }, + "id": "72be14e1c2c2ac6d" + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "plot_trajectories(T1, title='Ant.4x2', save=True)" + ], + "metadata": { + "collapsed": false + }, + "id": "34562845bfa39516" + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "plot_trajectories(T2, title='Ant.4x2.malfunction', save=True)" + ], + "metadata": { + "collapsed": false + }, + "id": "60918707e1f6dd7d" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/experiments/Analysis/pushHP.ipynb b/experiments/Analysis/pushHP.ipynb new file mode 100644 index 00000000..5f490cac --- /dev/null +++ b/experiments/Analysis/pushHP.ipynb @@ -0,0 +1,158 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 3, + "outputs": [], + "source": [ + "import pickle\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 4, + "outputs": [], + "source": [ + "import os\n", + "from datetime import datetime\n", + "\n", + "# Replace 'base_directory_path' with the base path where your directories are located\n", + "\n", + "# Define the date and time format that your directories are using\n", + "# This should match the format used when creating the directories\n", + "date_time_format = '%Y%m%d-%H%M%S'\n", + "def get_directories(base_path):\n", + " \"\"\"Get a list of all directories in the base path.\"\"\"\n", + " return [d for d in os.listdir(base_path) if os.path.isdir(os.path.join(base_path, d))]\n", + "def filter_directories_by_date(directories, date_format):\n", + " \"\"\"Filter out directories that match the date and time pattern.\"\"\"\n", + " filtered_directories = []\n", + " for directory in directories:\n", + " try:\n", + " # If the directory name can be parsed into a datetime object, it matches the pattern\n", + " datetime.strptime(directory, date_format)\n", + " filtered_directories.append(directory)\n", + " except ValueError:\n", + " # If a ValueError is raised, it means the directory name doesn't match the pattern\n", + " continue\n", + " return filtered_directories\n", + "def find_most_recent_directory(base_path,directories, date_format):\n", + " \"\"\"Find the most recent directory based on the date and time pattern.\"\"\"\n", + " if not directories:\n", + " return None\n", + " # Parse the directory names to get the corresponding datetime objects\n", + " dates = [datetime.strptime(directory, date_format) for directory in directories]\n", + " # Get the most recent date\n", + " most_recent_date = max(dates)\n", + " # Find the directory that corresponds to the most recent date\n", + " most_recent_directory = directories[dates.index(most_recent_date)]\n", + " return os.path.join(base_path, most_recent_directory)\n" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 5, + "outputs": [], + "source": [ + "scenario = 'simple_push'\n", + "\n", + "base_directory_path = f\"./learning_curves/{scenario}\"\n", + "directories = get_directories(base_directory_path)\n", + "date_directories = filter_directories_by_date(directories, date_time_format)\n", + "most_recent_directory = find_most_recent_directory(base_directory_path, date_directories, date_time_format)\n", + "# Load the data from .pkl files\n", + "with open(os.path.join(most_recent_directory, 'test_rewards.pkl'), 'rb') as f:\n", + " rewards = pickle.load(f)\n", + "\n", + "with open(os.path.join(most_recent_directory, 'test_agrewards.pkl'), 'rb') as f:\n", + " agrewards = pickle.load(f)" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 6, + "outputs": [], + "source": [ + "\n", + "# Convert the data to numpy arrays\n", + "slow_rewards_array = np.array(rewards)\n", + "slow_agrewards_array = np.array(agrewards)" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 7, + "outputs": [ + { + "data": { + "text/plain": "
", + "image/png": "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i2W32xUdHS1fX1+z4+AyfHx85OHhoYMHD6q4uFje3t5mRwIAAEAdxD/31xJmVlwH/60AAABQ0/iNEwAAAABqGUUMAAAAAGoZRQx10qhRozRs2DCzYwAAAAAXRRFDhUaNGiWLxSKLxSJ3d3c1bdpUDz/8sLKyssyOBgAAALg0ihguacCAAcrIyFBqaqrefvttff7553rkkUfMjuVQUlJidgQAAACgyihitcwwDBUUl5ryMAyjynm9vLwUGRmpJk2aqF+/frr33nu1cuVKx+sLFy5Uu3bt5O3trbZt2+q1115zvHbXXXfpscceczx/4oknZLFYlJKSIkkqLS1VQECAvv76a0nSV199pZtuuknBwcEKCwvTkCFDtG/fPsf+qampslgs+uCDD5SQkCBvb2+9//77stlsGj9+vGO/p556qtxn/eijj9SxY0f5+PgoLCxMffr0UX5+fpW/HgAAAKhZ539fzswu1K7MXG1MPaXVO47q482HteiHA3pl1R49+8V2Tfxwmx5avEkj3tygga98r8nLfjE7epVwH7FadqbEpvZTvzblvbfP7C9fzyv/T75//3599dVX8vDwkCS99dZbmjZtmv7+97+rU6dO2rJli8aMGSM/Pz+NHDlSCQkJevPNNx37r127VuHh4Vq7dq06dOigjRs3qrCwUD169JAk5efna/z48erYsaPy8/M1depU3XHHHdq6dWuZJeWffvppzZs3TwsXLpSXl5fmzZund955RwsWLFD79u01b948ffLJJ+rVq5ckKSMjQ/fdd5/mzJmjO+64Q7m5ufr++++vqJgCAADg8kpsduUWlir7TIlyzpQop7Dk3J/PbXM8L1HOuXG5Z0ocr5XYqv57WqifRw18kppDEcMlffHFF/L395fNZlNhYaEk6cUXX5QkPfvss5o3b57uvPNOSVJsbKy2b9+uN954w1HExo0bpxMnTshqtSolJUXTpk3Tt99+q0ceeUTffvut4uPj5e/vL+nsDNqvLViwQA0bNtT27dsVFxfn2P7EE0843lOSXn75ZU2aNMmx/+uvv+6YZZPOFrHS0lLdeeedatasmSSpY8eO1f2lAgAAqDMMw1B+sc1Rli4sTTm/Kk055wrWr8tVfrHtqjNY3SwK8vFQoLf72f89//D2UKDPuW3eHo7XIgO9q+GT1x6KWC3z8bBq+8z+pr13VfXs2VPz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cXFxNZwUAFAfuZsdAACAmjJgwAAtXLiwzDYvL69K7Wu1WhUZGVkTsQAAYEYMAFB3eXl5KTIysswjJCREkmSxWDR//nwNHDhQPj4+io2N1YcffujY98JTE7OysvTAAw+oQYMG8vHxUatWrcqUvF9++UW9evWSj4+PwsLC9NBDDykvL8/xus1m0/jx4xUcHKywsDA99dRTMgyjTF7DMDRnzhw1b95cPj4+uvbaa/XRRx85Xr9cBgCA66CIAQDqrSlTpuiuu+7Stm3b9Jvf/Eb33XefduzYUeHY7du368svv9SOHTs0f/58hYeHS5IKCgo0YMAAhYSEaOPGjfrwww+1atUqjR071rH/vHnz9M4772jBggVat26dTp06pU8++aTMe0yePFkLFy7U/PnzlZKSoieffFK/+c1vtHbt2stmAAC4Fotx4T/HAQBQB4waNUrvv/++vL29y2x/+umnNWXKFFksFv3xj3/U/PnzHa/deOON6ty5s1577TWlpqYqNjZWW7Zs0XXXXafbbrtN4eHheuedd8q911tvvaWnn35ahw4dkp+fnyRpxYoVGjp0qNLT0xUREaFGjRpp3LhxevrppyVJpaWlio2NVXx8vJYtW6b8/HyFh4frm2++Ubdu3RzH/v3vf6+CggL985//vGQGAIBr4RoxAECd1bNnzzJFS5JCQ0Mdf/514Tn/vKJVEh9++GHddddd2rx5s/r166dhw4ape/fukqQdO3bo2muvdZQwSerRo4fsdrt27dolb29vZWRklHk/d3d3denSxXF64vbt21VYWKi+ffuWed/i4mJ16tTpshkAAK6FIgYAqLP8/PzUsmXLKu1jsVguun3gwIE6ePCgli9frlWrVql379569NFHNXfuXBmGUeF+FW2/kN1ulyQtX75cjRs3LvPa+QVGLpUBAOBauEYMAFBv/fjjj+Wet23btsLxDRo0cJzy+PLLL+vNN9+UJLVv315bt25Vfn6+Y+wPP/wgNzc3tW7dWkFBQYqKiirzfqWlpUpKSnI8b9++vby8vJSWlqaWLVuWeURHR182AwDAtTAjBgCos4qKipSZmVlmm7u7u2OBiw8//FBdunTRTTfdpCVLlujnn3/WggULLnqsqVOnKj4+Xh06dFBRUZG++OILtWvXTpL0wAMPaNq0aRo5cqSmT5+u48eP67HHHtODDz6oiIgISdK4ceP0/PPPq1WrVmrXrp1efPFFnT592nH8gIAATZw4UU8++aTsdrtuuukm5eTkaP369fL399fIkSMvmQEA4FooYgCAOuurr75SVFRUmW1t2rTRzp07JUkzZszQ0qVL9cgjjygyMlJLlixR+/btL3osT09PTZo0SampqfLx8dHNN9+spUuXSpJ8fX319ddfa9y4cbr++uvl6+uru+66Sy+++KJj/wkTJigjI0OjRo2Sm5ubfve73+mOO+5Qdna2Y8yzzz6rhg0bavbs2dq/f7+Cg4PVuXNn/fnPf75sBgCAa2HVRABAvWSxWPTJJ59o2LBhZkcBANRDXCMGAAAAALWMIgYAAAAAtYxrxAAA9RJn5gMAzMSMGAAAAADUMooYAAAAANQyihgAAAAA1DKKGAAAAADUMooYAAAAANQyihgAAAAA1DKKGAAAAADUMooYAAAAANSy/w/AUIIW5IcAMAAAAABJRU5ErkJggg==" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "# Now you can plot the data\n", + "# For example, plot the rewards\n", + "plt.figure(figsize=(10, 5))\n", + "plt.plot(slow_rewards_array, label='Rewards')\n", + "# plt.plot(slow_agrewards_array, label='Aggregated Rewards')\n", + "# plt.ylim(-20,0)\n", + "plt.legend()\n", + "plt.xlabel('Episodes')\n", + "plt.ylabel('Value')\n", + "plt.title('Slow agent')\n", + "plt.show()" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [], + "metadata": { + "collapsed": false + } + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/experiments/Analysis/simplePlots.ipynb b/experiments/Analysis/simplePlots.ipynb new file mode 100644 index 00000000..9a3433f0 --- /dev/null +++ b/experiments/Analysis/simplePlots.ipynb @@ -0,0 +1,434 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import pickle\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "outputs": [], + "source": [ + "import os\n", + "from datetime import datetime\n", + "\n", + "# Replace 'base_directory_path' with the base path where your directories are located\n", + "\n", + "# Define the date and time format that your directories are using\n", + "# This should match the format used when creating the directories\n", + "date_time_format = '%Y%m%d-%H%M%S'\n", + "def get_directories(base_path):\n", + " \"\"\"Get a list of all directories in the base path.\"\"\"\n", + " return [d for d in os.listdir(base_path) if os.path.isdir(os.path.join(base_path, d))]\n", + "def filter_directories_by_date(directories, date_format):\n", + " \"\"\"Filter out directories that match the date and time pattern.\"\"\"\n", + " filtered_directories = []\n", + " for directory in directories:\n", + " try:\n", + " # If the directory name can be parsed into a datetime object, it matches the pattern\n", + " datetime.strptime(directory, date_format)\n", + " filtered_directories.append(directory)\n", + " except ValueError:\n", + " # If a ValueError is raised, it means the directory name doesn't match the pattern\n", + " continue\n", + " return filtered_directories\n", + "def find_most_recent_directory(base_path,directories, date_format):\n", + " \"\"\"Find the most recent directory based on the date and time pattern.\"\"\"\n", + " if not directories:\n", + " return None\n", + " # Parse the directory names to get the corresponding datetime objects\n", + " dates = [datetime.strptime(directory, date_format) for directory in directories]\n", + " # Get the most recent date\n", + " most_recent_date = max(dates)\n", + " # Find the directory that corresponds to the most recent date\n", + " most_recent_directory = directories[dates.index(most_recent_date)]\n", + " return os.path.join(base_path, most_recent_directory)\n" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 16, + "outputs": [], + "source": [ + "scenario = 'simple'\n", + "\n", + "base_directory_path = f\"./learning_curves/{scenario}\"\n", + "directories = get_directories(base_directory_path)\n", + "date_directories = filter_directories_by_date(directories, date_time_format)\n", + "most_recent_directory = find_most_recent_directory(base_directory_path, date_directories, date_time_format)\n", + "# Load the data from .pkl files\n", + "with open(os.path.join(most_recent_directory, 'test_rewards.pkl'), 'rb') as f:\n", + " rewards = pickle.load(f)\n", + "\n", + "with open(os.path.join(most_recent_directory, 'test_agrewards.pkl'), 'rb') as f:\n", + " agrewards = pickle.load(f)" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 17, + "outputs": [], + "source": [ + "\n", + "# Convert the data to numpy arrays\n", + "simple_rewards_array = np.array(rewards)\n", + "simple_agrewards_array = np.array(agrewards)" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 18, + "outputs": [ + { + "data": { + "text/plain": "
", + "image/png": "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gXU+Pj6FOtZqtapq1aqlEQsAAEaqAADuwcfHR1WrVi2wVKxYUZJksVg0c+ZMde7cWX5+foqKitLChQvzjz338r/jx4/r/vvvV+XKleXn56f69esXKGzr16/XP//5T/n5+Sk0NFQPP/ywTp48mb/d4XBoxIgRCgkJUWhoqP7973/LMIwCeQ3D0EsvvaQ6derIz89PzZs316effpq//XIZAADug1IFACgTnnnmGd15551at26devfurfvuu0+bN2++6L6bNm3SN998o82bN2vmzJkKCwuTJGVlZalTp06qWLGi1qxZo4ULF+qHH37QkCFD8o+fOnWq3n33Xb3zzjtasWKF0tLStHjx4gLP8fTTT2vu3LmaOXOmNm7cqOHDh6t3795avnz5ZTMAANyLxTj3V2sAALiYfv36af78+fL19S2wfvTo0XrmmWdksVj06KOPaubMmfnbrrvuOrVq1UozZszQnj17FBUVpcTERLVo0ULdunVTWFiY3n333fOe6+2339bo0aO1b98+BQQESJL+97//qWvXrkpJSVF4eLiqVaumYcOGafTo0ZKkvLw8RUVFKSYmRp9//rkyMzMVFhamn376SXFxcfnnfuihh5SVlaWPPvrokhkAAO6Fe6oAAG6hffv2BUqTJFWqVCn/67PLy5nHF5vtb+DAgbrzzju1du1adezYUd27d1ebNm0kSZs3b1bz5s3zC5UktW3bVk6nU1u3bpWvr69SU1MLPJ+np6diY2PzLwHctGmTsrOzdcsttxR43pycHLVs2fKyGQAA7oVSBQBwCwEBAapXr16RjrFYLBdc37lzZ+3du1dLlizRDz/8oA4dOmjw4MGaMmWKDMO46HEXW38up9MpSVqyZImqV69eYNuZyTUulQEA4F64pwoAUCasXLnyvMcNGza86P6VK1fOv6zwtdde01tvvSVJaty4sZKSkpSZmZm/72+//SYPDw9dc801Cg4OVkRERIHny8vLU0JCQv7jxo0by8fHR8nJyapXr16BJTIy8rIZAADuhZEqAIBbsNvtOnjwYIF1np6e+ZM7LFy4ULGxsbr++uv14YcfavXq1XrnnXcueK5nn31WMTExatKkiex2u77++ms1atRIknT//fdr7Nix6tu3r8aNG6cjR47oscceU58+fRQeHi5JGjZsmCZPnqz69eurUaNGeuWVV3TixIn88wcGBmrUqFEaPny4nE6nrr/+etlsNv3++++qUKGC+vbte8kMAAD3QqkCALiFb7/9VhEREQXWNWjQQFu2bJEkjR8/XgsWLNCgQYNUtWpVffjhh2rcuPEFz+Xt7a0xY8Zoz5498vPz0w033KAFCxZIkvz9/fXdd99p2LBhat26tfz9/XXnnXfqlVdeyT9+5MiRSk1NVb9+/eTh4aEHH3xQPXr0UHp6ev4+zz33nKpUqaJJkyZp165dCgkJUatWrfSf//znshkAAO6F2f8AAG7PYrFo8eLF6t69u9lRAADlEPdUAQAAAEAxUKoAAAAAoBi4pwoA4Pa4kh0AYCZGqgAAAACgGChVAAAAAFAMlCoAAAAAKAZKFQAAAAAUA6UKAAAAAIqBUgUAAAAAxUCpAgAAAIBioFQBAAAAQDH8P2KiAdM72NF+AAAAAElFTkSuQmCC" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "# Now you can plot the data\n", + "# For example, plot the rewards\n", + "plt.figure(figsize=(10, 5))\n", + "plt.plot(simple_rewards_array, label='Rewards')\n", + "# plt.plot(simple_agrewards_array, label='Aggregated Rewards')\n", + "plt.legend()\n", + "plt.xlabel('Episodes')\n", + "plt.ylabel('Value')\n", + "plt.title('Simple')\n", + "plt.show()" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 19, + "outputs": [], + "source": [ + "scenario = 'bounce'\n", + "\n", + "base_directory_path = f\"./learning_curves/{scenario}\"\n", + "directories = get_directories(base_directory_path)\n", + "date_directories = filter_directories_by_date(directories, date_time_format)\n", + "most_recent_directory = find_most_recent_directory(base_directory_path, date_directories, date_time_format)\n", + "# Load the data from .pkl files\n", + "with open(os.path.join(most_recent_directory, 'test_rewards.pkl'), 'rb') as f:\n", + " rewards = pickle.load(f)\n", + "\n", + "with open(os.path.join(most_recent_directory, 'test_agrewards.pkl'), 'rb') as f:\n", + " agrewards = pickle.load(f)" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 20, + "outputs": [], + "source": [ + "\n", + "# Convert the data to numpy arrays\n", + "bounce_rewards_array = np.array(rewards)\n", + "bounce_agrewards_array = np.array(agrewards)" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 21, + "outputs": [ + { + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1UAAAHUCAYAAADSjAKSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABFqklEQVR4nO3de1iUdf7/8dfNAAOCHGRQMFHxmKYdFDfR3CDztGU/29rWtky31r3atCxqK9c2D2X2Te3bZt8sO2jt1lpt59pKK7DMPKa7lWl5CkrwhIJiDDBz//4AJkdAgQHumeH5uK65nLnvz33PG5xLefH53O/bME3TFAAAAACgUUKsLgAAAAAAAhmhCgAAAAB8QKgCAAAAAB8QqgAAAADAB4QqAAAAAPABoQoAAAAAfECoAgAAAAAfEKoAAAAAwAeEKgAAAADwAaEKAOD3li1bJsMwvB6JiYnKyMjQO++8Y3V5AIBWjlAFAAgYS5cu1eeff641a9ZoyZIlstlsGjt2rN5++22rSwMAtGKhVhcAAEB99evXT2lpaZ7Xo0ePVnx8vP75z39q7NixFlYGAGjNmKkCAASsiIgIhYeHKywszLOtsLBQN910k8444wyFh4erW7dumjFjhpxOp2fMnj17ZBiGli1bVuOchmFo1qxZntezZs2SYRj6+uuvdfXVVys2NlYdOnTQ9ddfr6KiIq9j3W63Fi1apHPPPVeRkZGKi4vT4MGD9dZbb3mNe+mll5Senq6oqChFR0dr1KhR2rx5c9N8UwAALY5QBQAIGC6XSxUVFSovL9cPP/ygW2+9VSUlJfrd734nSSotLVVmZqaef/55ZWVl6d1339W1116rhx56SL/+9a99eu8rrrhCvXr10quvvqq7775bL774om677TavMZMmTdK0adM0aNAgvfTSS1q+fLkuu+wy7dmzxzPmgQce0NVXX62+ffvq5Zdf1t///ncdPXpUw4YN09atW32qEQBgDZb/AQACxuDBg71e2+12PfbYYxo1apQk6bnnntN///tfvfzyy/rNb34jSRoxYoSio6N11113aeXKlRoxYkSj3vuGG27Qn//8Z0nSxRdfrB07dujZZ5/VM888I8Mw9Omnn+rvf/+7ZsyYofvvv99z3OjRoz3P8/LyNHPmTE2dOlWPPvqoZ/uIESPUs2dPzZ49Wy+99FKj6gMAWIeZKgBAwHj++ee1YcMGbdiwQe+9954mTpyoKVOm6LHHHpMkffzxx4qKitKVV17pddykSZMkSR999FGj3/uyyy7zen322WertLRU+/fvlyS99957kqQpU6bUeY4PPvhAFRUVuu6661RRUeF5RERE6MILL1ROTk6j6wMAWIeZKgBAwOjTp0+NRhXff/+97rzzTl177bU6dOiQkpKSZBiG13Ht27dXaGioDh061Oj3TkhI8Hptt9slST/99JMk6cCBA7LZbEpKSqrzHPv27ZMkDRo0qNb9ISH8rhMAAhGhCgAQ0M4++2x98MEH+vbbb5WQkKB169bJNE2vYLV//35VVFTI4XBIqmxwIcmreYUkn0JXYmKiXC6XCgoKlJycXOuY6vf/17/+pS5dujT6vQAA/oVfiQEAAtqWLVskVYaa4cOH69ixY3rjjTe8xjz//POSpOHDh0uSOnTooIiICP33v//1Gvfmm282uo4xY8ZIkhYvXlznmFGjRik0NFQ7d+5UWlparQ8AQOBhpgoAEDC++uorVVRUSKqcVXrttde0cuVKXX755UpNTdV1112n//u//9PEiRO1Z88e9e/fX6tXr9YDDzygX/3qV7r44oslVbZNv/baa/Xss8+qe/fuOuecc7R+/Xq9+OKLja5t2LBhmjBhgu6//37t27dPl156qex2uzZv3qw2bdro5ptvVteuXTVnzhzNmDFDu3bt8txna9++fVq/fr2ioqI0e/bsJvleAQBaDqEKABAwfv/733uex8bGKjU1VQ8//LBuuukmSZXL+rKzszVjxgzNnz9fBw4c0BlnnKE77rhDM2fO9DrXwoULJUkPPfSQjh07posuukjvvPOOunbt2uj6li1bpgEDBuiZZ57RsmXLFBkZqb59++ovf/mLZ8z06dPVt29f/e1vf9M///lPOZ1OJSUladCgQbrxxhsb/d4AAOsYpmmaVhcBAAAAAIGKa6oAAAAAwAeEKgAAAADwAaEKAAAAAHwQlKHq8ccfV2pqqiIiIjRw4EB9+umnVpcEAAAAIEgFXah66aWXdOutt2rGjBnavHmzhg0bpjFjxig3N9fq0gAAAAAEoaDr/nf++edrwIABXjdf7NOnj8aNG6d58+ZZWBkAAACAYBRU96kqKyvTpk2bdPfdd3ttHzlypNasWVPrMU6nU06n0/Pa7XarsLBQCQkJMgyjWesFAAAA4L9M09TRo0fVsWNHhYTUvcgvqELVwYMH5XK51KFDB6/tHTp0UEFBQa3HzJs3j7vXAwAAAKhTXl6eOnXqVOf+oApV1U6eYTJNs85Zp+nTpysrK8vzuqioSJ07d1ZeXp5iYmKatU4AAAAA/qu4uFgpKSlq27btKccFVahyOByy2Ww1ZqX2799fY/aqmt1ul91ur7E9JiaGUAUAAADgtJcFBVX3v/DwcA0cOFArV6702r5y5UoNGTLEoqoAAAAABLOgmqmSpKysLE2YMEFpaWlKT0/XkiVLlJubqxtvvNHq0gAAAAAEoaALVb/97W916NAhzZkzR/n5+erXr5/+/e9/q0uXLlaXBgAAACAIBd19qnxVXFys2NhYFRUVcU0VAAAAGsXlcqm8vNzqMnAaNptNoaGhdV4zVd9sEHQzVQAAAICVjh07ph9++EHMXQSGNm3aKDk5WeHh4Y0+B6EKAAAAaCIul0s//PCD2rRpo8TExNN2jYN1TNNUWVmZDhw4oN27d6tnz56nvMHvqRCqAAAAgCZSXl4u0zSVmJioyMhIq8vBaURGRiosLEzff/+9ysrKFBER0ajzBFVLdQAAAMAfMEMVOBo7O+V1jiaoAwAAAABaLUIVAAAAAPiAUAUAAAAgYE2aNEnjxo2ztAZCFQAAANDKTZo0SYZhyDAMhYaGqnPnzvrTn/6kw4cPW11aQCBUAQAAANDo0aOVn5+vPXv26Omnn9bbb7+tm266yeqyPPz5ZsqEKgAAAKCZmKap42UVljwaevNhu92upKQkderUSSNHjtRvf/tbrVixwrN/6dKl6tOnjyIiInTmmWfq8ccf9+y74oordPPNN3te33rrrTIMQ19//bUkqaKiQm3bttUHH3wgSXr//fd1wQUXKC4uTgkJCbr00ku1c+dOz/F79uyRYRh6+eWXlZGRoYiICP3jH/+Qy+VSVlaW57g777yzxtf5r3/9S/3791dkZKQSEhJ08cUXq6SkpEHfi4biPlUAAABAM/mp3KW+935gyXtvnTNKbcIb9+P+rl279P777yssLEyS9NRTT2nmzJl67LHHdN5552nz5s2aPHmyoqKiNHHiRGVkZGjJkiWe41etWiWHw6FVq1bprLPO0oYNG1RaWqqhQ4dKkkpKSpSVlaX+/furpKRE9957ry6//HJt2bLFq8X5XXfdpYULF2rp0qWy2+1auHChnn32WT3zzDPq27evFi5cqNdff10XXXSRJCk/P19XX321HnroIV1++eU6evSoPv300wYHzIYiVAEAAADQO++8o+joaLlcLpWWlkqSHn74YUnSfffdp4ULF+rXv/61JCk1NVVbt27Vk08+6QlV06ZN08GDB2Wz2fT1119r5syZysnJ0U033aScnBwNHDhQ0dHRkipntk70zDPPqH379tq6dav69evn2X7rrbd63lOSHnnkEU2fPt1z/BNPPOGZ/ZIqQ1VFRYV+/etfq0uXLpKk/v37N/W3qgZCFQAAANBMIsNs2jpnlGXv3RCZmZlavHixjh8/rqefflrffvutbr75Zh04cEB5eXm64YYbNHnyZM/4iooKxcbGSpL69eunhIQErVq1SmFhYTrnnHN02WWX6dFHH5Uk5eTk6MILL/Qcu3PnTv31r3/V2rVrdfDgQbndbklSbm6uV6hKS0vzPC8qKlJ+fr7S09M920JDQ5WWluaZiTrnnHM0fPhw9e/fX6NGjdLIkSN15ZVXKj4+vkHfi4YiVAEAAADNxDCMRi/Ba2lRUVHq0aOHJOnRRx9VZmamZs+eralTp0qqXAJ4/vnnex1js1UGN8Mw9Mtf/lI5OTkKDw9XRkaG+vXrJ5fLpS+//FJr1qzRrbfe6jlu7NixSklJ0VNPPaWOHTvK7XarX79+Kisrq1FTQ9hsNq1cuVJr1qzRihUrtGjRIs2YMUPr1q1TampqQ78l9UajCgAAAAA1zJw5UwsWLJDL5dIZZ5yhXbt2qUePHl6PE4NKRkaGcnJylJOTo4yMDBmGoWHDhmnBggX66aefPNdTHTp0SN98843uueceDR8+XH369KlX6/bY2FglJydr7dq1nm0VFRXatGmT1zjDMDR06FDNnj1bmzdvVnh4uF5//fUm+q7ULjBiMwAAAIAWlZGRobPOOksPPPCAZs2apVtuuUUxMTEaM2aMnE6nNm7cqMOHDysrK8szftq0aQoNDdWwYcM8226//XYNGDBAMTExkqT4+HglJCRoyZIlSk5OVm5uru6+++561TRt2jQ9+OCD6tmzp/r06aOHH35YR44c8exft26dPvroI40cOVLt27fXunXrdODAAfXp06dpvzknIVQBAAAAqFVWVpZ+//vfa8eOHXr66ac1f/583XnnnYqKilL//v29lvT169dPDodDXbp08QSo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s0epqanavHmzzj33XF122WVyOBx69tlna7zXU089pbvuukt5eXmKioqSJP373//W2LFjtXfvXnXo0EEdO3bUtGnTdNddd0mSKioqlJqaqoEDB+qNN95QSUmJHA6HPv74Y6Wnp3vO/Yc//EHHjx/Xiy++eMoaAACBhWuqAAABITMz0ys0SVK7du08z08ML9Wv6+r296c//UlXXHGFvvjiC40cOVLjxo3TkCFDJEnffPONzjnnHE+gkqShQ4fK7XZr+/btioiIUH5+vtf7hYaGKi0tzbMEcOvWrSotLdWIESO83resrEznnXfeaWsAAAQWQhUAICBERUWpR48eDTrGMIxat48ZM0bff/+93n33XX344YcaPny4pkyZogULFsg0zTqPq2v7ydxutyTp3Xff1RlnnOG1r7q5xqlqAAAEFq6pAgAEhbVr19Z4feaZZ9Y5PjEx0bOs8JFHHtGSJUskSX379tWWLVtUUlLiGfvZZ58pJCREvXr1UmxsrJKTk73er6KiQps2bfK87tu3r+x2u3Jzc9WjRw+vR0pKymlrAAAEFmaqAAABwel0qqCgwGtbaGiop7nDK6+8orS0NF1wwQV64YUXtH79ej3zzDO1nuvee+/VwIEDddZZZ8npdOqdd95Rnz59JEnXXHONZs6cqYkTJ2rWrFk6cOCAbr75Zk2YMEEdOnSQJE2bNk0PPvigevbsqT59+ujhhx/WkSNHPOdv27at7rjjDt12221yu9264IILVFxcrDVr1ig6OloTJ048ZQ0AgMBCqAIABIT3339fycnJXtt69+6tbdu2SZJmz56t5cuX66abblJSUpJeeOEF9e3bt9ZzhYeHa/r06dqzZ48iIyM1bNgwLV++XJLUpk0bffDBB5o2bZoGDRqkNm3a6IorrtDDDz/sOf72229Xfn6+Jk2apJCQEF1//fW6/PLLVVRU5Blz3333qX379po3b5527dqluLg4DRgwQH/5y19OWwMAILDQ/Q8AEPAMw9Drr7+ucePGWV0KAKAV4poqAAAAAPABoQoAAAAAfMA1VQCAgMdKdgCAlZipAgAAAAAfEKoAAAAAwAeEKgAAAADwAaEKAAAAAHxAqAIAAAAAHxCqAAAAAMAHhCoAAAAA8AGhCgAAAAB88P8Bxmn0YB9AZzgAAAAASUVORK5CYII=" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "# Now you can plot the data\n", + "# For example, plot the rewards\n", + "plt.figure(figsize=(10, 5))\n", + "plt.plot(bounce_rewards_array, label='Rewards')\n", + "# plt.plot(bounce_agrewards_array, label='Aggregated Rewards')\n", + "plt.ylim(-40,0)\n", + "plt.legend()\n", + "plt.xlabel('Episodes')\n", + "plt.ylabel('Value')\n", + "plt.title('Bounce')\n", + "plt.show()" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 22, + "outputs": [], + "source": [ + "scenario = 'bounce_close'\n", + "\n", + "base_directory_path = f\"./learning_curves/{scenario}\"\n", + "directories = get_directories(base_directory_path)\n", + "date_directories = filter_directories_by_date(directories, date_time_format)\n", + "most_recent_directory = find_most_recent_directory(base_directory_path, date_directories, date_time_format)\n", + "# Load the data from .pkl files\n", + "with open(os.path.join(most_recent_directory, 'test_rewards.pkl'), 'rb') as f:\n", + " rewards = pickle.load(f)\n", + "\n", + "with open(os.path.join(most_recent_directory, 'test_agrewards.pkl'), 'rb') as f:\n", + " agrewards = pickle.load(f)" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 23, + "outputs": [], + "source": [ + "\n", + "# Convert the data to numpy arrays\n", + "bouncec_rewards_array = np.array(rewards)\n", + "bouncec_agrewards_array = np.array(agrewards)" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 29, + "outputs": [ + { + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1UAAAHUCAYAAADSjAKSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABa4UlEQVR4nO3deXhTZfrG8Tvd0pVSWqBlX2URECgOssguoIAiKgKKVJBRkQFBfgiiLAriyDI6zAiiiKOOyjjuoCOLwoiyC47K4ga0SItAoYVCt+T9/VESmi7QkrZp2u/nunLRnJxz8uQkKbn7vueJxRhjBAAAAAC4Ij6eLgAAAAAAvBmhCgAAAADcQKgCAAAAADcQqgAAAADADYQqAAAAAHADoQoAAAAA3ECoAgAAAAA3EKoAAAAAwA2EKgAAAABwA6EKqGReffVVWSwW58XPz08xMTEaNmyYfvrpJ0+XV2IaNGiguLg4T5dRLHFxcWrQoEGxtmnfvr0sFosWLlxYOkV5kaeffloffPBBie/30KFDslgsevXVVy+53saNG13eW76+vqpevboGDRqknTt3lnhdntKjRw/16NHD02WUqR49erg8t7kvxX3POlzJ+91dRX0tAyg+P08XAMAzVq5cqebNmys9PV1fffWV5s2bpy+++EL79+9XRESEp8tDEezZs0e7d++WJK1YsUJTpkzxcEWe9fTTT+v222/X4MGDPV5Hz549lZWVpd27d2vOnDnq3r279uzZo6ZNm3q0Nly5Ro0a6Z///Ge+5Var9Yr298QTT2jixInulgWgnCBUAZVUq1at1KFDB0k5f4W12WyaNWuWPvjgA917770eru7yzp07p+DgYE+X4VEvv/yyJGnAgAFas2aNvv76a3Xu3NkjtfB8XNS0aVNdd911kqTrr79eVatW1ahRo/TGG29ozpw5Hq7u8s6fP6/AwEBZLBZPl1JmjDFKT09XUFBQoesEBQU5n9eS0Lhx4xLbFwDPY/ofAElyBqxjx465LN+5c6duvvlmVatWTYGBgWrXrp3+9a9/OW9PTU2Vn5+fFixY4Fx24sQJ+fj4KDw8XNnZ2c7lEyZMUPXq1WWMkSStW7dOt9xyi+rUqaPAwEA1adJE999/v06cOOFSw+zZs2WxWPTNN9/o9ttvV0REhPMDSVZWlqZOnaro6GgFBwera9eu2r59e77Hd+7cOU2ZMkUNGzZUYGCgqlWrpg4dOuitt9665HE5fvy4xo0bp5YtWyo0NFQ1atRQr1699OWXX7qs55hWs3DhQi1evFgNGzZUaGioOnXqpK1bt+bb76uvvqpmzZrJarWqRYsWeu211y5ZR17p6el68803FRsbq7/85S+SpFdeeaXAdT/88EO1adNGVqtVjRo10vPPP+88prmdPn1aY8aMUbVq1RQaGqoBAwbo119/lcVi0ezZs53rXer5MMbohRdeUNu2bRUUFKSIiAjdfvvt+vXXX13uyxijp59+WvXr11dgYKA6dOigdevW5Ztalp6erkceeURt27ZVeHi4qlWrpk6dOunDDz902Z/FYlFaWpr+8Y9/OKdl5d5PUlKS7r//ftWpU0cBAQFq2LCh5syZ4/L6lKSjR49q6NChCgsLU3h4uO68804lJSUV6TkpTGHvrZ9++kkjRoxQjRo1nK+Dv//97y7HqGbNmnrooYecy2w2myIiIuTj4+Oyv8WLF8vPz0+nT5+WlPO+HTZsmBo0aKCgoCA1aNBAw4cP1+HDh11qcEwHXrt2rUaPHq3q1asrODhYGRkZMsbo2WefdT5H7du316effprv8dntds2dO1fNmjVTUFCQqlatqjZt2uj555+/7LGJj4/X3Xff7XIMFi1aJLvdLinn/V2jRg2NHDky37anT59WUFCQJk+e7FyWmprqfJ8HBASodu3aevjhh5WWluayrcVi0fjx47Vs2TK1aNFCVqtV//jHPy5b7+U4jue6det07733qlq1agoJCdGgQYPyvQcKmv73zjvvqGPHjgoPD1dwcLAaNWqk0aNHu6xzuWPmUJzX8uV+z0tX/jsUqCwYqQIgSTp48KAk6aqrrnIu++KLL9S/f3917NhRy5YtU3h4uN5++23deeedOnfunOLi4lSlShVde+21Wr9+vf7v//5PkrRhwwZZrVadOXNG27dvd46erF+/Xr169XJ+mP/ll1/UqVMn3XfffQoPD9ehQ4e0ePFide3aVd999538/f1dahwyZIiGDRumBx54wPkhaezYsXrttdc0ZcoU3XDDDfr+++81ZMgQnTlzxmXbyZMn6/XXX9fcuXPVrl07paWl6fvvv9fJkycveVySk5MlSbNmzVJ0dLTOnj2r999/Xz169NCGDRvynVvy97//Xc2bN9dzzz0nKWeKz0033aSDBw8q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/v3vf+v22293nnMxffp0DRkypMB9OM6rCAgIUNeuXbV+/XrVqVNH0dHRat26tRo1aiQp5/t7NmzYoIEDBzq3/f777/Xtt9/q1Vdf1ahRo5zLf/7550JrzttYwRFgkpKSVLt2befy7OzsfB9eQkJCnOeIHDt2zPkX10GDBjk/qBXkjTfeUI8ePbR06VKX5XnP2Sqq3DXnVZSGCHa73fkdM4U9L6+88oqeffZZRUREyGKx5Dt/qqD7ioyMVHZ2tpKTk12C1aVqyvt8REVFyWKx6MsvvyywzbRjmeMYFFZX7tGqN954Qw0bNtSqVatc7s8RUIoiKipKbdq00bx58wq83fGBNDIyssAmJ8VtVNGoUSPne6tbt24KCgrS448/riVLlmjKlCmKiIiQr6+vRo4c6dKEIjfHHx+knJHgDz/8UJs2bZLdblePHj0UFhamWrVqad26dVq/fr2uv/565/FNSUnR6tWrNWvWLE2bNs25H8f5aQW51Hsrr7zPkZ+fnyZPnqzJkyfr9OnTWr9+vR577DH169dPCQkJhXaFjIyMVGJiYr7lR48elSSX876GDx+uyZMn69VXX9W8efP0+uuva/DgwS4jTVFRUQoKCiq0YUve88hKs7thYcetSZMml9zulltu0S233KKMjAxt3bpV8+fP14gRI9SgQQN16tSpyMesqK/l4vyev9LfoUBlwUgVAElyfgifOXOm7Ha7mjVrpqZNm+rbb78t8K+zHTp0UFhYmHP7Pn36aNeuXXr33Xed05BCQkJ03XXXacmSJTp69KjL9CTHB5q8H75ffPHFItfsaBKR97tj/vWvfxV4QrlDzZo1FRcXp+HDh+vAgQM6d+5coetaLJZ8Nf7vf//Tli1bilxnbs2aNVNMTIzeeustZxdEKWd6oGP65KV89tlnOnLkiB566CF98cUX+S5XX321XnvtNWVnZyskJEQdOnTQBx98oMzMTOc+zp49q9WrV7vst3v37pKkVatWuSx/++23i/zYBg4cKGOMfvvttwJfL61bt5YkdezYUVarNd99bd26NV93OovFooCAAJcPwElJSfm6/0k5r6WCRmEGDhyo77//Xo0bNy6wLkeo6tmzp86cOaOPPvrIZfs333yzyMegIFOnTlWTJk30zDPP6MyZMwoODlbPnj21e/dutWnTpsCaco949unTR8eOHdNzzz2n6667zvm+6927t95//33t2LEj33vLGJPvdfvyyy/LZrMVqebrrrtOgYGB+d5bX3/9db7nKLeqVavq9ttv10MPPaTk5GQdOnSo0HV79+6tvXv36ptvvnFZ/tprr8lisahnz57OZRERERo8eLBee+01rV69WklJSfm64g0cOFC//PKLIiMjCzymZflFu4Udt6J+abLValX37t315z//WZKc30dX1GNW1NdycX/POxTndyhQWTBSBUBSzoeW6dOna+rUqXrzzTd1991368UXX9SNN96ofv36KS4uTrVr11ZycrL27dunb775Ru+8845z+969e8tms2nDhg0urYn79Onj0snMoXnz5mrcuLGmTZsmY4yqVaumjz/+2HmeSFG0aNFCd999t5577jn5+/urT58++v7777Vw4UKXLmFSzgf5gQMHqk2bNoqIiNC+ffv0+uuvq1OnTpf8fqWBAwfqqaee0qxZs9S9e3cdOHBATz75pBo2bHjJ4FYYHx8fPfXUU7rvvvt06623auzYsTp9+rRmz55dpGlmK1askJ+fnx577DFnGMjt/vvv14QJE7RmzRrdcsstevLJJzVgwAD169dPEydOlM1m04IFCxQaGuoyatG/f3916dJFjzzyiFJTUxUbG6stW7Y4W70XpSthly5d9Mc//lH33nuvdu7cqW7duikkJESJiYnavHmzWrdurQcffFDVqlXT5MmTNX/+fEVEROjWW2/VkSNHNGfOHMXExLjc18CBA/Xee+9p3Lhxzg50Tz31lGJiYvJNO2rdurU2btyojz/+WDExMQoLC1OzZs305JNPat26dercubMmTJigZs2aKT09XYcOHdInn3yiZcuWqU6dOrrnnnv0l7/8Rffcc4/mzZunpk2b6pNPPtFnn3122cd+Kf7+/nr66ac1dOhQPf/883r88cf1/PPPq2vXrrr++uv14IMPqkGDBjpz5ox+/vlnffzxxy4d3xwdM9euXevyPVd9+vRxjvLmDlVVqlRRt27dtGDBAkVFRalBgwbatGmTVqxYUWjnubwiIiI0ZcoUzZ07V/fdd5/uuOMOJSQkFPg6HTRokPN776pXr67Dhw/rueeeU/369S/5ZceTJk3Sa6+9pgEDBujJJ59U/fr1tWbNGr3wwgt68MEHXbolSjlTAFetWqXx48erTp06Lo9Zkh5++GG9++676tatmyZNmqQ2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R/XEE0/IYrHogQce0NKlS523XXfddWrfvr1eeOEFHTp0SA0bNtTu3bvVtm1b3XzzzYqKitIrr7yS775eeuklPfroo0pISFBISIgk6ZNPPtGgQYN09OhR1axZU7Vq1dLEiRP16KOPSpKys7PVsGFDxcbG6oMPPlBaWpqioqL0+eefq1OnTs5933fffTp37pzefPPNS9YAAPAunFMFAPAKPXv2dAlNklStWjXnz7nDi+N6Yd3+HnzwQd1222365ptv1LdvXw0ePFidO3eWJO3bt0/XXHONM1BJUpcuXWS323XgwAEFBgYqMTHR5f78/PzUoUMH5xTAvXv3Kj09XTfccIPL/WZmZqpdu3aXrQEA4F0IVQAArxASEqImTZoUaxuLxVLg8htvvFGHDx/WmjVrtH79evXu3VsPPfSQFi5cKGNModsVtjwvu90uSVqzZo1q167tcpujucalagAAeBfOqQIAVAhbt27Nd7158+aFrl+9enXntMLnnntOy5cvlyS1bNlSe/bsUVpamnPdr776Sj4+PrrqqqsUHh6umJgYl/vLzs7Wrl27nNdbtmwpq9Wq+Ph4NWnSxOVSt27dy9YAAPAujFQBALxCRkaGkpKSXJb5+fk5mzu888476tChg7p27ap//vOf2r59u1asWFHgvmbOnKnY2FhdffXVysjI0OrVq9WiRQtJ0l133aVZs2Zp1KhRmj17to4fP64//elPGjlypGrWrClJmjhxop555hk1bdpULVq00OLFi3X69Gnn/sPCwjRlyhRNmjRJdrtdXbt2VWpqqr7++muFhoZq1KhRl6wBAOBdCFUAAK/wn//8RzExMS7LmjVrpv3790uS5syZo7ffflvjxo1TdHS0/vnPf6ply5YF7isgIEDTp0/XoUOHFBQUpOuvv15vv/22JCk4OFifffaZJk6cqGuvvVbBwcG67bbbtHjxYuf2jzzyiBITExUXFycfHx+NHj1at956q1JSUpzrPPXUU6pRo4bmz5+vX3/9VVWrVlX79u312GOPXbYGAIB3ofsfAMDrWSwWvf/++xo8eLCnSwEAVEKcUwUAAAAAbiBUAQAAAIAbOKcKAOD1mMkOAPAkRqoAAAAAwA2EKgAAAABwA6EKAAAAANxAqAIAAAAANxCqAAAAAMANhCoAAAAAcAOhCgAAAADcQKgCAAAAADf8P7Qa11G6ESZCAAAAAElFTkSuQmCC" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "# Now you can plot the data\n", + "# For example, plot the rewards\n", + "plt.figure(figsize=(10, 5))\n", + "plt.plot(bouncec_rewards_array, label='Rewards')\n", + "# plt.plot(bouncec_agrewards_array, label='Aggregated Rewards')\n", + "plt.ylim(-60,0)\n", + "plt.legend()\n", + "plt.xlabel('Episodes')\n", + "plt.ylabel('Value')\n", + "plt.title('Bounce Close')\n", + "plt.show()" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 25, + "outputs": [], + "source": [ + "scenario = 'bounce_far'\n", + "\n", + "base_directory_path = f\"./learning_curves/{scenario}\"\n", + "directories = get_directories(base_directory_path)\n", + "date_directories = filter_directories_by_date(directories, date_time_format)\n", + "most_recent_directory = find_most_recent_directory(base_directory_path, date_directories, date_time_format)\n", + "# Load the data from .pkl files\n", + "with open(os.path.join(most_recent_directory, 'test_rewards.pkl'), 'rb') as f:\n", + " rewards = pickle.load(f)\n", + "\n", + "with open(os.path.join(most_recent_directory, 'test_agrewards.pkl'), 'rb') as f:\n", + " agrewards = pickle.load(f)" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 26, + "outputs": [], + "source": [ + "\n", + "# Convert the data to numpy arrays\n", + "bouncef_rewards_array = np.array(rewards)\n", + "bouncef_agrewards_array = np.array(agrewards)" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 28, + "outputs": [ + { + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2IAAAHUCAYAAABYo5vTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABdpElEQVR4nO3deXhU5f3+8XsySSYL2ciQDSKEfQmyxSqgFUQBFyhopbhUqZT+rKIg+lWpC2CLtCpaqxWLItStqFUUd1FBi6AsEnaQLSSQhAQSspJJMjO/P5IMDEkgwWROMvN+XddcMGeec+YzEDR3nud8HpPT6XQKAAAAAOAxfkYXAAAAAAC+hiAGAAAAAB5GEAMAAAAADyOIAQAAAICHEcQAAAAAwMMIYgAAAADgYQQxAAAAAPAwghgAAAAAeBhBDAAAAAA8jCAGAGixlixZIpPJ5PZo166dhg0bpo8++sjo8jzuq6++UkpKikJDQ2UymfT+++8bXRIA4Bz5G10AAABns3jxYvXs2VNOp1PZ2dl6/vnnNWbMGC1fvlxjxowxujyPcDqdmjBhgrp3767ly5crNDRUPXr0MLosAMA5IogBAFq85ORkpaSkuJ6PHj1aUVFR+s9//uMzQSwzM1N5eXkaP368RowY0STXrKiokMlkkr8/3w4AgKexNBEA0OoEBQUpMDBQAQEBbsfz8vJ0xx13qH379goMDFTnzp310EMPyWazucakpaXJZDJpyZIlta5rMpk0e/Zs1/PZs2fLZDJp+/btuuGGGxQREaHY2FjddtttKigocDvX4XDoueeeU//+/RUcHKzIyEhddNFFWr58udu4t956S4MHD1ZoaKjatGmjUaNGadOmTWf8vLNnz1aHDh0kSQ888IBMJpM6deokSdq7d69+97vfqVu3bgoJCVH79u01ZswYbd261e0aq1atkslk0muvvaZ7771X7du3l8Vi0d69e8/43gCA5kEQAwC0eHa7XZWVlaqoqNChQ4c0ffp0lZSU6MYbb3SNKSsr0/Dhw/Xqq69qxowZ+vjjj3XzzTfriSee0LXXXvuz3v+6665T9+7d9e677+rBBx/Um2++qXvuucdtzKRJkzRt2jRdcMEFeuutt7R06VKNHTtWaWlprjGPP/64brjhBvXu3Vtvv/22XnvtNRUVFemSSy7Rjh076n3/3//+93rvvfckSXfddZfWrl2rZcuWSaqaKYuOjtZf//pXffbZZ/rnP/8pf39/XXjhhdq9e3eta82cOVPp6el68cUX9eGHHyomJuZn/dkAAM6REwCAFmrx4sVOSbUeFovF+cILL7iNffHFF52SnG+//bbb8b/97W9OSc4vvvjC6XQ6nQcOHHBKci5evLjW+0lyzpo1y/V81qxZTknOJ554wm3cHXfc4QwKCnI6HA6n0+l0fvvtt05Jzoceeqjez5Kenu709/d33nXXXW7Hi4qKnHFxcc4JEyac8c+ipu4nn3zyjOMqKyud5eXlzm7dujnvuece1/GVK1c6JTl/+ctfnvF8AIBnMCMGAGjxXn31Va1fv17r16/Xp59+qltvvVV33nmnnn/+edeYr7/+WqGhofr1r3/tdu6kSZMkVXUcPFdjx451e37++eerrKxMOTk5kqRPP/1UknTnnXfWe43PP/9clZWVuuWWW1RZWel6BAUF6dJLL9WqVavOqbbKyko9/vjj6t27twIDA+Xv76/AwEDt2bNHO3furDX+uuuuO6f3AQA0Le7OBQC0eL169arVrOPgwYO6//77dfPNNysyMlLHjh1TXFycTCaT27kxMTHy9/fXsWPHzvn9o6Oj3Z5bLBZJ0okTJyRJubm5MpvNiouLq/caR44ckSRdcMEFdb7u53duPxudMWOG/vnPf+qBBx7QpZdeqqioKPn5+en3v/+9q75TxcfHn9P7AACaFkEMANAqnX/++fr888/1008/6Re/+IWio6P1ww8/yOl0uoWxnJwcVVZWymq1Sqpq9CHJrYGHpJ8V1Nq1aye73a7s7Ox6g07N+//3v/9Vx44dz/m9Tvf666/rlltu0eOPP+52/OjRo4qMjKw1/vSgCgAwBksTAQCtUmpqqqSqECRJI0aMUHFxca1Njl999VXX65IUGxuroKAgbdmyxW3cBx98cM61XHnllZKkBQsW1Dtm1KhR8vf31759+5SSklLn41yYTCbXDF2Njz/+WIcPHz6n6wEAPIMZMQBAi7dt2zZVVlZKqpq5eu+997RixQqNHz9eSUlJkqRbbrlF//znP3XrrbcqLS1Nffv21erVq/X444/rqquu0uWXXy6pKrjcfPPNeuWVV9SlSxf169dP69at05tvvnnO9V1yySX67W9/q7/85S86cuSIrrnmGlksFm3atEkhISG666671KlTJz32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1H9UbghiAAAAQAsSHGDWjsdGGfbejTV8+HAtWLBApaWlevnll/XTTz/prrvuUm5urjIyMjR58mRNmTLFNb6yslIRERGSpOTkZEVHR+ubb75RQECA+vXrp7Fjx+of//iHJGnVqlW69NJLXefu27dPjzzyiL7//nsdPXpUDodDkpSenu4WxFJSUly/LygoUFZWlgYPHuw65u/vr5SUFNeMV79+/TRixAj17dtXo0aN0siRI/XrX/9aUVFRjf7zaCiCGAAAANCCmEymn7U80NNCQ0PVtWtXSdI//vEPDR8+XHPmzNHUqVMlVS1PvPDCC93OMZurAp/JZNIvf/lLrVq1SoGBgRo2bJiSk5Nlt9u1detWrVmzRtOnT3edN2bMGCUmJuqll15SQkKCHA6HkpOTVV5eXqumxjCbzVqxYoXWrFmjL774Qs8995weeugh/fDDD0pKSmrsH0mD0KwDAAAAQJOZNWuWnnrqKdntdrVv31779+9X165d3R6nhpthw4Zp1apVWrVqlYYNGyaTyaRLLrlETz31lE6cOOG6P+zYsWPauXOnHn74YY0YMUK9evVqUJv8iIgIxcfH6/vvv3cdq6ys1MaNG93GmUwmDR06VHPmzNGmTZsUGBioZcuWNdGfSm2tJ2oDAAAAaPGGDRumPn366PHHH9fs2bN19913Kzw8XFdeeaVsNps2bNig/Px8zZgxwzV+2rRp8vf31yWXXOI6du+992rgwIEKDw+XJEVFRSk6OloLFy5UfHy80tPT9eCDDzaopmnTpumvf/2runXrpl69eunpp5/W8ePHXa//8MMP+uqrrzRy5EjFxMTohx9+UG5urnr16tW0fzinIIgBAAAAaFIzZszQ7373O+3du1cvv/yynnzySd1///0KDQ1V37593ZYbJicny2q1qmPHjq7Qdemll8put7vdH+bn56elS5fq7rvvVnJysnr06KF//OMfGjZs2Fnruffee5WVlaVJkybJz89Pt912m8aPH6+CggJJUnh4uL799lv9/e9/V2FhoTp27Kj58+fryiuvbNI/l1OZnM3Zk9FHFBYWKiIiQgUFBa4vHgAAAKAhysrKdODAASUlJSkoKMjoctAAZ/o7a2g24B4xAAAAAPAwghgAAAAAeBhBDAAAAAA8jCAGAAAAAB5GEAMAAABaAHrotR5N8XdFEAMAAAAMFBAQIEkq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RlVUVGjkyJGuYwkJCUpOTtaaNWvqDWI2m002m831vLCwsAk/CeDO4XC6liWOZ1kiAACAV2h0EHM4HM1Rx8+WnZ2t2NhYt2NRUVEKDAxUdnZ2vecEBgYqKirK7XhsbGy950jSvHnzXDN0QHPbcDBfh4+fUBuLvy7vFXv2EwAAANDiNdk9Yudi9uzZMplMZ3xs2LChwdera18lp9PZ6P2WznbOzJkzVVBQ4HpkZGQ06vpAY9TMhl2ZHKegALPB1QAAAKApNGhGbMaMGQ2+4NNPP93gsVOnTtXEiRPPOKZTp04NulZcXJx++OEHt2P5+fmqqKioNVN26jnl5eXKz893mxXLycnRkCFD6n0vi8Uii4X7dND8bJV2fbyl6v6w8ewdBgAA4DUaFMQ2bdrUoIs1dubJarXKarU26pz6DB48WHPnzlVWVpbi46u6yn3xxReyWCwaNGhQnecMGjRIAQEBWrFihSZMmCBJysrK0rZt2/TEE080SV3Az7FyV44KyyoVHxGkizpHG10OAAAAmkiDgtjKlSubu46zSk9PV15entLT02W325WamipJ6tq1q9q0aaORI0eqd+/e+u1vf6snn3xSeXl5uu+++zRlyhRXx8TDhw9rxIgRevXVV/WLX/xCERERmjx5su69915FR0erbdu2uu+++9S3b19XF0XASDXLEsf2T5CfX+N+0AEAAICWq9HNOozy6KOP6t///rfr+YABAyRVhcRhw4bJbDbr448/1h133KGhQ4cqODhYN954o5566inXORUVFdq9e7dKS0tdx5555hn5+/trwoQJOnHihEaMGKElS5bIbOZeHBjreGm5Vu7KlcSyRAAAAG9jcjqdzsaetH79er3zzjtKT09XeXm522vvvfdekxXXWhQWFioiIkIFBQV17lcGnIs3fjioh5ZtU6/4cH067RKjywEAAEADNDQbNLpr4tKlSzV06FDt2LFDy5YtU0VFhXbs2KGvv/5aERERP6toACe9X7N32ICEs4wEAABAa9PoIPb444/rmWee0UcffaTAwEA9++yz2rlzpyZMmKDzzjuvOWoEfE5GXqnWp+XLZJLG9mNZIgAAgLdpdBDbt2+frr76aklVbdxLSkpkMpl0zz33aOHChU1eIOCLPkitmg0b0iVacRFBBlcDAACAptboINa2bVsVFRVJktq3b69t27ZJko4fP+7W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um6//XajS4OXufPOO/Xmm2/qgw8+UFhYmGsmNiIiQsHBwQZXB28UFhZW6x7E0NBQRUdHc28imtw999yjIUOG6PHHH9eECRO0bt06LVy4UAsXLjS6NHipMWPGaO7cuTrvvPPUp08fbdq0SU8//bRuu+02o0tDM6J9vZd54YUX9MQTTygrK0vJycl65plnaCeOJlfffYeLFy/WpEmTPFsMfNawYcNoX49m89FHH2nmzJnas2ePkpKSNGPGDE2ZMsXosuClioqK9Mgjj2jZsmXKyclRQkKCbrjhBj366KMKDAw0ujw0E4IYAAAAAHgY94gBAAAAgIcRxAAAAADAwwhiAAAAAOBhBDEAAAAA8DCCGAAAAAB4GEEMAAAAADyMIAYAAAAAHkYQAwAAAAAPI4gBAFCHtLQ0mUwmpaamNtt7TJo0SePGjWu26wMAWi6CGADAK02aNEkmk6nWY/To0Q06PzExUVlZWUpOTm7mSgEAvsjf6AIAAGguo0eP1uLFi92OWSyWBp1rNpsVFxfXHGUBAMCMGADAe1ksFsXFxbk9oqKiJEkmk0kLFizQlVdeqeDgYCUlJemdd95xnXv60sT8/HzddNNNateunYKDg9WtWze3kLd161ZddtllCg4OVnR0tP7whz+ouLjY9brdbteMGTMUGRmp6Oho3X///XI6nW71Op1OPfHEE+rcubOCg4PVr18//fe//3W9frYaAACtB0EMAOCzHnnkEV133XXavHmzbr75Zt1www3auXNnvWN37NihTz/9VDt37tSCBQtktVolSaWlpRo9erSioqK0fv16vfPOO/ryyy81depU1/nz58/XK6+8okWLFmn16tXKy8vTsmXL3N7j4Ycf1uLFi7VgwQJt375d99xzj26++WZ98803Z60BANC6mJyn/zgOAAAvMGnSJL3++usKCgpyO/7AAw/okUcekclk0u23364FCxa4Xrvooos0cOBAvfDCC0pLS1NSUpI2bdqk/v37a+zYsbJarXrllVdqvddLL72kBx54QBkZGQoNDZUkffLJJxozZowyMzMVGxurhIQETZs2TQ888IAkqbKyUklJSRo0aJDef/99lZSUyGq16uuvv9bgwYNd1/7973+v0tJSvfnmm2esAQDQunCPGADAaw0fPtwtaElS27ZtXb8/NfDUPK+vS+If//hHXXfddfrxxx81cuRIjRs3TkOGDJEk7dy5U/369XOFMEkaOnSoHA6Hdu/eraCgIGVlZbm9n7+/v1JSUlzLE3fs2KGysjJdccUVbu9bXl6uAQMGnLUGAEDrQhADAHit0NBQde3atVHnmEymOo9feeWVOnjwoD7++GN9+eWXGjFihO6880499dRTcjqd9Z5X3/HTORwOSdLHH3+s9u3bu71W02DkTDUAAFoX7hEDAPis77//vtbznj171ju+Xbt2riWPf//737Vw4UJJUu/evZWamqqSkhLX2O+++05+fn7q3r27IiIiFB8f7/Z+lZWV2rhxo+t57969ZbFYlJ6erq5du7o9EhMTz1oDAKB1YUYMAOC1bDabsrOz3Y75+/u7Gly88847SklJ0cUXX6w33nhD69at06JFi+q81qOPPqpBgwapT58+stls+uijj9SrVy9J0k033aRZs2bp1ltv1ezZs5Wbm6u77rpLv/3tbxUbGytJmjZtmv7617+qW7du6tWrl55++mkdP37cdf2wsDDdd999uueee+RwOHTxxRersLBQa9asUZs2bXTrrbeesQYAQOtCEAMAeK3PPvtM8fHxbsd69OihXbt2SZLmzJmjpUuX6o477lBcXJzeeOMN9e7du85rBQYGaubMmUpLS1NwcLAuueQSLV26VJIUEhKizz//XNOmTdMFF1ygkJAQXXfddXr66add5997773KysrSpEmT5Ofnp9tuu03jx49XQUGBa8yf//xnxcTEaN68edq/f78iIyM1cOBA/elPfzprDQCA1oWuiQAAn2QymbRs2TKNGzfO6FIAAD6Ie8QAAAAAwMMIYgAAAADgYdwjBgDwSazMBwAYiRkxAAAAAPAwghgAAAAAeBhBDAAAAAA8jCAGAAAAAB5GEAMAAAAADyOIAQAAAICHEcQAAAAAwMMIYgAAAADgYf8f4IK38X3OdxYAAAAASUVORK5CYII=" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "# Now you can plot the data\n", + "# For example, plot the rewards\n", + "plt.figure(figsize=(10, 5))\n", + "plt.plot(bouncef_rewards_array, label='Rewards')\n", + "# plt.plot(bouncef_agrewards_array, label='Aggregated Rewards')\n", + "plt.ylim(-20,0)\n", + "plt.legend()\n", + "plt.xlabel('Episodes')\n", + "plt.ylabel('Value')\n", + "plt.title('Bounce far')\n", + "plt.show()" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 9, + "outputs": [], + "source": [ + "scenario = 'slow_agent'\n", + "\n", + "base_directory_path = f\"./learning_curves/{scenario}\"\n", + "directories = get_directories(base_directory_path)\n", + "date_directories = filter_directories_by_date(directories, date_time_format)\n", + "most_recent_directory = find_most_recent_directory(base_directory_path, date_directories, date_time_format)\n", + "# Load the data from .pkl files\n", + "with open(os.path.join(most_recent_directory, 'test_rewards.pkl'), 'rb') as f:\n", + " rewards = pickle.load(f)\n", + "\n", + "with open(os.path.join(most_recent_directory, 'test_agrewards.pkl'), 'rb') as f:\n", + " agrewards = pickle.load(f)" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 10, + "outputs": [], + "source": [ + "\n", + "# Convert the data to numpy arrays\n", + "slow_rewards_array = np.array(rewards)\n", + "slow_agrewards_array = np.array(agrewards)" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 11, + "outputs": [ + { + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA14AAAHUCAYAAAAqbPllAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAADWcklEQVR4nOydeZgcZbn27+q9e/Z9y2RfSSYQiEDYkgAhLCLCERWORyKKGygS+FAWCeBhUSCiqIiK5KAcNxRR8GDCvgUIS0L2fTJJZiazL90zvdf3R9X7VnVPL1Xd1d3TPc/vuuaCzHT31PRS9T7vfT/3I4iiKIIgCIIgCIIgCILIGKZcHwBBEARBEARBEEShQ4UXQRAEQRAEQRBEhqHCiyAIgiAIgiAIIsNQ4UUQBEEQBEEQBJFhqPAiCIIgCIIgCILIMFR4EQRBEARBEARBZBgqvAiCIAiCIAiCIDIMFV4EQRAEQRAEQRAZhgovgiAIgiAIgiCIDEOFF0EQBDFuePfdd3HppZdi8uTJsNvtqKurw5IlS3DjjTdG3G7ZsmVYtmxZbg4yz/jXv/6FO++8M9eHQRAEMeGhwosgCIIYFzz//PM47bTTMDQ0hB/96EdYv349fvKTn+D000/Hn/70p1wfXt7yr3/9C3fddVeuD4MgCGLCY8n1ARAEQRAEAPzoRz/CtGnT8O9//xsWi3J5+vznP48f/ehHOTwygiAIgkgfUrwIgiCIcUFvby+qq6sjii6GyZT8ctXX14dvfvObaGpqgs1mw/Tp03HbbbfB5/Px21x++eWYP39+xP0uvvhiCIKAv/zlL/x7H374IQRBwD//+c+Ev/Ouu+7CKaecgsrKSpSWluLEE0/E448/DlEUI27n8/lw4403or6+Hi6XC2eddRY++OADTJ06FatWrYq4bWdnJ772ta9h0qRJsNlsmDZtGu666y4Eg0F+m9bWVgiCgAcffBBr167FtGnTUFxcjCVLluCdd97ht1u1ahV+/vOfAwAEQeBfra2tSZ9PgiAIwlhI8SIIgiDGBUuWLMFvfvMbfPvb38Z//ud/4sQTT4TVatV0X6/Xi+XLl2P//v246667sHDhQrzxxhu47777sHnzZjz//PMAgHPPPRdPP/00Ojo60NDQgGAwiNdeew1OpxMbNmzA5ZdfDgB48cUXYbFYkvaRtba24mtf+xomT54MAHjnnXfwrW99C0ePHsUdd9zBb/elL30Jf/rTn3DzzTfj7LPPxo4dO3DppZdiaGgo4vE6Oztx8sknw2Qy4Y477sCMGTOwceNG/Pd//zdaW1vxxBNPRNz+5z//OebOnYuHH34YAPD9738fF154IQ4ePIiysjJ8//vfh8fjwdNPP42NGzfy+zU0NGh6XgmCIAgDEQmCIAhiHNDT0yOeccYZIgARgGi1WsXTTjtNvO+++8Th4eGI2y5dulRcunQp//cvf/lLEYD45z//OeJ2P/zhD0UA4vr160VRFMV9+/aJAMQnn3xSFEVRfPPNN0UA4s033yxOmzaN32/FihXiaaedpuv4Q6GQGAgExLvvvlusqqoSw+GwKIqiuH37dhGA+N3vfjfi9n/4wx9EAOJVV13Fv/e1r31NLC4uFg8dOhRx2wcffFAEIG7fvl0URVE8ePCgCEBsaWkRg8Egv917770nAhD/8Ic/8O9de+21Il3uCYIgcg9ZDQmCIIhxQVVVFd544w1s2rQJ999/Py655BLs2bMHt9xyC1paWtDT0xP3vi+//DKKiorwmc98JuL7zMb30ksvAQBmzJiBqVOn4sUXXwQAbNiwAS0tLfjCF76AgwcPYv/+/fD5fHjzzTdx7rnnJj3ml19+Geeeey7KyspgNpthtVpxxx13oLe3F11dXQCA1157DQDw2c9+NuK+n/nMZ8bYKp977jksX74cjY2NCAaD/OuCCy6IeCzGRRddBLPZzP+9cOFCAMChQ4eSHjtBEASRXajwIgiCIMYVixcvxne/+1385S9/QXt7O2644Qa0trYmDNjo7e1FfX09BEGI+H5tbS0sFgt6e3v598455xxeiL344otYsWIFWlpaUFdXhxdffBFvvfUWRkdHkxZe7733Hs477zwAwK9//Wu89dZb2LRpE2677TYAwOjoKD82AKirq4u4v8ViQVVVVcT3jh07hn/+85+wWq0RX6wvLbr4jL6/3W6P+N0EQRDE+IF6vAiCIIhxi9VqxZo1a/DjH/8Y27Zti3u7qqoqvPvuuxBFMaL46urqQjAYRHV1Nf/eOeecg8cffxzvvfce3n33Xdx+++0AgLPPPhsbNmzAoUOHUFxcjFNPPTXhsf3xj3+E1WrFc889B4fDwb//97//fcyxAVJR1dTUxL8fDAYjCkIAqK6uxsKFC3HPPffE/J2NjY0Jj4kgCIIYv5DiRRAEQYwLOjo6Yn5/586dABIXHeeccw7cbveYoufJJ5/kP1ffVhAEfP/734fJZMJZZ50FQAreeOWVV7BhwwacddZZSYM9BEGAxWKJsPqNjo7id7/7XcTt2ONHzyJ7+umnI5IKAeCTn/wktm3bhhkzZmDx4sVjvlIpvEgFIwiCGB+Q4kUQBEGMC1auXIlJkybh4osvxty5cxEOh7F582Y89NBDKC4uxvXXXx/3vl/84hfx85//HFdddRVaW1vR0tKCN998E/feey8uvPDCCNtgbW0tFixYgPXr12P58uVwuVwApMKrr68PfX19WLt2bdLjveiii7B27VpceeWV+OpXv4re3l48+OCDvNBhzJ8/H1dccQUeeughmM1mnH322di+fTseeughlJWVRUTl33333diwYQNOO+00fPvb38acOXPg9XrR2tqKf/3rX/jlL3+JSZMm6XpeW1paAAA//OEPccEFF8BsNmPhwoWw2Wy6HocgCIJIDyq8CIIgiHHB7bffjmeffRY//vGP0dHRAZ/Ph4aGBpx77rm45ZZbMG/evLj3dTgceOWVV3DbbbfhgQceQHd3N5qamnDTTTdhzZo1Y25/7rnnYuvWrREF2eTJkzFr1izs3btXU7DG2Wefjd/+9rf44Q9/iIsvvhhNTU245pprUFtbiy9/+csRt33iiSfQ0NCAxx9/HD/+8Y9xwgkn4M9//jPOP/98lJeX89s1NDTg/fffxw9+8AM88MADOHLkCEpKSjBt2jScf/75qKio0PBMRnLllVfirbfewi9+8QvcfffdEEURBw8exNSpU3U/FkEQBJE6gihGTXkkCIIgCCLjvP322zj99NPx1FNP4corr8z14RAEQRAZhgovgiAIgsgwGzZswMaNG3HSSSfB6XRiy5YtuP/++1FWVoaPP/44IpyDIAiCKEzIakgQBEEQGaa0tBTr16/Hww8/jOHhYVRXV+OCCy7AfffdR0UXQRDEBIEUL4IgCIIgCIIgiAxDcfIEQRAEQRAEQRAZhgovgiAIgiAIgiCIDEOFF0EQBEEQBEEQRIahcI0UCIfDaG9vR0lJCQRByPXhEARBEARBEASRI0RRxPDwMBobG2Eyxde1qPBKgfb2djQ3N+f6MAiCIAiCIAiCGCccPnwYkyZNivtzKrxSoKSkBID05JaWlub4aAiCIAiCIAiCyBVDQ0Nobm7mNUI8qPBKAWYvLC0tpcKLIAiCIAiCIIikLUgUrkEQBEEQBEEQBJFhqPAiCIIgCIIgCILIMFR4EQRBEARBEARBZBjq8SIIgiAIgiCILCOKIoLBIEKhUK4PhUiC2WyGxWJJe4wUFV4EQRAEQRAEkUX8fj86OjowMjKS60MhNOJyudDQ0ACbzZbyY1DhRRAEQRAEQRBZIhwO4+DBgzCbzWhsbITNZktbSSEyhyiK8Pv96O7uxsGDBzFr1qyEQ5ITQYUXQRAEQRAEQWQJv9+PcDiM5uZmuFyuXB8OoQGn0wmr1YpDhw7B7/fD4XCk9DgUrkEQBEEQBEEQWSZV1YTIDUa8XvSKEwRBEARBEARBZBgqvAiCIAiCIAiCIDIMFV4EQRAEQRAEQRQ0q1atwqc//emcHgMVXgRBEARBEARBJGXVqlUQBAGCIMBisWDy5Mn4xje+gf7+/lwfWl5AhRdBEARBEARBEJo4//zz0dHRgdbWVvzmN7/BP//5T3zzm9/M9WFxAoFArg8hLlR4EQRB5JCBET9WPfEent18NNeHQhAEQeQIURQx4g/m5EsURV3HarfbUV9fj0mTJuG8887D5z73Oaxfv57//IknnsC8efPgcDgwd+5c/OIXv+A/+4//+A9861vf4v/+zne+A0EQsH37dgBAMBhESUkJ/v3vfwMAXnjhBZxxxhkoLy9HVVUVPvnJT2L//v38/q2trRAEAX/+85+xbNkyOBwO/P73v0coFMLq1av5/W6++eYxf+fTTz+NlpYWOJ1OVFVV4dxzz4XH49H1XOiF5ngRBEHkkOc+7sCru7vR7/HjkhOacn04BEEQRA4YDYRw3B3/zsnv3nH3SrhsqZUEBw4cwAsvvACr1QoA+PWvf401a9bgZz/7GRYtWoSPPvoI11xzDYqKinDVVVdh2bJl+NWvfsXv/9prr6G6uhqvvfYa5s+fj02bNsHr9eL0008HAHg8HqxevRotLS3weDy44447cOmll2Lz5s0R8e7f/e538dBDD+GJJ56A3W7HQw89hN/+9rd4/PHHcdxxx+Ghhx7CM888g7PPPhsA0NHRgSuuuAI/+tGPcOmll2J4eBhvvPGG7iJUL1R4EQRB5JDNhwcAAN3DvtweCEEQBEFo4LnnnkNxcTFCoRC8Xi8AYO3atQCAH/zgB3jooYdw2WWXAQCmTZuGHTt24LHHHuOF1/XXX4+enh6YzWZs374da9aswauvvopvfvObePXVV3HSSSehuLgYgKSQqXn88cdRW1uLHTt2YMGCBfz73/nOd/jvBICHH34Yt9xyC7//L3/5S66iAVLhFQwGcdlll2HKlCkAgJaWFqOfqjFQ4UUQBJFDeOHl9kEURQiCkNsDIgiCILKO02rGjrtX5ux362H58uV49NFHMTIygt/85jfYs2cPvvWtb6G7uxuHDx/Gl7/8ZVxzzTX89sFgEGVlZQCABQsWoKqqCq+99hqsViuOP/54fOpTn8JPf/pTAMCrr76KpUuX8vvu378f3//+9/HOO++gp6cH4XAYANDW1hZReC1evJj//+DgIDo6OrBkyRL+PYvFgsWLF3NF6/jjj8c555yDlpYWrFy5Eueddx4+85nPoKKiQtdzoRcqvAiCIHLEkDeA/d1uAEAgJGJwNIByly3HR0UQBEFkG0EQUrb7ZZuioiLMnDkTAPDTn/4Uy5cvx1133YXrrrsOgGQ3POWUUyLuYzZLxZ0gCDjrrLPw6quvwmazYdmyZViwYAFCoRC2bt2Kt99+G9/5znf4/S6++GI0Nzfj17/+NRobGxEOh7FgwQL4/f4xx6QHs9mMDRs24O2338b69evxyCOP4LbbbsO7776LadOm6X1KNEPhGgRBEDni48ODUNvJe9xkNyQIgiDyizVr1uDBBx9EKBRCU1MTDhw4gJkzZ0Z8qYuZZcuW4dVXX8Wrr76KZcuWQRAEnHnmmXjwwQcxOjrK+7t6e3uxc+dO3H777TjnnHMwb948TbH1ZWVlaGhowDvvvMO/FwwG8cEHH0TcThAEnH766bjrrrvw0UcfwWaz4ZlnnjHoWYlNfpTWBEEQBcjmw5EXkK5hH2bWluToaAiCIAhCP8uWLcP8+fNx77334s4778S3v/1tlJaW4oILLoDP58P777+P/v5+rF69mt/++uuvh8ViwZlnnsm/d+ONN+LEE09EaWkpAKCiogJVVVX41a9+hYaGBrS1teF73/uepmO6/vrrcf/992PWrFmYN28e1q5di4GBAf7zd999Fy+99BLOO+881NbW4t1330V3dzfmzZtn7JMTBRVeBEEQOYL1dzEoYIMgCILIR1avXo0vfelL2LdvH37zm9/ggQcewM0334yioiK0tLRE2AcXLFiA6upqTJkyhRdZS5cuRSgUiujvMplM+OMf/4hvf/vbWLBgAebMmYOf/vSnWLZsWdLjufHGG9HR0YFVq1bBZDLh6quvxqWXXorBwUEAQGlpKV5//XU8/PDDGBoawpQpU/DQQw/hggsuMPR5iUYQM52bWIAMDQ2hrKwMg4OD/A1DEAShB1EU8Yl7XkSP24+mcieODozi9ovm4StnTs/1oREEQRAZxOv14uDBg5g2bRocDkeuD4fQSKLXTWttQD1eBEEQOeBI/yh63H5YTAKWzqkBAPS4/UnuRRAEQRBEvkKFF0EQRA7YcmQAADCvoRSTKpwAyGpIEARBEIUMFV4EQRA5YHPbAADghOZy1BTbAUizvAiCIAiCKEwoXIMgCCIHsGCNE5rLUVUsze7qIcWLIAiCIAoWKrwIgiCyTCAUxtajUrLSCZPLMeoPASDFiyAIYiJB+Xb5hRGvF1kNCYIgsszuzmH4gmGUOiyYVlWE2hLJatjr9iEUpgtxvnK4bwRhev0IgkiC1WoFAIyMjOT4SAg9sNeLvX6pQIoXQRBElvlIthke31wOk0lAZZENggCERaDP40eNXIgR+cP/be3AN576ENefMws3rJid68MhCGIcYzabUV5ejq6uLgCAy+WCIAg5PioiHqIoYmRkBF1dXSgvL4fZbE75sajwIgiCyDLqYA0AsJhNqCqyocftR4/bR4VXHsKsox9FDcUmCIKIRX19PQDw4osY/5SXl/PXLVWo8CIIgsgymw/3A1AKLwCoLrajx+1H97AP8xpydGBEyrBRAEf7yTpEEERyBEFAQ0MDamtrEQgEcn04RBKsVmtaSheDCi+CIIgsMjgawP5uD4DIwqumxI5dncM0yytPYcEoRwdGIYoi2YYIgtCE2Ww2ZEFP5AcUrkEQBJFFPpYHJzdXOlFVrFgK2SyvHko2zEtYwewNhNHn8ef4aAiCIIjxCBVeBEEQWUTp76qI+H613NdFild+on7djg6M5vBICIIgiPEKFV4EQRBZRD04WQ1TvGiWV/4RCovoValcR/up8CIIgiDGQoUXQRBElhBFEVtkq+GYwosUr7ylf8QfMX+NFC+CIAgiFlR4EQRBZIkj/aPocfthNQuY31ga8TNWeFGPV/4RXSwfIcWLIAiCiAEVXgRBEFmC2QznNZTCYY1MsaouJsUrX4l+zUjxIgiCIGJBhRdBEESWiNffBSiKV/9IAIFQOItHRaQLK7wsJilCnnq8CIIgiFjkTeF1zz334LTTToPL5UJ5eXnC2/b29mLSpEkQBAEDAwMRP9u6dSuWLl0Kp9OJpqYm3H333RBFMfYDEQRBGEiiwqvcaeUL9143xZHnEywQZW5DCQBSvAiCIIjY5E3h5ff7cfnll+Mb3/hG0tt++ctfxsKFC8d8f2hoCCtWrEBjYyM2bdqERx55BA8++CDWrl2biUMmCILgBEJhbDs6CCB24WUyCagqtgEgu2G+wV4v9roOjgbg9gVzeEQEQRDEeCRvCq+77roLN9xwA1paWhLe7tFHH8XAwABuuummMT976qmn4PV6sW7dOixYsACXXXYZbr31Vqxdu5ZUL4IgMsqujmH4gmGUOiyYVl0U8zY82dDtzeahEWnCCq+pVUUoc1oBkN2QIAiCGEveFF5a2LFjB+6++248+eSTMJnG/mkbN27E0qVLYbfb+fdWrlyJ9vZ2tLa2xn1cn8+HoaGhiC+CIAg9bD7cDwA4vrkcgiDEvE0NBWzkJez1qimxo7HcCQA4OjCSy0MiCIIgxiEFU3j5fD5cccUVeOCBBzB58uSYt+ns7ERdXV3E99i/Ozs74z72fffdh7KyMv7V3Nxs3IETBDEh+Eju71oUw2bIUCLlqccrn2A9XjUldjSxwosUL4IgCCKKnBZed955JwRBSPj1/vvva3qsW265BfPmzcMXvvCFhLeL3mlmFsN4O9DssQcHB/nX4cOHNR0TQRAEgwdrTC6PexuKlM9P2OtVW2LHpAqp8DpCARsEQRBEFJZc/vLrrrsOn//85xPeZurUqZoe6+WXX8bWrVvx9NNPA1AKqurqatx222246667UF9fP0bZ6urqAoAxSpgau90eYU8kCILQw+BIAAe6PQCA4yeVx70d7/Giwitv8AVDGBwNAABqih2keBEEMSF5/uMOTKsuwnGNpbk+lHFNTguv6upqVFdXG/JYf/3rXzE6qlzoNm3ahKuvvhpvvPEGZsyYAQBYsmQJbr31Vvj9fthsUnrY+vXr0djYqLnAIwiC0MuWIwMAgMmVLlQVx9/EUcI1qPDKF5gt1GY2odRpQVMF6/GiwosgiInBjvYhXPu/H2J2XTHW37A014czrslp4aWHtrY29PX1oa2tDaFQCJs3bwYAzJw5E8XFxby4YvT09AAA5s2bx+d+XXnllbjrrruwatUq3Hrrrdi7dy/uvfde3HHHHQmthgRBEOmwVY6RPz5BfxegWA17SPHKG5g6WV1sgyAIpHgRBDHhYKNSOgYokTcZeVN43XHHHfif//kf/u9FixYBAF555RUsW7ZM02OUlZVhw4YNuPbaa7F48WJUVFRg9erVWL16dSYOmSAIAgCwo0NKQp2fxIJBVsP8Q51oCIArXl3DPviCIdgt5pwdG0EQRDbYfWwYADDsCyIUFmE2kZgRj7wpvNatW4d169Zpvv2yZctizuZqaWnB66+/buCREQRBJGanXHjNa9BWeA37gvAGQnBYadE+3okuvKqKbHBYTfAGwugY8GJqnJltBEEQhcIeufACgGFvAOUuWw6PZnxTMHHyBEEQ45FRfwitPVKwxryGkoS3LbFbYLdIp2VSvfKD6MJLEATVLC+yGxIEUfjs7lQKLxY2RMSGCi+CIIgMsvvYMMKi1ANUW+JIeFtBEJRIeQrYyAu63VJPQ40qNIX6vAiCmCj0e/zoUm0UUuGVGCq8CIIgMohWmyGD+rzyi2jFCwDN8iIIYsKgthkCVHglgwovgiCIDJJq4dVDildeEKvwIsWLIIiJQnThNTQazNGR5AdUeBEEQWSQHe2s8Erc38UgxSu/YJbQiMKLz/IayckxEQRBZIvdpHjpggovgiCIDBEOi9glNx1rVbx4jxcVXuMeURQVxatY6d9rKncBoHANgiAKnz2dbgCAwyqVFFR4JYYKL4IgiAxxpH8Ubl8QNrMJM2qKNd2HFK/8we0LwhsIAwCqS5T4ZKZ4dQx4EQqPHWtCEARRCIiiyBWvE5rLAVDhlQwqvAiCIDIEG5w8s7YYVrO20y1Lx6Mer/EPK46L7Ra4bMpYzLoSO8wmAcGwiK5hb64OjyAIIqN0DfswOBqA2STgxMkVAIAhLxVeiaDCiyAIIkPoDdYAgBpZOSmkOHlvIISfvLgX+7vduT4UQ4kVrAEAFrMJ9aWS9ZACNgiCKFTY/K6pVS5+HiTFKzFUeBEEQWQIVngd16ij8JJ7hbqHfRDFwrCp/XNLO3784h7c8tetuT4UQ+HBGsX2MT9TAjao8CIIojBhiYZz6ktQ5rQCAIao8EoIFV4EQRAZYmenvkRDQOkV8gbC8PhDGTmubNMxKNnt3j/Uhz6PP8dHYxzxFC8AmCRHyh8hxYsgiAKFKV6z60pQ6pAKL1K8EkOFF0EQRAYY9gZwuE9adB+nw2rosllQbJf6hQolYIMVW2EReGVXV46PxjgSFV6keBEEUehwxauuBGUuKry0QIUXQRBEBmAx8g1lDpS7bEluHUl1sdznlYPC650Dvfj+37fB4zNuCKY6KOSlXccMe9xck7DwoiHKBDEuEUWxoJT3XBEOi9hzTOrbnU1WQ81Q4UUQBJEBUgnWYOQyUv7hF/fgd+8cwos7jSuQ1Iuc13Z3wxcsDAullh6vdlK8CGJc8ehr+3HiDzbghW0duT6UvOZI/yhGAyHYLCZMqXQphZc3WDD9yZmACi+CIIgMoBRe2vu7GKzwykWkfNeQ9Ds7B42LQVcXXh5/CO8e6DPssXOJJsVrYJQWIQQxjnjmw6MAgB0dwzk+kvyGze+aWVMMi9nEe7xCYRFuAx0ThQYVXgRBEBmAXdRTUbyqi3OneLFir8vA393jlgqv4+UBm0aqabkkUeHVKBdeI/4QBkbIekMQ44GjA6PY2yXZ40b9VBykgzrREAAcVhNs8rxK6vOKDxVeBEEQBhMKi9jdmYbVMEeFlz8YxpA3aOjvDodF9I9IhdfnFjcDAF7ccSzvVaBQWESvrOTFKrwcVjMvoClggyDGB6/uVsJ9RgokNTZXqBMNAUAQBJTyPi8qauNBhRdBEITBtPZ64A2E4bCaMLWqSPf9eY9Xlq2GvR7l9xlVeA2OBhAKS0XWJ49vgMNqQvugFzvz3ObTP+JHKCxCEIDKotjhKazPiyLlCWJ88Orubv7/o1R4pYWieBXz75U5pUReUrziQ4UXQRCEwbD+rjn1pTCbBN33z1WPV69b6cXqGjamx4upQiUOC0odVpwxswZA/tsNWWFa6bLBao59KZ1UTpHyBDFe8AVDeHtfD/83KV6pEwiFsb9bTjSsU/qYWcAGFV7xocKLIAjCYFjhdVwKwRpA7nq81AqbUb+7V35M9jedO68WAPBSgRResWyGDD7LixQvgsg577f2RwylHwlQ4ZUqh3o9CIREFNnMPEgIgMpqSIVXPKjwIgiCMJidaQRrAJGKVzZ7odSK15A3CK8BCxOWaMjseGfLhdeWI4M4NmRccmK20VR4ccVrJCvHROSOfV1unLv2NfzunUO5PhQiDqy/i6kyFK6ROrs7lfldgqC4OpRIeSq84kGFF0EQhMGkM8MLAKrkAcqBkJhVy0a0tdEI1atHLryq5MKrtsTB0w1f3tUV727jnkQzvBhNZDWcMKzdsBv7utz443ttuT4UIg6sv+u84+oAkNUwHViU/Jy6SFcHWQ2TQ4UXQRCEgfR7/OiQZ2DNrU/Nami3mPkFLJt2w97owsuAHrM+WUVjxSQArJBVrxd35K/dkKyGBONAtxv/t61T/n8PwuH8TuwsRI70j2BvlxsmAThvfj0ACtdIhz1RiYYMKrySQ4UXQRCEgTC1q7nSiRJ5oGQq8GTDrBZe/oh/s2HKaT2mnJRYVaQUKOfKO85v7uvJ28WPnsKrfySAEbI1FSy/ev0AmCN4NBBCRx5baAsVpnadNKUC9aUOAKR4pUP0DC8GG6JMhVd8qPAiCIIwkB3MZlifms2QwWd5ZTHZMPp3GfG7e6N6vADJntJU7oQvGMabqpSxfEJL4VXqsKLEIcUrZ0L12nx4AG/l6fNXKHQOevHXD48AAIpsZgDAfnlALzF+YIXXsjm1cMqvE22GpIY3EEJrrwcAMKuuOOJnpHglhwovgiAIA0k3WIORS8VrkqzUdBuwcx/LaigIAlbIqle+phtq6fEClD6vIwb3efmCIfzXb97FVb99DwMj/uR3IDLC428eQCAk4uSplThzljQqgcVs55JQOLv9oeMZXzCEt/dLGxRLZ9fAJRdeo5RqmBL7utwIi0CFyzrm/Gd0quHjbx7El554z5Cgp/ECFV4EQRAGkm6wBqM6B4oXC9dgx26M4jXWaggA57A+r51dedkTo0XxApQi1mjFa2fHMIZ9QQTDIg1ozhEDI37877tSmMY3ls3AjFppWPq+caB4ffevH+MT97yIdw/05vpQcs77rf0Y8YdQU2LH/MZSXngFQiICoXCOj258MeIP4vE3D6I9wUYRsxnOrotMNASMV7x+/foBvLK7Gxv3F877mAovgiAIgwiEwnzRNb8xvxSvcFjk0e+88DLgd7PHVCteAHDKtCoU2y3ocfvw8dHBtH9PNvEFQ3xhkazwylSy4Udt/fz/sz3vjZD43cZD8PhDmFtfgmVzajCjRrJd5Vrx8gZC+OeWdviDYdzx7HYEJ3hx8Yqcnrp0dg0EQeBWQ4D6vKJ55qOj+MFzO3DVb+OrTLvj9HcBQKlTslYPjqZv4wyHRb4ZmOvPlJFQ4UUQBGEQ+7vd8IfCKLFbuNKRKsosr+zYyAZHAwjKytM8+YLaleaCXl3MVRVFFl42iwlLZ0vWrHxLN2SvidUs8B3eeGQq2XDz4QH+//k8Dy1fGfWH8MTbrQAktUsQBFXh5cnhkQHvHuyDLygVW7uPDeOpdyd2xP2re1h/l3S+sZlNMJskpSZfw30yRaecyLu3y40fb9gT8zbxEg0B1Ryv0UDaMyjV16Rcf6aMhAovgiAmHA+t343//M07hvfGMJvh3IaxFgy9VMsKUbbUDGYJLHVY0CirNOn+7oHRAJiLsCKq8AKAc49jdsP8Kry4zbDYnvR1bsyQ4hVZeJHilW3+tKkNfR4/miuduKilAQAwvUayGnYP+3LaX8UGBdfKmzdrN+zhGyATjSP9I9jX5YbZJODMmVLhJQgCXFYK2IjFwIjyvv3VGwfwwaG+MbfZc0xSn2IpXqzw8ofCvPhPFbXV/QApXgRBEPnL7945hLf29eLOf2w39HGNCtYAsm81ZCpOdbEdtaVMbfOl1X/F5oKVOa2wmsdebpbNroVJAHZ1DuNw30jKvyfbaO3vAlRWQwMVrz6PH4d6leera5gUr2wSCIXx6zcOAgC+etYMWOT3donDijr5s5PLheJrssKz5uL5mFtfgsHRAB5avztnx5NLWJrhiZPLUeZS1Gkl2ZAULzVsw6DEYYEoAjf95eMIVXDYG+CbSLNrxxZexXYLVxPT3XzoUV37SPEiCILIU0RRhNsr7XL+fXM7/r2907DHNipYA1AW9X0eH0JZCJ9gXvrqYjsPwgiERAykcfHsjWMzZFQU2bB4aiWA/Eo31FV4yVbDY8Ne+NPcAWZsUaldACle2eafW9pxdGAU1cU2XH7SpIif5dpueLhvBAe6PbCYBJw5uxp3fmo+AOAP77Vhe3t+9VIaAVP/ls2pjfg+JRvGhp3vbzh3NupLHTjY48EPX9jFf87UrvpSR0QhyxAEAaUO1ueVXuGlVrx63LlVkY2ECi+CICYUvmCY+8YB4LZnthpmwzGy8KoqssMkAGERWbEJ9api320WEyrki2o6iltvjCj5aM6V0w3/+XFH2j0B2UJP4VVdZIfNYoIoKv0T6cKCNdhsNFK8skc4LOKXr+0HAFx9xjQ4rOaIn+c6YIMVGidOqUCpw4pTp1fhooUNCIvAXf/YkTefMSOQYuSlNDzWT8pw2qTigBSvSFhx01zpwv3/0QIAWPd2K08V5ImGMWyGjFKDkg2jrz2FYjekwosgiAmFx6d4+mfVFqPH7ccaAyyHXcNe9Lj9MAnSgOB0MZsEvrDOht1QrXgBQG2JA0B6i/o+uW+sMo7iBQAXLWyEzWLCB4f68Y8t7Sn/rmzS7Zaek2QzvADAZBJUs7yMsVN+JCterGilcI3s8fKuLuw55kaJ3YIvnDplzM9nyH1euRqizGyG6kLj1gvnwWE14b3WPjz3cUdOjisThMJixPk8mk0HI2Pk1XDFi3q8ImDzt8pdViybU4srTm4GAPy/p7fA7QtitxysMSdqcLKaMoNmeUWPMykUuyEVXgRBTCg8PmmH02Uz48HLj4fZJOCfW9rxf1vTW5Cw/q6p1UURccXpkM1ZXj1R6pQRPWbKY8YvUJrKnfj22TMBAD94bgcGR8a/nUSP4gUY2+cVDovcarhyfj0A6XnOhh11oiOKIn7x6j4AwH+eOgWljrFWq5ly30suFC+1wsMS/ADp/feNpdJn7N5/7SyYQIlv/eFDnHD3etz5j+1840gNU/9YjLwaF/V4xYQFTrHi6baLjsOkCieO9I/i3n/tjJjhFQ+jZnn1DEvHwl46UrwIgiDyELe8Q1pkt+D45nJ8fel0AMDtf9/GwyBSwUibIYNHyudE8Uq/8IoXJR/NV8+agZmy+ni/qp9gvJJy4WVAsuHBXg+GvEHYLSacPrMagiDt/LNUSiJzbGrtx4dtA7BZTLj69Kkxb8OGKB/qHcn6cF71oODjos5DX1s6HU3lTnQMevHLV/dn9bgygSiKeGNvDwIhEevebsXSH72Cn760N0IBYzHyy6P6uwDAaaXCK5pwWOTFUrlcPBXbLfjRZxYCAP733Ta8f0iyOcdKNGQYZjWUr0nsvVwos7zypvC65557cNppp8HlcqG8vDzu7datW4eFCxfC4XCgvr4e1113XcTPt27diqVLl8LpdKKpqQl33333hPI8E8REhxVexXbJ4//tc2ZhTl0Jej1+3JGG5fD9VumC1NJUlv5BytRkUfHq5YVXpOKVziwvrYWXzWLCPZ9eAEAKAXi/dWyE8XiCvR6aCy8DZ3ltbhsAIL3PHFYzL5S7KGAj47wiKyifXNiA2lJHzNvUlzrgspkRDIsRyZPZIJHC47CacftF8wAAv3z9QF6liMaifySAYTkkqaWpDB5/CGs37MHSB17F7945hIM9Hh4jf8as6jH3VxQv7erfkDeAO57dhg8O9Se/cR7i9gf5+I9S1XzC02ZUY9VpUwEA/mAYggDMrI1vNWRKsFGphqdMqwJAVsOs4/f7cfnll+Mb3/hG3NusXbsWt912G773ve9h+/bteOmll7By5Ur+86GhIaxYsQKNjY3YtGkTHnnkETz44INYu3ZtNv4EgiDGAR6ueEkXXrvFjIc+K1kOn/+4A8+n0AMRDIXx7gHJ4nPajCrDjjWbkfI8gVBeyBtjNZR7vDT0Qp0yvQqfWyz1E9z6zFbDEgCNRhRF1Ryv2IvvaIxUvD46LC36TmguBwAeX04BG5mH9W0dP6k87m0iBylnd4eeRaerbYZqzl9Qj9NmVMEfDOOe53dm89AMp7VXWoQ3lDnw7LWn45ErFmFypQs9bh++//dtuPiRNwHIMfIxhpynEq7x4o5jeHLjIfz0pb0G/AXjD2bztltMY0Jjbj5/DqZWuQAAkytdcMnPXyyMshqyDa5TpkvJt4d6PQhmWUXOBHlTeN1111244YYb0NLSEvPn/f39uP322/Hkk0/iyiuvxIwZMzB//nxcfPHF/DZPPfUUvF4v1q1bhwULFuCyyy7DrbfeirVr1+al6rX32DDWrt+N3755MNeHQhB5Q7TiBQALmspw7bIZAIDvP7stZr9AIra1D2HYF0SJw4L5jQYqXlksvNjuYnVU4ZVeuIY8GyyJ4sX43gVzUVlkw55jbvzmzQMp/95M4vYF4Q1IF//qEm1/16QK4wovNjh50eQKAEoICkXKZx5WSLHCKh48YCOLhdfRgVHs7XLDJABnzByr8ABSUbjm4vkwmwS8sL0T78ibRfnIIbnwmlLlgskk4OLjG/Hi6qW461PzUVVk4+f56Bh5hhKuob3wYsOFjUonZYTC4rhYgw6qgjWicdksWPu5E1DhsuLihY0JH0cJ10i9lzAUFvn14/hJ5XBYTQiERBw2cB5irsibwisZGzZsQDgcxtGjRzFv3jxMmjQJn/3sZ3H48GF+m40bN2Lp0qWw25Xd15UrV6K9vR2tra1xH9vn82FoaCjiazxwqHcEP315H/764ZFcHwpB5A2eGIUXAFx39izMrS9Bn8eP7/99m64L4dv7ewAAp06v4sMjjYD3eGXYajjqD8EjL0CMDNdgKlplgjh5NRVFNm6H+smLe9GWZauWFtjzUWy3JNz1VTOpUtopbh8YTSsEwxsIYZcc4nLC5HIAiuJFyYaZJRAKc+sg6+OKB1e8urJnjXpNVrsWTa5AuSv+521OfQmfPfa3PF47sNdiapXyWtgsJlx12lS8+v+W4fpzZuHClnpcefLkmPdPJVyDXTuMVJeDoTA+9bM3cf7Db+RczWGFVyyFEABOnFyBD25fgZtWzkn4OEYoXv0jUmCQIEj292nV0meqEAI2CqbwOnDgAMLhMO699148/PDDePrpp9HX14cVK1bA75cu/p2dnairq4u4H/t3Z2f8Iar33XcfysrK+Fdzc3Pm/hAdTJN31Q72eMbFbglB5APqcA01NosJD332eFhMAv5vWyc26tgNZjNOTjfQZggo6lM6fVZaYIWdzWJCify8pBuuEQqL6B9hPV7aeqEA4NJFTThtRhV8wTBuf1ZfAZwN9AZrAEBdiR1mk4BASExr0bbt6CCCYRE1JXY0lklKlxL7T4pXJmnrG0EwLMJlM6M+Tn8XY0Zt9q2Gr+2RBwXPjm0zVPOp4yXF4sWdXTlf7KcKK7ymVI0tgkscVtywYjZ+8Z8noSKO2u5MofByy/1g/SMBw6zQ29qHsL19CLuPDaMzx5snyQovQBqPkQwj4uS5Td1lg8VsyomKnClyWnjdeeedEAQh4df777+v6bHC4TACgQB++tOfYuXKlTj11FPxhz/8AXv37sUrr7zCbxfdcMou6tHfV3PLLbdgcHCQf6lVtFwyudIFs0nAiD9ENhOC0Ei8wgsA5jeW4bITmwAA/7c1/maMGl8whE1yGMRpcSw+qcIKr3TSFrXQq7IEsnNhjbygH/IG4Q3oT/7qH/GD1UwVMawr8RAEAf/96QWwmU14fU/3uJs7xIM1NPStMSxmExrkQimdgA1mMzyhuZy/TrWsx4sUr4zC+rum1xQlXC8AkUOUs7Fx4A+G8dY+eVBwnP4uNZ+YVokypxV9Hn/OgyJ8wRD+8zfv4NqnPtT1XLWqrIap4JJ7mEYD2u1w6sREo1wIbNMOyL1dmFkpy5zaHArxKHVK19Z0FK/uKOt7LlTkTJHTwuu6667Dzp07E34tWLBA02M1NDQAAI477jj+vZqaGlRXV6OtrQ0AUF9fP0bZ6uqSdomilTA1drsdpaWlEV/jAavZhMmyheVAT/7vAhBENohnNWScv0CajbRhxzFNC4GP2gbgDYRRXWzHrARJT6nAEgb7RwIZ3Znm/V0qFafUYYHNIl0iUlG9mD+/3GWFxazvUjO9phjXLpfmDt31zx1pN2kbSSqKF6D0eR1Jo/D6SE40ZMEaAFBHPV5ZgSWqJevvAuS+IwEY9gazkkj6waF+uH1BVBXZsEBDj6nVbMI58vDtf28/lunDS8jfPzqKt/b14vmtHbqeK0XxSrHwSiFcg82ABIxTmJlNHdC/eRIMhQ3t/9WieGmBK17e9BUvdp6dLitehbDWzWnhVV1djblz5yb8cji0pUadfvrpAIDdu3fz7/X19aGnpwdTpkjT5ZcsWYLXX3+dWw8BYP369WhsbMTUqVON+8OyyLRq+c1YIDGbBJFp3PLFsyhOf85pM6rhspnROeTF1qODSR/v7X098v2qku6E66XcZQNzdvSN+BPfOA3YDCh17LsgCNxumMoig104k0XJx+Pry6Zjek0Retw+PPDv8TPbK9XCq6lcWiAe6U+9b40Ha6gLr1JmNSTFK5NoDdYApOj2ZnlTNBs79K/J86rOml2jyQoGKMO3/729M2d23lBYxGOvKSE6+45pW1QPjgb4xk4sq6EWUrEaqhUvIxRmfzDMx5AA+s+zq/+8Bafc+yL2dQ2nfSxA4nANPRjR46UoXtL1Q1GR83+tmzc9Xm1tbdi8eTPa2toQCoWwefNmbN68GW639EGdPXs2LrnkElx//fV4++23sW3bNlx11VWYO3culi9fDgC48sorYbfbsWrVKmzbtg3PPPMM7r33XqxevdrwBVO2mF6t9HkRBJEcrng5YhdeDquZxzGv17Ab/PZ+42PkGWaTgEq5cOl1Z67w6pEfuzrKPpdOwIYyw0tfgcKwW8z4wSWS4+HpD46kFUphJOkqXqkmG3YNe3F0YBSCACyMKLyU12i8PEeFiJ7CS327bPSksPld8WLkY3HWrBo4rCYcHRjFjo7cBIZt2NGJA6q1yz6NzxUL3akutsd1LiQjlVRDj2rmlxGK15YjAxhV2bj1BuR82NaPsAjs6jSq8JLO2UYpXiP+UMpDxNk1KVrx6vP40e/J3LUwG+RN4XXHHXdg0aJFWLNmDdxuNxYtWoRFixZF9IA9+eSTOOWUU3DRRRdh6dKlsFqteOGFF2C1Sm+CsrIybNiwAUeOHMHixYvxzW9+E6tXr8bq1atz9WelDQvYKISkF4LIBorV0Bz3NucdJ+0Gr9+RuM/L4wtyFeJ0g/u7GKxwyWzhJatT0YVXGgOceeGlMdEwFqdOr4LDaoI3EEbbOBn4mkqPF5C+1ZANTp5dWxKx2KwqtsMkAGEx872AExVRFHmPV7JEQ0a2wgCODXmxq3MYggCcOUt74eW0mXGWfPtc2A1FUcSjr+4HAB7os1ej4sX6u6amaDME1IqX9h4vt8FWw7f3RQY46bELi6LIh6az3qx0McpqWOJQ7p+q6hXd4+WyWXigUL7bDfOm8Fq3bh1EURzztWzZMn6b0tJSPP744+jv70dvby/+9re/jUkgbGlpweuvvw6v14uOjg6sWbMmb9UuAJguR2yS4kUQ2hhOEK7BWD6nFhaTgD3H3Ak/W++19iEYFjGpwsmtRUbDChdmB8wEvVzxiiySWHBDdwq2GrZjWZmi1RCQFL9ZtSUAgN2d42OMR8pWQ6Z4pVp4qYI11JhNQtbSLycqPW4/hrxBCEJkfHkiZtZmxxrFYuQXTirX/VljdsP127UFCRnJxgO92HJkEHaLCd86R+rn3KvRMqfM8ErNZggoPV66FC+V1bDbAGsv6+86UR4Noccu3Ofxwy+rSUb1wLICLl2rodkk8GI61WTD6B4vQJUWmucBG3lTeBGxYfLr4f5Rw+JNCaKQ8WgovMpcVpw6XbIObkigeikx8plRuwBFherJguI1xmpYLO0wpqZ4xVbR9DK7Tiq8jLLTpEuqhVdzhdzjNTCKcAqWQB6sIS/S1LA+L5rllRmYatVc4YLDGl8pV6OksGV2d/5VHTHy0ZwzrxZmk4BdncNZn5nH1K7PLm7m59p9Gp8rZYZX6ptdfI6XjsTWyMIrvU0ObyDEP9OfXiQl6XbpULzU0fNGFV7scUrTVLzUj2GU4gUorTX7SfEickltiR1FNjNCYXHcWHEIYjyTLNWQseI4Kek0UZ/XWyxYY6bx/V2MKt7jlXnFK9oWqESV6//d/DHTULwAYG69VHjtOZb7wisUFnn0vt7Cq77MAZMgNdTrjaIOhUV8fGQAwFjFC1Bmrk20ZEO3L5gVe6XS36VdYWGF19GBUV12Nj0EQ2G8sVc6B2mJkY+m3GXDKdMqAUghG9li29FBvLG3B2aTgK+eNZ0/Vz1ubf07PNGwOnXFy2lNYY6Xz7gerw8O9cMfCqO+1IGT5dfgmA7Fq3NQVXgZbDUsN6DwSjdggxQvYtwiCAL1eRGEDphPX2vh9UFbf8yFcr/Hz5vSl2QgWIPB7H/Z6PEaq3il3uPVa0CPFwDMrh8/ilf/iB+hsAhB0G+htJpNfPDuEZ0BG/u63PD4Q3DZzFwBVFM7ARWvwZEALvzJG1j2wKsZn2HGFnpagzUAoKLIxt8jmUod/ujwAIa9QVS4rDh+UnlKj3Ee22BK0s9qJL98TVK7LmppQHOlC0V2C5rKJSuuloANI3q8mOLlD4Y1hdKIohhRpKWyGaWG2QxPm1HFzwsDIwH4gtoKwYwoXiPG9HgB6c3yCobCymxJ1TWJff7yfa1LhVcBQH1eBKEdrYpXY7kTLU1lEEXgpZ1jVa93DvRCFIFZtcWoLdE29iIVmFUvUz1eobDIo+qji6R0Ug2ZEpFOjxegKF6tPZ6UBjkbCXseKl02WHXOJgOAScxuqLPPa/NhKXJ64aQymGPEhbNkw4nS4yWKIm59Ziva+kYw7Avi2c3tGf19rJl/hs45fZkO2GD9XWfOqon5vtDCeXKf1/uH+g2dCRWPQ70e/GurNBT960tn8O/PqpOe22QBGyP+IH+fT6lMv8eLPWYyfFEFWo/bl5JlmMFs6qfOqEKZ08pnJmot6I6pFK+B0fQ35UJhkfc/G1F4KbO89Ku9fSN+iCJgitrgYq01bX0jKacljgeo8CoAaJYXQWgjGArz+N5EPV6M8xLYDTMZI6+GWfUy1ePV55EucoIgFRRqalVR5XoXGX0xdixTobbEjjKnFWFRew9Ipki1v4vRxJMN9dnClcHJFTF/zgr/TCs/44W/fHAEz8uLdwD420dHM/r79EbJMzI5e0gURWzYIZ2XlqbQ38VoLHdi4aT4G0xG86vXDyAsSsd8XGMp//5M+blKFrDBbIblLivK0giBcFhNYLlqWgI21DZDQQCCqg0rvbh9QWw5Is2IZPMflZmJ2j7DkYpX+lZWdQiGoYVXCooX3+AqskdsKNSXOuCymREMi/x9kI9Q4VUAsF0AUrwIIjEe1QW2KEGcPIPtBr+xryeisRpQWUUyFCPPyLTixR63wmWDJUrFYVH2wbCIAR0X0GAojH7ZtpKu4iUIAuaMkz6vdAuvSSkmG8ZLNGQwxUtPj0i+crDHgzv/sR0A8LWzpsNmNmFnxxB2ZSj10hsIcYVST4+XdPvMzfJ6dnM7dh8bhstmxvK5tWk9FttgynSfV/ewD3/54AiASLULUBSvZJsrRiQaAtJ5RU+fFzv/u2xmvkGVqt1w08E+hMIiJle6uArOB6FrfMxO1e1STQ5Uw87vxXbLmOtAKqTT4xU9w4shCEJW5+NlCiq8CgBmNcz32QYEkWnYxdNqFmC3JC+8ZtcVY0qVC/5gGK/v6ebf7xz0Yn+3ByYBOHVaZhWvTPd4JQrBsFlMqJB3lfXYkFjRJQhSQZcuc+pYpHyOC68UZ3gxUpnl5fEFecG5KEaiIaB/0Zav+INhXP/HjzDiD+HU6ZW4+fy5WD5XUnueyZDqdbDHA1GUFBa9mwhs5pfRyYYj/iDu/79dAIBrl89Me3ODxcq/ta8Xw15j+oVi8cRbB+EPhnFCczlOnV4Z8bOZ8tiIZFbDVgMSDRk82VCH4lVktygW7BSDXTYekNwSS6Yr1w4lIEej4jWonEMGUlTe1Bg1w4vBC68Ugj+URMOx7+vpNfnv8KLCqwBg4Ro9br9hTZYEUYho7e9iCIKgaj5XbDgbD0hq14KmsrTsLlpgiteIP5SRdLR4wRoMbmPToaaoVbRUe0/UMMVrdw4VL48viBfl90DKVsNyabF4VEe4xsdHBhEWgYYyBy+womGW0B63D8E87n1IxtoNe/DxkUGUOa348edOgNkk4FI5ivvZj9rT6rmJh9pmqHfmJ9udP9jj0RTgoJVfvnYAnUNeTKpw4stnTEv78WbWFmN6dRH8oTBeU20wGcmwN4DfvXMIgKR2RT+XbO5Z55A3YfFnlOIFKEOURwPJz6seVShTbWl61l7FLaEUXnwkhMYNLnWqoccfSrvniRVvRhVe6cTJJ3IWkOJFjAuK7Ra+W0J2Q4KIj1vDDK9omN3w5V1d/OL21j55xzLD/V0AUGQzwy43XmdC9eqJEyXPSCVgo8+A4clqeOGVI8Wr3+PHlb95F+8f6ofLZsYlJzSl9DiTVD1eoqhtIc5shvHULkCyhJoEICwqaZKFxtv7e/DY61Ia3v2XtaChTHoul8+tRanDgs4hL96RlQQjYYmG01OILp9U4YLNbIIvGEa7ziTLeBwdGMVjcirgrRfO0zxXLBGCIGDFfGY3zEyf1x/ea8OwN4jpNUV8M0tNmdPKLbOJ7IZGzPBiuKzSdUCP1bDIblb1Y+lXvAZG/NjeLqfhqhWvUu2K16g/NCa0Il27YaYUr6EUFNSeBM6C6RkOrMkGVHgVCCxg4yDZDQkiLh6NUfJqTpxcgaoiGwZHA9h0sA+iKPJEqtMyODiZIQgCV6P0zn/SQnLFS/8ig0fJG1R4sQj1jkFv1lX9zkEvPvvYRmw5PIBylxX/e82pEaEAemgod0AQAG8grLlA+qhNSjSM198FAGaTwAvkQrQb9nv8WP2nLRBF4POfaMYFLQ38Z3aLGRctbASQGbshV7x0JhoC0uvCrs1aYtK18MP/2wVfMIyTp1XiggX1hjwmoNgNX9nVpTnSXCu+YAi/eeMgAODrZ82AKY4KzlSvvRoKLyMVL02Fl+w2KLIpG92ppEC+e7APoij1C9aqFGzmLNDymCxYw2Uzo0S+lunpwY0FK9zKDXJwZFrxOtDt0bx5Nd6gwqtAmK56MxIEERu3T7oI6FG8zCYB58yTmtfX7ziGtr4RHB0YhdUs4BNTY6fMGU1VBvu8et3x/fRAaooXe8x0Z3gxypxWNJRJC5NsBmwc6HbjPx59G3u73KgvdeAvX1uSsABKht2i7JZrCdgQRVEVrJH4vVZXoLO8RFHE9/72MTqHvJheXYQ7Lj5uzG2Y3fD/tnVqSqjTQ6qJhgwj+7w+ONSHf2xphyAAd3zyON3Wx0ScMKkctSV2uH1BvrFkFNvbh9A17EOFy4pLFjXGvd0suc8rnuLlDYTQLvc2GdnjpeU941G5JfQmEKqJt2lXp0PxYjbD+jIHt7qnuyE1YOAML/XjpBauEX8zcFp1EQRBetx8Vfep8CoQmA3iAFkNCSIubHiynsILAM47TtoNXr+9E2/uk/z5i5orImbBZBKmHGUi2ZBZDeMpXilZDbnilV6UvJps2w23HR3E5b/ciKMDo5heXYSnv7EEs2IML9aLnllenUNedA37YDYJaGkqS3hb3pxfYMmGf9x0GP/efgxWs4CfXrEo5mdu8ZQKTKpwwu0L4kUDI9HDYZFvZupNNGTMNKgnJRwWcdc/dwAAPntSMxYkeT/oxWQS+NB4o+2G7L0+q7YkYagRV7zibK5IFl3JsWCEjVlfuIZy7agpST3MRj04WY2ycaJF8ZKez/pSR1oFjhqjrYaljswoXg6rmQ/bzlehgQqvAqEQkl4IItMo4Rr6+iLOmFUNp9WM9kEvnnirFUBkY3SmqeJWw8wpXlVJCi89u7s9HmN7vIDsJhu+c6AXn//VO+j1+LGgqRR//voSXjClyyQds7y2HZV6QWbVFnNbVDxqCzDZ0BsI4Z7ndwIA/t/KOXGLDZNJwKflvjsj7YYdQ16MBkKwmgU0V6b2+jOLIusVS5W/fXQUHx8ZRLHdgptWzknrseLB7IYbdhwzNKiE9bc1liceND9Lfq7i2TJbe5jN0GWI2ue0sR4vLeEayrWDzzfUaf3uHvZhj5zaeMr0qMJLLuYGRwNJB8V3Dkq/N6LwSiE9UA2zKhoVFsWOy+0L6n4vJbO/53vABhVeBQLzkbf2eDKS7JRJDveN4MvrNuHmp7fgT5vasK/LnXd/A5EfuHWmGjIcVjMfUspsMNno72Jk0mqoKF7Gh2vEe8xUyFay4Su7u/DF374Hty+IU6ZV4g/XnJr2EGg1bLdWS7LhtqPSkNX5jcnVjboU0ifHO+0Do3D7gnDZzPjKGdMT3vbTst3wtT3dfDMhXZg9cEpVEawpzjYyYpHo8QXxoxek+Pjrzp6ZcqpmMk6dXoUShwU9bh8+Otxv2OMyWy0bIB4Ppigf6R+NWQy1yomGUw3o7wIAlzUFq6Gqx6tryKerz4iFv8xrKB2zKVXqtMAmhyglO9cyO2JdmYP3ZI03xYs9jigCw17tabwB1QzIeO9z/pkyeExDtqDCq0BornTBYhIwGghFTDTPB/6xpR0v7erCn98/gu/+dSvOXfsaTvzvDbh63Sb8/JV92Li/19AoXmLi4kkh1ZBx3nwlictpNafV66OX6qLMDFEWRVFHnLyecA3ptpUZshpmqql6R/sQrn3qQ/iDYZw7rw7/c/XJKHEYOy5Aj9WQpZ/N1xDmofSIFI7ixXpZGsoccQMZGDNri7FwUhlCYRHPfdxhyO9X+rtSX+izTdFejx/9KfakPPrqfnQN+zC50oUvnT415WNJhs1iwtnyMObv/Gkz3m/tM+RxFcUrceFVWWRDZZENohjbvaMEaxijPvNwjSQKExCZiMvOiaOBEP++Ft7m/V1j3RKCIGju8+I9XhmwGpY7jdkss1lMfEC1nmNjm4tmk4DyOEUgd3jlaWsNFV4FgtVswmTZCpFvkfIsbnReQylOnlYJu8WEgZEAXt7VhQf+vRtX/Pod3PmP7Tk+SqIQSFXxAoCz59bymVSfmFbJdyezQXVJZhQvjz8EX1CKyE8WJz/sDSa1wDB4qqGBiteMmmKYTQIGRwMZKS66hr34yv9swog/hDNmVuPRL5xoSFR3NGzXX0u4xvZ2SfHS0s/D7E8FpXjxwivxgp3BQjb+ZpDdMN1gDUBaqDfKwTAHUkgdPtw3gl+9cQCAFB+vZfB7Olx/ziw0lTtxuG8Un31sI370wi74g+nNiGLqblOSwgtQJxuOVbYNV7x0hGuwPrBiuwVOVZqgng2pjXJ/15LpsW3qdRo3udjmel2pg6cHDqRpNRw0OFwDkFQ8QF/hpR6eHG+zhayGxLghX3cBRuSm1RXH1eHPX1uCrXeuxLPXno47PnkcTpf7aLbKlhuCSIdU5ngxyl02nDq9EgBwRhb7uwAlpMLoOPke+SLnspnjBoWUOrRbYBisQDQqTh6Q7J4sycxou6E3EMLXfvcB2gel5LyfX3liytayZGid5dXj9qFDLjy0xNezXfjxqnilsnjvlBPsWKJlMi4+vhFmk4AthwdwwIBFGevLSqfwAtLr87pfLnyWTK/CSpXqnimm1xTjhe+cic+cNAlhEfjFq/vx6Z+/lVaaKLcaaii8eJ9XDBuZ0YqXEq6RXLVi1w6X3B+sd3xD+8AoWntHYBKAk+XrSDRaZ3mplWCmUI03q6H6sfTM8krmwACUpNDDfSOGjz7IBlR4FRDM0mDEBSebsPkYLPDAZjHh+OZyXH3GNNxw7mwASkoaQaRDOlZDALjn0y246bzZ+OKSqQYeVXJ4j5fBnwNmCUykTAmCoGuWVyAU5hdxI8M1ALXdcCjpbV/edQy/eHVf0gWJKIr43l8/xkdtAyhzWvH4qk8Y1mAeC7b49PhDCXepmc1wenWRJoWWpaL1uH0IhtJTKIymrXcEJ9y9Ht//+zZd9+tQLTC1UF1sx1mzpN7LvxugejGFKpUZXmpS3aEf9gbwr62SbfL7BsfHJ6LEYcWDlx+PX37hRFS4rNjRMYRPPvImHn/zoO7+6yFvAMPyeTdZjxegFF57j0U+V4FQmCtnU1MYZh0LJVxDe48X+yzqDR1iMfItk8p54l80WjZPQmGRh3rUlxlnNRwYla4tRs3xAlKLlE+UaMioKbajxG5BWFSK8XyCCq8Cgs3yyjerITuhxdpxZwu3VL3xBKGGDVAuSbHwmlpdhOvOnpURC1oi2O5fn8dvaPBM93DiKHmGnoAN9lk1CZJKaCRz6iTlZ3dn4gXskDeAb/z+Q/zohd04d+1reP7jjrjq0i9e3Y+/b26HxSTg0f88kW9gZQqH1cyf70QBG8xmqHVYc1WRDWaTAFHMTPplOrxzsBcj/hBe3dOl634dfF6RNqshoIRsPLP5aFq9gMNexdI6PY0eL0DpEdNbeO05NgxRlEYFpDq0Ox3OX9CAf99wFpbPqYE/GMYPntuBLzz+rq6gHaZ2VbismsZvsICNaMXraP8oQmERDquJbwSlS1Eqc7zkv4GliGp9Llh/VzybIaBsniQq5nrcPoTCIswmAdXFdlVxk/pn3hcMwRuQNmtKM6B46Sq8NChegiBgem3+BmxQ4VVAKIpXfhVebLepKEbENyu8hn3BtH3mBJGO1TCXVMgFTCgspr2zqYYrXklCMGqKWeGVfHeXqXIVLhvviTOKOfXSxXb3scSK1wvbOnnvWvewD9f+74e4et0mHO4bibpdBx74924AwF2XzMdpM7OTVKklUn67HCWvdV6TySTw12m89Xm1ybvSHQNeXUFJXPFKEkOu5rzj6lFkM+Nw3yg+OJR6Mh+7jtaW2OMqFFphiteeY/oWibvk0QlM6c0FtSUO/HbVJ/Dfn14Ap9WMt/f34qH1uzXfX2uwBoP1eLX2eiJsZOr+LqOUP6euOV6R145aHZtRoijyRMNYwRqMWg32RWYzrCm2SwEUBqQasvsKQuqbkrEozZDiBQAz8nh2LRVeBQTblTvSn1++10SKV6nDyhdv/SPjaxeXyD+Ui2d2Fat0sVlMfPfQyGRD1otVU5JYmeJzazQsMvoyEKzBmFMv7frvPeZOuIBnNrNvnzML158zCzazCa/s7saKH7+Gx17bj0AojG1HB3HDn7YAAFadNhX/ecoUw483HkrhFV/x2saCNTREyTPGa7IhWzQHw6KuorBDZ48XIC2mz1/QACC9mV5GBGsw5jZI79u2vhFdKXhsZt3cHBZegKQwfOHUKXjg8oUAgB0dya2+DD3BGoBUfJQ4JBuZ2r3DLGWTU5ynFgu25tCSasjcEsVRhZcW+/WR/lEcHRiFxSRg8dSKuLdThijH/4x0qqLkgdRUpWjUwRrJ0kP1kMoQZS09XoC6b5IULyKH1BTbUSz7XtvyyPcafUJTYzIJqJB3dKjPi0iXaJ9+PsEKGSNtZOwil1zxkm01GsI92GMa3d8FSIsuh9UEXzCMQ72xdzo7BkexUd5dvvykSbhhxWz86/ozccq0SngDYdz3f7tw8SNv4iv/8z5GAyEsnV2D2y+aZ/ixJqIpSeE1OBrgC00tUfKMmpLkC7dc0KZSGts1zC8DJPsX64FrKNVuNQSAy06U7IbPfdyR8iYkL7xq07eeVhbZUC8vqnfpKFoUxSv7NsNYzJZtgAd7PJptnEd1Kl6CIMQM2OCKl4FWYCXVUMMAZX/kpp2eFFEWTDKztjih3VJLnDz7WUNpZOGVTqphJoI11I83lAnFK0X77niACq8CQhCEvEw2ZCc0dhKMhtmsqPAi0iVfrYaAapaXgYUXTx9Mok7xRYYGJUVRvIwf8mo2CZhVKy3+4qWs/WNzO0QROHlqJZrl3fGZtcX441dPxQOfWYhylxW7OofROeTFzNpiPHLlIlgylGAYj2SzvHbIwRpN5U5U6Chg60q178JnE3UDvJb5ZYCys++ymXkstVZOnV6FulI7BkcDeHNvj677MoxKNGTMa5Detzs1Fl6iKI4bxYvB1KZhb5APuU0G6/GapCFYg8E+4+qADaMTDQHtVkNRFMcEM7HNKC3nxL1yAcn61+LB+saGEozuUPoe5cJL3pj2BcOax31Eo8zwykzhlZrilfi8xzINDnRr3wQYL1DhVWDkY5+X0uMV++LKds6p8CLSQX3xzGfFy0iroZZGZkDV46VB8cpElLwatuvO1IBo/r65HYASssAQBAGXL27GS6uX4vOfaMaJk8vx+FWL0+7fSQW2CI0XrsGCNfSoXYCqOX8cKV6DI4GIhVeiQBE1HfLt6sscunt6zCYBK+fXAwBe3Kkv0IPBdtKnG1R4sXAMrTa9Y0M+DI4GYBKUvqdc47Ca+Uyy1jiKczR6e7wAYFZdAsXLoBlegPY5Xt5AGMzZzHu8dGxysE2iWUlex1KHBXZ5dEe8gu7YoDLDCwCKbRYwd6AeZUkNU8uMDNYA0ks1TBagMqXKBZMg9f/rCXsZD1DhVWCwwutgCoMac0UyFYInGxZwj9e+Lnde9eXlI+qLZz4XXkZaDXuZ1TDJ7qKemTV8eHIS+2KqsN3/WIrXrs4h7OwYgs1swkUtDTHvX1Vsx/3/sRB/++bpmGLgIk4Pk8oTh2uwKHmtwRoMLValbHOoL3KBrmVwNKDs7DfqSDRUc848aebVSzuP6U4CDYbCfKE/I81EQ8Y8uc+LqZnJ2CWPTJhWXZT1FNVEsM9MPKtvNHp7vAClf4cNUQ6FRR6MY6Ti5bJqi5NX9+W55NeCFQaDo4GkShMrIGfXJS68BEFQ+rziWBiZElxfJv1+k0lQhiinWHhlympYqtNq6AuGMOSVnutkm4F2i5krsPvyzG5IhVeBoZZf84FAKMzTCoviWQ3lwstIi9V44p9b2nHu2tfwkxf35vpQCpphn5LcFM/WOp6p4lZD43b3WBFXk+Qix3Z3e9y+pItYdnyVGQjXAIDZ9fEVr79/JKldy+fWZHQWV7qwHq9hbzDmbvA2eWD8giZ9ihebAzSerIbRc3a0Kl7KAlN7sIaaU6dXoshmRtewjweVaOVw/ygCISm6PNXCL5rj5MJrV+ewpjlris1wfPR3MaZWS4vd1p7kfeT+YJi/F7XM8GIwZehgjwfBUBgdg9LrYTOb0GDQ6wEoVsPRQCjheU2Jkjfz8Ikyp5UPlk802D4cFnnhNbM2uWW0Lomtm4drlCqfi/I0AzZYwWbkDC9APUBZW6AMux5ZzYKmIjDf1rsMKrwKjOlc8cqPN6J6pyle02lVgSteT717CIB27z+RGizEpchmydogUiNhnnejNiD8QWXQcbJ+LFb0BcNi0l1VZgmuzpDVkClerT2eiJ3mcFjEs5ulFLtPn9AU877jBZfNws9r0QrQqD/EbW7zdSQaAkqBPJ5SDVmwBlMItCpezKKmJ9FQjd1ixlmzawDotxuypLTp1cWGpbxNqSqC02qGLxjWZNPbPQ6i5GOhR/HqHPRCFAG7xaTLetxY5oTLZkYgJOJQ3wgv3psrnYaOqFBvwHkTOE5iuXIEQT2+If7nrX1wFCP+EKxmQZNaV5sgIEcURR4nX68qvNIN2BjKcLiG1oKwZ1ixvmu5Rt98/hysv+EsXL54UuoHmQOo8CowmNWw1+PnEaHjGbaTZDOb+O5RNIUcrtExOIp3D/YBkHa/iczhydMoeQYrjhLtruqBbWSYTULSpmqbxcQtv8lSvJjVMBOphoC0gC9zWhEWI3tA3j3Yh45BL0ocFiyfW5uR320kTXFmee3sHEJYlBYfegfFsl3wXo9Pk6qSDdgCnc0vOjowqqkZni0w01E4mN3wxR3HdN1PSTQ0rrfKbBIwVw7Y2NERuz9RzXiY4RWLqXLxcFBDcvKRAek2TeVOXZtdJpPA+9r2HnNnpL8LAJwqC2ciuyH7WbRFXYsFmwWETK8uhlVDiA/fPIlxnh32BfmxqJXgMnmNlKripYRrGHvOVhdeWj7zWhMNGXPrSzG7rgR2S35d06nwKjCK7BYuVR/Igz6vEZZomGAxXMjhGs9t6QA7Hw15x3+hnM/kc6IhoCi/vQZ9DthFrrLIpmlXXxminLjw09o3liqCIPDFqLrPi6ldF7U0jKuemHjEC9jYrrIZ6lVmK102WEwCRNHYXsB0aJUX6KdOlwqvEX9I0wKxnRdeqSleALB8Tg1MghRooTXGHlDP8DJ2oX+cxj6vYCjM+1bGS6Ihg8W5a1G82gfkPj0d/V2MmTxSfliVaGjs62EyCXBYpWVwooANPms0ap2iDFGOvxnF+tRmJunvYrDNk+4YxRwL1ih1WCIcQunO8hqQN+EypXiFwiI8GoZUa53hle9Q4VWATK/OH9+r2v4Vj0IuvJ7dogz4zAfF64/vteFTP3uT96DkE+ziWZKvhZfBihcr4LRe5LTs7vqDYe7nz1S4BqAsRpkdyxsI4fmtHQDGphmOV5p4wEZkQbDtqBysodNmCEgLSfY6jZeADTZTcnZ9CX+vaYmU72TDk8tTL7yqiu04cbI0sPalndpVr/3dxkbJM1jARjJbeWuvB/5gGC6bGc0VxoVJGAELNBgYCfAFezyYrVRPsAaDK15dbrTKrRNGBmsw+BDlBIUB37SLWqdoSTZkileyREP+mCXxFa94fY9l8riFwRTbMVjBZnSqocNqgtUsbR5pCdjgihcVXkS+Ma0mf/q8tNi/CrXw2t/t5ossYPwXXsFQGA+u34OPjwziS+s28ZSpfCHfFS/W4zXsDRqSgKn46bUpU3x3N0Hhp7YvGr17qiY6Uv6VXV0Y9gbRWObAyVMrM/Z7jUSZ5RX5OWJBEHqDNRhsFtB4KLy8gRBfLE6pdHF7ZbKADW8gxOdE6R2eHM25x8l2Qx19Xge44mVs4aU1Up69r2fVlRjWY2YULpviqokOTokmlSh5hnqWVyZmeDGY3XAkwRDleGNIeJhNgs2oPTzRUJtyyVMNYzxm5+DYYA1AsQiOt3ANQRB0qXFc8SrJjFtivECFVwHCAjbywWrI5OdE09zVcfL5NigvEf+Q5w0tnCTtbLt9QYR0xh5nk7f39/ITY/ewD6ueeC/pjud4It8Lr1KHFRZ5EWbEJgSbB6a16b2mJLnVkAV/VLi02RdTJTpS/pmPJOX4Uyc0jbuFajxiWQ39wTD/m/QGazBYgZxqsmGP24e/fnAk5WGsatjmTLHdgsoiG4/RTxawwaLknVb9w5OjOXee1O+3cX9vRCx4PPo8fvSPBCAISs+0UcytL4EgSJ+hRJ8jnmiocbGebZjlL1lICI+S15FoyGAK0f5uNx9JYHSPF6Btlle8a0eyzShRFLFP4wwvhpJqOHbjhG2m1JdGK17pWQ0zFa4BKCqalmNjzyMpXkTeMb0mf4Yos12mRIoXC9cIhERNF858QBRF/GOLVHh94ZQp/Pvucax6/V1e3F6woB4NZQ7s7/bgmiffN2SBlg3yeXgyINnIKg0crcB6gHRbDRMVXjqLuVSZJS9IOwa9aOsdwSu7JTXj0jyxGQLqcA2lCNlzbBiBkIhSh4UXZnpJtHDTwsMv7sGNf9mCv3xwJKX7q2FKxeRKFwRB0Kx4dahshukmkM6oKcbUKhf8oTDe3Nud9Pasv6up3Mnjxo3CZbNgmlw8JLIbjtdgDQYL2EgWKd+ewgwvRnOlCzaLCb5gGN5AGGaTkFIBlwxWeCWyGvKWiOjCi1sNY3/WOga98PhDsJgEzf1pTLEe8gbHFIMdcfoey9KY4yWKYsbmeKkfU5PiNSxfk3SGCuUbVHgVIKzHq7XXo3twJAD8v79swad+9mZWFtTxvNNqnDYztwMUit1w69FBHOzxwGE14cKFDXxa/XgN2BjxB/HC9k4AwFfOnI51XzoZJQ4LNrX2Y/WfN6f0Pss2bn7xHP/BC/Ewss+rh4dg6Cu8EjWSs89npoI1GGVOKxrlxcfDL+5BICRiXkPpuF2oxoItRgdGAvw8uJ3bDMtSLjjqSuJblbTQIQciaB30m4hDUUNv2WuWTPHqNCBYgyEIAk833LAjud2QRckbbTNkaOnzUmZ4jc/3s5aADVEUUxqezDCbhIjXYFKFU1MqoF5YcT2SYL3DNoiLo64dNcWJrYZ75ffS1OqiuKnN0ZTYLTzwI7qgY4pXXXTh5Upd8RrxhxAISddvo62GgOTUAEjxUkOFVwEinaAEeANhdKSw6/n81g58fGQQW7MQoDASZycpmkLr83pWthmeO68OxXYLl+PHa5/Xhh3HMOIPYXKlCydOLsec+hL86r8Ww2Y24V9bO/Hfz+/M9SEmRVG8xu9g3WQYOcurlytexlkNmYqWqSh5NWyQ8jNymuGlixoz/juNpMRh5QsdVojwYI2m1GyGgKpHJEnsfzzYOYj1OaVDm7wwnywXXk1yX1tyxYtZqoxROM6R7Yav7O5Kauf+sK0fQOYKr2R9Xh5fkM8+G68bCVM1WA173H74gmEIQupDsGeq7HlGJxoyWJvDaIIeL7YxEt0SoR4sH+t9tVe2Gc7WmGgISBsF8fq8OjNgNWT3sZqFiHh9o+BDlDUpXqzHiwovIs+wmE08eUjvxVMURa50sV23TOJhcfJJLB2VBTREORQW8U/ZZniJPOi1xCGd0IfHqeLFemg+vaiJ78QvmVGFBy5fCAD47VsH8Zs3DuTs+LSgFF75q3gxWyCz9KWD3uhe3kieoPDq82QvDpgtSkUREATgU8fnj82QoSQbSgttFqwxvzG1YA0AqOFWw9TeI0x132+AVZ0rXpXSopn9vcmi3ZnVsDGNREM1n5haiVKHBX0ePzYf7o97uy2HB/C0bLFkvWFGM0+e5RVP8WI9ftXFds1qdLZhCmZrgnAN9hrXltg1qz3RqPuipmYgWANQKV4a4uSjbepVRTYIAhAWY5+TWaLhzFp9BXQdP9dGbp50Dkq/IzpcgxdeKcxuZUOXy5y2tG29sdBaeHkDIQzLz7PWOV75St4UXvfccw9OO+00uFwulJeXx7zNpk2bcM4556C8vBwVFRU477zzsHnz5ojbbN26FUuXLoXT6URTUxPuvvvuggpsYEyT7YZ6kw2DYRFs42bvsSwUXhr7bioM7G3JNe8e6EXXsA+lDgvOml0NQNr9BsCjuI3AGwghYMAQ1R63D2/s7QEAfPqESFXhkhOacMsFcwEA//38Tjz3cXvavy9TDOd5uAagmuVlqOKlz2o47A3GtSH3ZlHxmqMKHlgyvSrlXfVcog7YCIVFvhhPNVgDiL9o0wpTvHrcvrStz21RaXSsR6fX408YZsCshka9plazCcvmSIVUPLthIBTG9/62FWERuOSERpw2s9qQ3x3NcQ3Sa7u/2xPzczTebYaAoj71efxxVZZ0bIaMWdlQvKzJCy93HGeOxWziYzNibXSwGV5agzUYbPNErXj5g2Fe3EV/LspVVkO961mlvysz10WtahxzUtgsprwd+aKVvCm8/H4/Lr/8cnzjG9+I+fPh4WGsXLkSkydPxrvvvos333wTpaWlWLlyJQIB6QUfGhrCihUr0NjYiE2bNuGRRx7Bgw8+iLVr12bzT8kKqQZs+ILKQn13NgovDamGgLLgLATFi4VqXNjSwCeulxqseO3rcuPMH72CC37yRtr9V89taUcoLOL4SWWYHsN+89WzpuOqJVJAyOo/bRm3M748hVB48R6v9D4HoigqQRgarYalDgvfuY5nN+zNUo8XEGnDypfZXdEokfKjONDthjcgzW5KJ02vrlR5j6Sy8aI+B6UT0BQKizjcH1l4lTmtfFGVyG7IB++WGRemwGLl483zevzNg9jZMYRylxXf/+Rxhv3eaOpK7ahwWREKi1wRUTPegzUAaaOUbdi0xVG90omSZ8xSWfSmVGZG8dKSapho7E1tHAu2KCqvr9YoeQbfPFG1inQNeyGKkiWw0hV5fmXFTTAsJiwgY5HJYA0APJU0aeGl6u/KhPI2nsibwuuuu+7CDTfcgJaWlpg/3717N/r7+3H33Xdjzpw5mD9/PtasWYOuri60tbUBAJ566il4vV6sW7cOCxYswGWXXYZbb70Va9euLTjVS4mU11l4qXbgYl0UjGZEwxwvQEk27M3zHi9fMIR/yYNeP6VSj1gDqhE9XseGvLjqt++he9iHfV3upP0UyXhG7keLt7gVBAF3XDwfZ86qhj8U5oNsxxv5nmoIKAVNulbDodEgb6jWqk4JgpA0qryXBXZkQfGaWVuMmhI7qopsOH9BfcZ/XyZQWw2ZzfC4hlKY04jEr3DZ+NgBvSEs4XBkcmw6fV7tA6MIhERYzQIaVAWUlmTDeINi02Hp7BpYTAL2drnHhEIc6vXg4Rf3AABuu3BeRq2ygiCo+rzGblLtzoPCCwCmVTO7Yew1BkvrTCeJcEpVEWxyoMZUg6P9GU4NA5Q9/vjXjni9r8eGfBj2BWE2CZhara9orIsxmJkHa5Q6xozMcFrNfFCx3mTDwVFpTVXuysw5m1sNk6xtJkp/F5BHhVcy5syZg+rqajz++OPw+/0YHR3F448/jvnz52PKFGk3fuPGjVi6dCnsduWFXblyJdrb29Ha2hr3sX0+H4aGhiK+xjtsx/SgzlleasWr1+M3JD0tEfEk/Ggqi6QPb3+eF16v7e7GkDeIulI7TplWxb9vVI/XkDeAq377XsSihtkdUuFAtxtbDg/AbBLwyYXxwwvMJgFLZ9cAwLgdrKz1vTaeMSpcg+0uljgscOhoqE4WsMHCbyqLMn/xtFvMeO5bZ+D5b5/JNy7yDW417B/lwRrp9HcB0tgBViDrTTb0+INQC+T70yi8WEBEc4UropBsSjLLyxsI8feREamGjDKnFSdPk4Zrq4cpi6KI257ZBm8gjNNmVOEzJ00y7HfGY149SzaMPDeLosidJuPZaggo1r94yYZM8ZqUhuJlNZtw1yXz8a2zZ2JGTabCNWTFK5A8XCPWtUPZjIq09rLr7pQqF3e2aKWWWw2Vx2T9XdHBGgAbVCwPUdbZ55VpxUuz1XCCJBoCBVR4lZSU4NVXX8Xvf/97OJ1OFBcX49///jf+9a9/wWKRPiydnZ2oq6uLuB/7d2dnZ9zHvu+++1BWVsa/mpubM/eHGATbNdD7IVQXXoDS6JspRjSHa0h/T59nfIZPaOVZ2WZ48cLGiMUIK7zS6fHyBUP46pPvY1fnMKqL7Vg8pQJAesrl32W168xZ1UkbXptlK8h4LbwKQvGSPwe9aW6I9OoM1mCwRcaWIwOxHzeLVkNA2v3Nx94uhtpqyCy689NINGTU8lQ0fX1e0Yp7OlZDPsMrKhSBWc+ODsQ+T3SqhicbvRhksfIv7lDshn/78Cje3NcDu8WEey9tyYrNiSteUZH93W4f+jx+CAIwS2cgQ7ZhYRcH48zyOmqA1RAArjh5Mm48b07GXhctc7x4+nKMlojaGOoUoFx3Z6fwOiojIVSFV5woeUaZRktfNEq4RqashtoKLzbDq6YkO9eOXJLTwuvOO++EIAgJv95//31NjzU6Ooqrr74ap59+Ot555x289dZbmD9/Pi688EKMjio7a9EfXmYxTPShvuWWWzA4OMi/Dh8+nMJfm13YXChvUJ/HP7rZN9N2Q9bjlWiOF6AoXn0GpLnlCrcvyC/4LM2QUcKthqkVluGwiNV/3oJ3DvSh2G7Bui99AmfOkhQoNktEL6Io8qHJWgbTsiTNtnFaeLkLofCSC5oejz8tezQrkLRGyTOWTJdU2kdf3Y+163dHHIMvGOIL92xYDQsBddgEG9+xII1gDUYyS2g8DC28+qT7RvfmNFUkVrzUQ2KNXmyzpMJNrX0YHA2g1+3Dfz+/AwBw/bmzMmZni0Y9y0v9GWI2w6lVRYYPbzaaZIoXD9fIwNBjI9GTahi7xyv2LC8erKEjSp4/ZunYBNljcaLkGYqypM8NMX4UL+nvmwiKV05XINdddx0+//nPJ7zN1KlTNT3W//7v/6K1tRUbN26EyWTi36uoqMCzzz6Lz3/+86ivrx+jbHV1SZaDaCVMjd1uj7An5gPMPuQPhiGKouYLWLTipSdg43fvHMJv3jiA3676hOYZKFoDD5ji1Z9CXOp4Yf32TviCYUyvLsKCpkg7UWkaipcoirj7uR14/uMOWM0CfvmFk7CgqYwXQKkWXh+2DaCtbwQumxkrjov/+WAwxat/JIBhb4AXk+MFt8Z+wvEMU7z8wTDcvmDKzzEfnqzTEnjVaVPR5/Hjpy/vw09f3oejA17c/x8tsJpN6JfVaItJyFvrX7Ypc1pR4rBg2BvEiD8Em9mU0kItGhY33aVb8ZJeQ5vFBH8wjIO9HoTCYko9Z21c8YosZrjVME6PF4uSz4SSOaWqCLNqi7G3y43X9nTjlV1d6B8JYG59Ca45c7rhvy8eM2qKYTObMOwL4kj/KD938v4unWEMuYC1M8SKlPf4glxJSVfxyjTJwjVEUUzY4xXXasij5PV/nlmPl3ReCMJls6hm28X+XLAeLb2KV8bDNVhis0bFi3q8Mkx1dTXmzp2b8Mvh0HbyHRkZgclkiigw2L/DYamYWLJkCV5//XX4/cqOwPr169HY2Ki5wMsX7Kq5GdHFVCJ8YxQv7YXXU+8cwqHeEby9v1fzfbSGayiKV/72eLE0w0+d0DimEC7ReHKKxWOvH8C6t1sBAA9efjzOmCXFILOhjfuODaekjjwrD6ZdOb8+aeokIF2UWFDD4b70Aj2MJhAKwy9/DvJZ8XLazCiSFwrp9HmxVMRqnbYOQRCw+rw5uO+yFphNAv764RFcvW4Thr0BXsxVFNnGNH8T8VHHbc+pL4HVnP5luS5Gj4gWmOI1s6aYF1/JZm7Fg1kN4yleLLkwGkXxysyCndkNf/LiHjzz0VEIAnD/fyw05HnXis2iFNjbVXbDfEg0ZDALaY/bFxHIAij9XSUOy7jfhHFaWbhG7E3P0UCI9z3G7PGKYTUURZFveOpNNASkaxQbZsyUtGNJRiykOkSZ3Z5F0htNmfy4vmA47hgSgHq8xiVtbW3YvHkz2traEAqFsHnzZmzevBlut/TmXrFiBfr7+3Httddi586d2L59O770pS/BYrFg+fLlAIArr7wSdrsdq1atwrZt2/DMM8/g3nvvxerVqwsuvlLdzOkL6Ci85MUpSxLac8ytadHu9gW5OqbHLqc1Tr5CtZtjxGyqbNOrmoX1qePHhlQo4Rr6FK+/fXgE9//fLgDA7RfNi7AwTqkqgsUkwOMPoX1Q3wIsEArzIc96orqbx6nd0KNaGORzuAagRMqnk2yYquLFuOLkyfjNFxfDaTXjjb09+Nxj7/AZVGQz1Afr8wIwRglPlVhWJS2wuV1lTivv4dmXQsCGKIr8HBCd6MbCFjqHvAjGOJd3qqyGmWDFcZLdkA2IXnXaVJzQXJ6R35UItd2QkQ8zvBilDiv/rLdGpScbMcMrWyTr8WJFpSDE7kWvKZbep93DPr5W6h72YXA0AJOAlEZDCIIwJtkwWdInK7wGxlm4RrHNArYPl2hjmV2TSPEaR9xxxx1YtGgR1qxZA7fbjUWLFmHRokW8B2zu3Ln45z//iY8//hhLlizBmWeeifb2drzwwgtoaGgAAJSVlWHDhg04cuQIFi9ejG9+85tYvXo1Vq9encs/LSNYzQJ/s/uC2uc6sMJrRm0xTIL0odRy8f74yABYfaa1eBBFUXPgQblLmhAP6D+xGMmoP8Qvjnr4v22dCIVFtDTFnoXFGlD1FK3dwz58968fAwC+csY0fCXKKmM1m/hJX+8w7Nf3dKN/JIDqYjtOn1GV/A4yk8dpwAa7eNotpqzubGcC1ufVPZy64tVrwEVu+dxa/Olrp6K62IYdHUP43t+2RhwfoY1Jqh6YdAYnq0k11ZCdu0scFm4XT6XPq8/jh9sXhCBEFpaAFOhiM5sQCot8MamGWQ0byjNTeJ3QXMGV+cYyB248b05Gfk8yjmtgkfJS4RUKizzMKh8UL0CZz3Yoym6Yj4XXaBw1xqMK1oi1Qc8UL18wzFsFmNo1papIV2ps5OMqARuiqHxWkvd4jS/Fy2QSNAVssKRcUrzGEevWrYMoimO+li1bxm+zYsUKvPnmmxgYGEBfXx9eeuklnHrqqRGP09LSgtdffx1erxcdHR1Ys2ZNwaldgLRjwlQvry7FSzrJlDosvNFYS7Lh5sMD/P+1Fg/+UBhBWcN3JbEamk0Cyp25txve9PQWrHz4dWxR/b1aYLuay+bUxPx5KorXwR4PAiERTeVO3HrhvJi3YXaWfTr7vJ6RQzU+dXwjLDoKlcmV0oV2vClehRCsweDJhmkpXrLVME11auGkcvztG6djenURQvJnOVUVbaKiLrwWGJBoCKTe48UUrxKHFdPl+O5UZnmxvp/6UseYhafJJKBRLqpiBWx0ZFjxMpsEfP4TzbBZTLjvPxbm7JwQrXgd6vXAFwzDYTXx4IrxztQq1ucVWZy350mwBpA8XINtDsdLXnZYzfz63S33ebGNzlT6uxjK5okXAyMBbpVnhV40qRZemU41BJQ+r3jH5vEF+fNPiheR19it0surR/FiRZrdauYxqHs0JBt+1DbA/39oVFvxwCJaAcClYVeoQl4k5rLwYg3jOzr0zXJjvRbx+hZ4A6oOxat/RHoeakvtcXtqZvHXULviNewNYIOcvvjpRfFnd8VivCYbag1xyQeMmOXFBx0bsLs4ucqFv37jNJwkjy9IxVozkWGFl9kkGGYxY4VXr8evy5qtVrymV6eueLXJiYaTo/q7GImGKCshAplbtN98/lxsvfM8PnswFzDF60j/KAZHA9xJMau2JK0B2tmEbc5GJxuygnq8B2sASptDvHANLa4cHrAhK8xKf1fqhVedyi7MPhOVRba4M8GYYqWn8AqHRb7mKM1g4aUMUY59bMxm6LQqPcyFDBVeBYxD/oDqCteQizS7xYTZ8iJgTxJrnSiKKSleTIVwWE2aVBXmJ2cFRy5gz0+nzp4pZvmpi7NbxXbMvIGw5oUSm9FWnuCEyRQvPcmGL2yT0xdritCicwe+uWK8Wg3zf3gyo4oXXqkrXsw+XGvQ7mJFkQ1PfeUUPHn1yfj60hmGPOZEYX5jGcwmASdNqUjZlhRNhcsKq1lavMcbdh2LYdUijCleqQxR5sEaVbELr8ay2JHy6uHJjRmyGjL0DrU1mjKXlVvxdnUM5VWwBoO9vtHJhiw4JZ+shiP+YMx+dpZomOjawSPl5c8aSzRMZxYb7/Ea8vKN27o4NkMgNcVr2BvkLSKZVLySHZvS32UrSAdaNFR4FTBM8UqUJBMNC+KwW0x8t2ZPV+LCq33QG3Fx12qXG9E4w4vBAjZ6c6h4MUUwOjo2GclOnOrdNK3P34A8r4M9L7FgJ/59GkNSACV98dITmnSfBFm4xpH+UYTDqc+ZMhpl1zL/d9OYla8nxc+BW2XrSDYUWw8Oqxlnza4Z9/OHxhvNlS689v+W4YlVnzDsMQVB4L0SegI22Lmn1GHhvahdwz7d8wXbeOEVW/2Mp3ix86TDasroQnC8ME/V55VPwRoMbjWME66RD4oXO1+Fxdib1MqmXfzzWo0qUl4URb5mSs9qyHq8fLy/K5H9NpXCi93WaTVndCOCH1uc/vyJ1N8FUOFV0KSmeEm3dVjNPAZ1b5JF+2bZZsjW6FrtcmwnKVl/F4M1RPfnsPBiipeepvVgKMx3dOL5sy1mE5fYtS5y2EyzsgRNsVOrXTCbBAz7gpqO2R8M472DfQCAC1rqNR2HmoYyBywmAf5QGMd0FqeZxF1AVsN0FS/W91NkMxfE81EITKpwGf5asLk+AzocAmqrYZnTimp5IXSwR5/d8JCseMe1GsaZ5cWUksYy54TY+T6uQbrG7uwY4qnA+aR4scKra9jH49iDoTAvFCblQY+Xus0hlt1Qj9Wwe9iHXo8fAyMBCEKahRcbCTHs5Q6bRIoXsxrqCR/LdKIhQwnXiL2p3M16jqnwIvKdVHq81FbDqVVFsJoFuH3BhHHkH7X1A5Aa7QHtig3vu9GoeFWOgx4vVpjqsRr2evwIi1IPR6LgAWWWl0bFi1sN4ytedouZx0Jr6fPa1j4IXzCMCpdV8xBsNRazie9mt8UYrJkrtKZn5gPs4pRqjxfbXaxNcBEn8p9Uej6GVeEaAFQBGzoLryRWw3iKV+dQ5oYnj0eOa5QUrw8O9fOAinwqvMpcVv4+Y6/5sWEfQmERVrOQFwqGxWzi43NGYriDtPQHq2d5sevs5EpXWtZhVmR1D/m4Ehwv0RBQipshb0Cz24S5ZjKVaMgodUrPXbxNea54TYBgDYAKr4KGDVHWl2rIrIZm2CxKHHmiRTvr7zpLHtyrvfDS13czLgqvFKyG7KRZU2xP2DStJBtqWygNMqthUeKTJrMbaunz+vCQVESfNKUi5R3n8Riw4fYWTuHFFa8UPwddE+wiN1FJtecDUM5FM1Lo8/L4glzhn1IZ22o4qVw6R7QPjEa4KTqSDIktNJjVcH+3B6IoXePyoVhRw1QvFrDB+vYaypx5M0id2Q1HYwxR1rJO4T1eQz6eIDwrDbULUAqvYV+Qb3zUl8V/b7DPuyhqX4Oxc0MmgzUAHT1eefbeTxUqvAoYttuiL9VQVrxktYzZDeMFbARCYWw9OggAOEtOiHL7gjxaOhHMmhAvpjWayhyHa4iiCK/8XPa4/TzeNRnJgjUYyo6VtpNmv0ebTUCJlE+ueL3fKhVeJ8oJdanQbPAsL629aYlwa2iQzheYato/4o85gDYZRgdrEOOTVKxHSuEl3TeVWV5sw6XcZY1rg64vc0AQpE1B9QZCh8pqOBFornBFbAbNqSvJO4slc1Qc7JFe9/Y8muHFSDREmYdrJFin1Kp6vHiwRl16ymWx3cKPa1u7tMZKZDW0W8xwyms+rZstAxoCuowgWeFFihdRMKSneEUVXnEi5Xd1DMMXDKPUYcHCSUoCnltD8aDX/sXi5NOJ0U6HQEiEugbo1thjwxSvZNYuvYrXAB98mHgWE/OZ700yFkAURbwvK16Lp1RqOoZY8GTDGDN69LL32DBO+u8XsfpPm9N6nEKKk68skoaJi6LS56cHptZOlIvcRKVMtiDrUbyGRpnVUPqcpJJsyJSPKXH6uwDAZjGhrmTsLK+JpniZokYIzG3IH5shY0q04pVHwRqMRLO8tPQHq62Ge7vYWID0FC9AKbTYcSX7XOhVubPV46W18CLFi8h77EzxSinVULovTzaMYzXcfFhaqB/fXA67xcwLNi0BGx75ZOLS2uPlyq3iFa0cHtM4nFSLPxtQ9XhpTTUcYamGiU+aSvE8nFA9ausbQY/bB6tZiCii9WKU1TAUFnHzXz9Gn8ePv310FNtkZTUVmF2kEFINzSaBfxZSGaLcPcQUr4mxuJ2osMWOVsUrHBa5MswLL3mWV2uvR3PfCOv1mZxkCDAfoqzq82I9XpkanjweYX1eQH4lGjKmVrNI+cjCKx+GJzNc3GqYWrhGTbFsC/QGsb1dmvGZTpQ8I9qV0JBkth3/zI9qWyMNZStcg/evjz0XDXkDSjvGBNkMzP/tXyIurAhKZY6XI8pquK/LjXBYHOPZ/kju71o0WbKmlTqt6B72afIYj/CdJH1Wwz6PH6IoZt2SEf08HtMYsKFEySc+qehWvDSEawDSQFuTIBV03cO+uMrbB7LataCpLK2mYKMKr9+/cyhiMPfPXt6HX/7XSSk9lptfPAsjorqq2IZejz8l9ZcptWQ1LGz0hmu4/cpMH7ZQmlThhNUswBsIo31wFJMq4qtYDJZomEjxAoCmChc+bBuIVLwGEg+aL0RYnxcAzKkvTXDL8YmieEmvO3s9mzI8h81IXFbp2hvTaqhB8Sp1WmCzmOAPhjHsDaadaMhQX6sdVhMPqYhHmc7PPF9DZDhcgxV2/SN+fHCoD1sOD+LjIwP4+OhghI15olyTSPEqYJhqlWq4BiCdVG0WE0YDIRyJYR1jwRqLmssBKMWDFsVL71BbVnj5guGYJ8hMEz0PTbvipS1Fji12tBSt3kAIo/LxJIqTB6ReP3ZxTBSwodgMU+/vApTCq3vYF3MHUQvtA6P40Qu7AABXLZkCAHhheyf2akhmjAWzvmot8sc7fJZXCpHyXUOJRxsQhYFi79FWnLPzjs1s4hsvFrOJnzv2a+zzauOKV5LCKypS3hsI8X6vCaV4yYWXICgOk3ximvz+6Bj0YtQfUvV4JS/SxwtO1RDlaLRYDQVBiCgaJlU4DZlnWKd6zPpSR9LN5vFuNTw25MN/PLoRdz+3A3/f3M6LrkkVTnzljGl5MX7ACEjxKmAcKcXJR/Z4mU0CZtYUSwMejw1HXEwHRwL8g3M8L7y0Fw8jGppW1bhsZr6r1OfxZ71fJ1rx6tQ4y0vL1HlAn+LFTphmk4BSR/LnYWZtMQ72eLD32DBOn1kd8zYftCqJhulQ5rKi1GHBkDeIw/0jXDXViiiK+P7ft8HjD+GkKRVYc/F8HBvy4YXtnfjFq/vx48+doPuYWIN0IaQaAupZXvoVL9bjRVbDwqZcp9VQiZKP/IzMqCnCvi43DnS7sVQOUErEob7kPV7A2Eh59fDkTO/AjycWNJXh0kVNaCx3aLbdjyfKVef7Q30eVY9X/pxfuNUwRlsG2+RNZlOvLbHzzWkjbIZA5Joh2foB0G8vZpbEsiR94ulSX+ZATYkd3cM+1JTYcfykMiycVI6WSWVY2FSGqgnS28XIv085oRl7CgOUo1MNAWkXbkfHEPYcG8aK4+r49zcfGQAgzWphalSpjuJBb4+XIAioKrKhY9CLPo+fp+dlC1+UctilUfFiKXJJUw2ZWqhhjhc7sZY5rZosl7PrirFhxzHsiaN4DY4GsEduCj4pjWANRnOlC9vbh9DWq7/wen5rB17a1QWrWcD9l7XAZBJw7fKZeGF7J57dfBTfOXcW34XXSiENUAZUs7x09nj5g2EeyDFR/PQTFb22o+goecb0mmIAxzQlGwZCYT4EOdlndBJTvOTFKgvWaJggw5MZZpOQ0mbSeEEQBEytLsLHRwax5fAAL1QKLVwj2TpFvZFlRLAGEOlK0BI4wzZbYvVSxYINNM604uWwmvHqTcsw7A2irtQ+oT7fsSCrYQGjpBqmongpuzuzVOEMajbL/TfMZggkbqKMZiSFobYV8s5MXw4CNsaEa2iY5eULhvjcsbokCgNXC33JnzsWrKE1BpbtwO2Lk2z4UVs/RFEqoo1YkDO74eF+fX1eAyN+3PmP7QCAa5fP5O+9lkllWDq7BmER+OVr+3UfTyENUAaAqhQTPll/l9UsJA1lIfIbpdFer+IV+b6YLs9yPNCTPNnwaP8oQmERDqspab9GtOLFhtInCyEixh+syH57fy8AaWMonT7hbJMwTl7jtUN93Uw3Sp6hLua0FF56rYbZCtcApE1PaYzExC66ACq8ChpljpeOHi+meFmUt8acOJHyH8mJhieoCi/FLpdcteE7STr6bpjFqj8HQ5Sje+U6NYRrsJhUmzm5fYY1zmp57vp1NsWyRt89XbGTDT84ZIzNkJFqwMY9z+9Ej9uPmbXF+MayGRE/+9bZMwEAT39wBB2D+qLqlVTDAim8ilmPl87Ci81LKaZdx0KHjZnwB8OaNt8SK17A/q7kihcL1phc6Uo6PJcpIoOjAbh9QbTLn+mGPLKoERJslhcrvPIpWANQ1KxUBygDkcEQRileapeMlg2JMp2z+/Ru4BLGQIVXAZOK4sWGAqt3q5hVbH+3mw9sFUURW+RgjRMmK4t1Xnj5tPR4ySc0Hb52rnjloPBiihcbUtilocdLmeGVfKGrpz+ONcwnm+HFmFFTDEGQTsi9MZ679w3q72KkMkT5rX09+MsHRyAIwA//oyVCdQWAxVMrccq0SgRCIh577YDmxw2HxYKzGvIeL51WQ2aPrSFVoeApsplhlosfLQux6BlejBnyLK/OIS/f/Y9HmxwpPrkyuRW42G7hO+1H+0f5RtZECtYoFKbKihfb2MmnKHlAuaZHK16iKCoDlJP1eKmKJCMSDaXHVCleOnq8tChegVCYt3tkQ/EiFKjwKmBSUryiwjUAOaHHaoY/GOY7mod6R9A/EoDNYuKpTIA+q6FyQtO+GFZHymcb9twwNWfYF0y6EGGJhlpOmjwRUsNzpzcG1mkz8+OOtowGQ2GeTpnO4GQ1ehWvUX8Itz6zFQDwX6dOidtndp2sev1xU5vmRL8R1cZDoShe1XLhpTfVkPUbTpTY3omMIAhKwIaGZEM2P7A0ympY7rJxa+vBnsSqV6ucaDglSaIhQ0k2HFENT86vRTuhzPJiNObZaxhvjteIP8RHLCS7drDwi6Zyp2EbfMV2C/+9dQZbDdW3KaXCK6tQ4VXApDPHSx2uYTIJmCXH3LI4b7ZQn99YCpuqSNNjNfTwplXtVkNWeOViiDJTDquKbTyJMVmkvNZEQ0BfnHy/xhleapj9YV9UwMbOjmGMBkIodVgMs0jwHq++0YRDmxkPv7QHh3pHUF/qwP9bOSfu7c6YWY3jm8vhDYTx+JsHNR0Le5+ZBCXpM99hcfJ6e7xY4UXBGhMDHrChQfFSrIZjF2HTa1ikfOI+r0N6C68KJWCD2YcbSfHKO6KDVPJN8YrX48U2hwVBUcXicer0Kly6qAk3nx//+pUKXzlzGs6eW4uWprKkt2UOGD2FV4nDwpVxIjsUxiqEiAkrnvRYDVkfU7TNi4Uz7O6ULrwftY3t7wKUi7aWOV4jOud4AUBFiqECRqBWA9nu07EkdsNjOmYmsaLVH0rek6FYDbXvVM2UX8O9Ub167x/qAwCcOKUiaV+GVhrLnRAEKZ43WR/SnmPD+M0bUhH1g08viLnwYwiCgOuWS6rX7zYe0rSgVNsMC6WviVkNR/yhmLNn4tHNo+Sp8JoI6AnYiBcnDwDTq+U+ryTJhm19zGqoV/HyKuEaVHjlHVVFtghFKJ8SDQHAKbc7jERdd3l/ly35tcNhNePHnzsBl5zQZOixfefc2fjtqk/Aak6+XE9F8SKbYfahwquAcaQQJ88VL0vkW2NOvRLOAKgGJ0+O7AlikvVQEtUmwjutR/Fy5U7xUic+soTCZIpXlw7FSzq5S/+frHBlVkM9yXRMzdrbFWk15MEak43p7wIAm8XE7SbJ7IbPbj6KUFjE2XNrI8YVxOOcubWYW18Cty+IdW+3Jr19oSUaAtLfwpRmPZsQ3dxqSIvbiUC5joVYvHANAJhRKycbJlC8RFHkn3Wt4x7YwNSDPW6+QZNvNjVC2hBTq5xNeVZ4KVbDyHWLx6etv2u8wIooty+IQCjxum9QZ7sCYRxUeBUwTPHyaVS8QmERgZBkC4suvFg86t5jw/AGQtjRMQQgMkoe0D4E2BsIIyw70FLp8YoVEJFpfKoZZ/Vl2govFjmfbIYXIFk6WXGQzG7ICk89gw9n18VWvHjhNdW4wgsAmiuli2+ygI039vYAAC5sadD0uGyuFwA88fZBrmjFw+0tvMJLEARUp/BZoB6viQXfAddkNZRuE93jBSiKV6JZXl3DPngDYZgE7QtvdrsPDg0AkK47tBDMT6ZWK8X2pDyzGsab45VvoUylqk2TZL3ipHjlDiq8Chi94Rp+1e2iZ3CwSPkD3R5sOTyAQEhEVZFtzAlWa4+XR7WzlMw7rYb3eOUwXMNhMXPrYGfSHi95eLJGhUFrnxcP19Bx0mS71r0eP3rlUIajA6PoGPTCbBLG2EbTRUvARp/Hj61HBwEAZ82q1vzYF7Y0YHp1EQZGAnjqnUMJb5tvF0+tsEj5Xh0BG106rK9E/sN6PrSEayRSvFiP18EeD8Lh2D2brL+rqcIZ0febCNYLxEJiGmjOT97CIuVdNnPeLeZd1tjhGvnmlrCYTSiRjzWZyk2FV+6gwquA4eEaGhUv9YDgaMWrocyBErsFwbCIv28+CgBYNLl8zEVSa6oh6+9y2cy6+ooqipSehVCcBUCmUCterJBKFil/bJDFyWsrvLQqhuykWaFD8XLZLLxQZgEb77dK/V3zG0v5LBOj0FJ4vbWvB6IIzK0v0fwcAYDZJODr8pyv/0liN2RFfr5cPLXCI+U1Wg3DYZEvcClcY2Kgp+cjUbhGc6ULFpOA0UAo7mbTOwekGU5TNETJM6J7gRrIZpi3MHtpU7kz74pndu2Lq3gZfG3MJKUaP/Ns87ZMR0AXYQxUeBUwLCDDq1HxYoqO2STAEtXIKQgCZsrJhv/c0gFgbLAGoBRevmA4QkGLJlUVghUaoqgM/8sW6nANLVZDjy/I55lpbRhXCldtVkO9thylz0sqvD6UbYYnGtjfxWjWUHi9vqcbAHCmDrWLwayJ7YPehBcZNw9xyQ+fvlZYsmGPxllefSN+BMMiBAGoLqbCayLAwzW0zPFKEK5hNZt4D0+sZMP3W/vw05f2AgA+uVCbZRiQQhnUSaM0wyt/WTq7BtNrivCZkybl+lB0o1gNo3u89AeA5Rq2JkgWqEOKV+6gwquAcejs8WJJetFqF4PZDVnRdELz2MV6seqinUi1GUkhWAOQFgDMx5ztgI2IcA0NVkPWT1NkM2tWW7QoXt5AiKdPluksvGarevUA4H258FpscH8XoBReR+IUXqIo8v6uM2fV6H78YruFz7Nq641f3HkK1GpYrVPxYsEalS6bpoQsIv9hizA9ile8mT7Ta2L3eXUNe/HNpz5EMCziU8c34nOfaNZ8fIIgRKheDeVUeOUrdaUOvHzjMnxt6YxcH4pueLhGIHqOV36FawBKIZXMdTSQQjIyYQx09S1g7DpTDWMNT1bDAjYAaa7FwuaxcyXMqoCIRMmGbGJ6KvY21tvS50m+mDASVpg6rCaeUtg15Is7p0rPDC8GW/Qk6vFiu9dmk8D93FqZqVK83L4gdsohKUYNTlbDrIYdQ94IGytjX5cbnUNe2C0mnDwttd/P7C2H+uI3/bPCS+9zNd5RrIbaFC+a4TXx0Go1DIVFvqEWS/EClD4vdbJhMBTGt/73I3QN+zCrthj3Xdai22amDuKg4clELmCFVyAkRqQB5mN/sNbP/BApXjmDCq8ChhVQwbCIYJJoUQDwxZnhxZijKrxm1hTHTL8CtKk26TStsgj1Po0WK6NQK15s8eoPhfkw42hY4aUnyEDLc8d3qpxW3Yscnk7Z5cbmtgGERWnhk4nZOVVFNrhsZoiiNCA1mtdltevkaZVjwly0MkUu7g4lULxYEZtPF08t8CHKGoNmuob09RsS+Q+3HSWxGqqTQeMVXjNYsmGPssnxwL93492DfSiymfHoF05K6TOmDmhqoPcmkQOcKueNus8r38I1AO2febIa5g4qvAoY9WJWi+rFVAm1517NbLnHC4jd38XQkmzITmiuFCR8lmyYbcWLzzizmmC3mPlxxOvzYsEbehQv9twlUgt5U2wKFgGmeHUP+/DSrmMAgJOmGG8zBCQbUaKAjTf2Sv1dZ6VgM2RMrmKFV3LFq9AKr2q5+E82oJrBFS/q75owsMb5ZLvfbKPHZjHF3Xhjitd+uT/0hW0deOz1AwCABy4/np9b9NJEVkMix9jMJpjlkC91sqFbNUA5X9AbrqEnGZkwBiq8Chi1ZdCroc9LrejEoqbEzndHTphcHvdxtCQbsl2lVE5oSuGVZcUrEGnFZAVVvMIrFashSxRLNECZhYroSTRkFNstfKHzzEdSOmUm+rsYrM8repaXNxDiKWhnztYfrMGYyqyGiXq8CjXVsEif1ZAPT6Yo+QkD7/fwBuLGwAOq/q44ahcAzJB7vNoHvdjePoib/vIxAOArZ0zTPIMvFk1qxYushkQOEASBR8qrAzbybYAyoN1qyH4er6eTyBwpFV7BYBAvvvgiHnvsMQwPS0367e3tcLvjT7Unso/JJMAmN9HrUbzscRQvQRDw6RMaUVNixzlz6+I+jhbFy53GCa0iR4qXlyuC0jGzgI24hVcKw2q1zPFKd6eK7Uyzx8mU4gUAzRVy4RVlNfzgUD+8gTBqSuwRFla9MMUrUXKiOw+TqbTAkgl7PX5NVuJuGp484WCLMFFMfE5JFCXPqCiycZv3Vb99D25fECdPrcR3L5ib1jE2ysWW3WLij08Q2SbWEOW8tBrKKncyq+EAWQ1zhu7C69ChQ2hpacEll1yCa6+9Ft3dkl3oRz/6EW666SbDD5BIDz7LS0Ph5Q0kDtcAgLsuWYBNt52bsCdIi2rDdpVSCdeolJWerKcaRj0/9Vzxiq04sBleqVgNE/d4pW41BJRIeUBKXJxbX5rS42hhcqW0qIpOHXx9rxIjn87MF9bj1THojavq5uPFUwu1JXY4rCaEwmLCwpPRNSz3eGkc5k3kPzaLiQcHJBqiPJwgSl4NSzbscftRU2LHz65clHZC5oKmMkyrLsJFLQ15N/+JKBxiJRsyt4Qrj64dWlINvYEQH/dDqYbZR/cZ8/rrr8fixYvR398Pp1OxBVx66aV46aWXDD04In2YeqXNasji5NOT1bX1eKU+W4lZDbWGChhFtBWThRTEi5Q/Ji909QRX8B6vBHO8+tOwGgLALFWv3qLJFdzbngniKVJv7JGCNZbOTr2/C5DeCyytMNrOyHB7C7PwMpkETJcDD9hA7ER0kdVwQlKuYZYX2ySLF5jEmF4tWXvNJgE/u2KRIUEtRXYLXr5xKdZ+7oS0H4sgUsUZY4gyW6cU56HVMNFGC7MZqlOoieyhu/B68803cfvtt8Nmi1z0TZkyBUePHjXswAhj0BMpH63opEqpM7nilU7gASu8+rNceEXPOavnkfJjCy9RFJUeLx0KA1MLh33xn7vBNK2G6rEAmbQZAkqk/OG+ER673z3sww45xv70man3dwFygIdc3LXG6fNKx9Y63mG20X0xhtqqEUWRh72Q1XBiUeZKHrChWA0Tn48vaKlHicOCOz81H6dMrzLsGEnpInINV7xi9XjlUbiGltl9PKArhWRkIn10v5vC4TBCobHqyZEjR1BSknqvBpEZ7DqGKLPiLNVob4YWxSudcA2lxytHiteYHq+xVsMhb5BbN/UoDGXO5M8d7/FK0SKgTh/LZLAGAEySe7yGfUEMjARQUWTDm/skm+H8xlLep5QOU6uKsL19KG6yYaGGawCqwiuJ4uX2BbmFhuZ4TSzYOWXAgMLr7Ll1+HjNebRYIwoOV4wer0Kd40VR8rlFt7SxYsUKPPzww/zfgiDA7XZjzZo1uPDCC408NsIAHLLi5dUTrpGm4sVVm0SKF+/x0l/kVeWs8Ip8fuoSWA2ZClbmtOoqZEtU4RrxBjMzq2F5ilbDUocVFyyox/zG0owMTlbjsJq5wsLshsxmeGYaMfJqkgVsFGqcPKAUXvuTFF4sWKPYbkmpr5LIX8o1RMoP8R6v5AsxKrqIQsRpLYxwDeY48gbCcVtMWDIyJRrmBt3vph//+MdYvnw5jjvuOHi9Xlx55ZXYu3cvqqur8Yc//CETx0ikgS7Fi1kN46QaaqVUQ59SWgOU5cJrNBDCqD8UMfwwkyiKYGTh1eP2IRgKw6JqMj/GZ3jpUxfYjnMoLGLEH4pZLLAFVDpNsY9+4aSU76uXyZUudA37cLh/BAsnlfHByWelESOvhgVsxLIa+oIhBEJSAVvQhVe3B6Ioxl0Ud1Gi4YSF74AnCCPSqngRRKGiWA2ltVI4LMLjz79E3BK7BSYBCItSwEasjV++hqDCKyfoXmE3NjZi8+bNuOmmm/C1r30NixYtwv3334+PPvoItbW1mThGtLa24stf/jKmTZsGp9OJGTNmYM2aNfD7Iy8kbW1tuPjii1FUVITq6mp8+9vfHnObrVu3YunSpXA6nWhqasLdd98dV1koBJg6o0Xx8hoUrlGqoU+JNa2mkhZUYrfAapYWmH1ZTDZUeryk56eqyAaLSYAoAt1Rs5RSmeEFSLtuLOwint1QiZNPTfHKNuohyrs6h9Hj9sFpNRvWXzZFnuXVFsNq6FY9h/m0a6mVqVVFMJsEuH3BuCEvgGp4MhVeEw62QZMoXENLnDxBFDJsLcIUL3W6YT71B5tMQtIhymQ1zC0prUScTieuvvpqXH311UYfT0x27dqFcDiMxx57DDNnzsS2bdtwzTXXwOPx4MEHHwQAhEIhXHTRRaipqcGbb76J3t5eXHXVVRBFEY888ggAYGhoCCtWrMDy5cuxadMm7NmzB6tWrUJRURFuvPHGrPwt2YbtduhSvNK2Gmrp8WJNq/pPaIIgoMJlQ9ewD/0ePx8InElEUVT1eEnPj8kkoLbEjvZBL44N+SKGf7JFsN7obkEQUOqwoH8kgGFvIGYiomI1zI+TpnqI8htyjPyp0yvTLvAZU2Sr4ZH+0THKIyvw1QVtIWGzmDClyoUD3R7s63LHHUDLrK9GpNAR+UWZhmZ7rXHyBFGo8AHKAWltwlw5JkGxIeYL5U4rBkYCcfs6jXDNEKmj+yz75JNPJvz5F7/4xZQPJh7nn38+zj//fP7v6dOnY/fu3Xj00Ud54bV+/Xrs2LEDhw8fRmNjIwDgoYcewqpVq3DPPfegtLQUTz31FLxeL9atWwe73Y4FCxZgz549WLt2LVavXl2Q3nU9c7yUuHSDUg0TXOjTHWpbWSQVXtnq8wqERDBhVF0w1JY60D7oReegF2hWbt/FFS/9CkOJw4r+kQCGYhSu3kCIv075ctJUK16H+6RBykb1dwFSuqTNYoI/GEb7gJf3fAH52Rytl5k1xbzwive8sh6vGgPCTIj8QomXTtDjNcri5Av3c0IQiYi2GrpViYb5tjZU7MWxP/PvHewDoG/UDWEcus+y119/fcS/A4EARkZGYLPZ4HK5MlJ4xWJwcBCVlUowwMaNG7FgwQJedAHAypUr4fP58MEHH2D58uXYuHEjli5dCrvdHnGbW265Ba2trZg2bVrM3+Xz+eDzKVayoaGhDPxFmYEVCbrmeBmYahiv70RRvFIvvIDsBWyw5waILExZYcWG0zJYj1cqJzY+yytGOAmzC1nyaP4GK4T2HnPzxZ9R/V2ApDxOrnRhX5cbh/o8EYWXkmiYXzuWephZW4z1O44lTDbsphleExYt4RrMnZBsjhdBFCrRc7w8aW4O55JEVsOdHUN492AfzCYBly5qyvahEUihx6u/vz/iy+12Y/fu3TjjjDOyFq6xf/9+PPLII/j617/Ov9fZ2Ym6urqI21VUVMBms6GzszPubdi/2W1icd9996GsrIx/NTc3x73teIMFQWRT8WJ9AsGwyCPV1YTl4AgAcKW4IM52pLz671A/P2yW17Go/ho2PFmv1RBQ9cjFULzUNsN82YVrliPlu4Z98AfDaCxzYEZNcZJ76YMFbByKCtiYEIqXhkh5CteYuCTb/Qaox4sg4ipeebhpxxKPY6nc//N2KwDg/AX1ca3pRGZJb4UtM2vWLNx///1j1LBk3HnnnRAEIeHX+++/H3Gf9vZ2nH/++bj88svxla98JeJnsRai0YpL9G1YsEaiRewtt9yCwcFB/nX48GFdf2cu4QOUdaUapneiKbKZwdppYqk2I6pjSVW1qZRPLP1ZCtdQR8mr3yusZ6ZzMDJcoyvFVENArRjGV7zyqSm2tsQOm6pYPXNWjeFFIwvYiJ7lxcI18kUdTAUl2TBR4ZX6RgCR3/BwjdFEqYbU40VMbJx8jldkj1c+XjvY7L5oxavf48czHx0FAHzptKnZPixCxrB3lNlsRnt7u677XHfddfj85z+f8DZTp07l/9/e3o7ly5djyZIl+NWvfhVxu/r6erz77rsR3+vv70cgEOCqVn19/Rhlq6urCwDGKGFq7HZ7hD0xn9CjeHkNmuMlCAJKHFYMjkoBEdHJfiOqptVUfxezGvZmzWoYWw1kipfaahgOi/zfelMNAWXXOVYc/+BoejO8coHJJKC5won93VJRdKaBNkMGC9iIVrzy+eKpFaYe9rj9GBjxx3xvdJHVcMKSbKBqSBWbTYUXMVGJHqCszBrNv89EWZw++z9uOgxfMIz5jaWGpQoT+tH9jvrHP/4R8W9RFNHR0YGf/exnOP3003U9VnV1NaqrtS3Cjh49iuXLl+Okk07CE088AZMpcgG8ZMkS3HPPPejo6EBDQwMAKXDDbrfjpJNO4re59dZb4ff7YbPZ+G0aGxsjCrxCgiteWqyGBqUaAtIFfHA0dkAEn42RRtMqK7z6s1V4xVED+RDlQaXw6h/x89lRqcR3J1K8+mXFqyJPgjUYkytd2N/tgSAAp88wvvCaHKfwmghWwyK7BY1lUsjLvi43Fk+NHIrtC4a4UkrhGhMPlmrIBqpGz/VRj1wgqyExUeFWw0D+93ixvs4BlSMoGArjdxtbAQCrTpuaN60KhYjud9SnP/3piH8LgoCamhqcffbZeOihh4w6rgja29uxbNkyTJ48GQ8++CC6u7v5z+rr6wEA5513Ho477jj813/9Fx544AH09fXhpptuwjXXXIPS0lIAwJVXXom77roLq1atwq233oq9e/fi3nvvxR133FGwb0I+x0tPuIYBMd9Sn9JozGRDjwGL4YosK15MDXREDZdmVkJ1jxeLkq8utsFq1l/EssbYWD1eitUwfxQvQEk2XNhUxl87I5nKZnn1jUTYi/P54qmHGbXFcQuvHrf0GbGZTXmThEkYR4ndArNJQCgsxhyoyuzgdospwhJMEBMJpzU6XCN/g5liqdwbdhxD+6AXlUU2XHx8Y7y7EllA92okHE6unBjN+vXrsW/fPuzbtw+TJk2K+Bnr0TKbzXj++efxzW9+E6effjqcTieuvPJKHjcPAGVlZdiwYQOuvfZaLF68GBUVFVi9ejVWr16d1b8nm/A5XjrCNaKLi1RINMuLndBSDdYApOHFQA4Ur6iitE5OLRzyBjHqD8FpM/P+rlT7aUoT9njl1wwvxjnz6vDkO4fwn6dMycjjN5U7YRKk3cruYR/vvZsIqYaA1Of1xt6emAEbbLRBTYm9YDeYiPioZwMOjAbGzHKjYA2CSBSukX+bdrFSDdfJoRpXnjx5zOYLkV3y4h21atUqrFq1KuntJk+ejOeeey7hbVpaWvD6668bdGTjHzvv8dKieMUuLlKhJEEy34jKapgqFTkM11BTYrfAaTVjNBDCsSEvplYXcfUrlWANQB0nH1/xyjer4Vmza7D/ngthytAQY5vFhMZyJ470j6K1d4QvLvP54qkHnmwYI2CD9XelYnslCoNyl00qvGIkGzLFi2Z4ERMZVwGFayiBOtJne0e7EiH/n6dOzuWhEdBYeOlRhNauXZvywRDGo1gNtShebI5X+opXaYJZVEbEtFYVs8IrgHBYzNiCnhEvXEMQBNSXOXCwx6MqvFKf4QWoi9YYipccrlGWR+EajEy/RlOrinCkfxSHej04eZpkt5sIqYaANEQZiB0pT1HyRKK5PlzxyqOkVIIwGmeccI183LSLDtegCPnxhaZ31EcffaTpwcjGMv5QrIbJFS+vgeEaSp9SjDj5NIcnA8qOTigsYsgbyHjKH+uRiyXR15bYcbDHw3u70pnhBSSb4yU9n+W0SBrD5CoXsE/q82Lk866lHpjidXRglFteGd2keE142PliIIZDYJgUL4Lg6YW+YFhK+szj/mB1j1efx4+/b6YI+fGEpnfUK6+8kunjIDKELsUrYFy4RuIeLzY8OfUTmt1iRrHdArcviD5P7AhtI0k0XJolG7Lerq6h1KPkgcTP3SC3Guaf4pVppsrJhq2qZMOJYjWsKrajwmVF/0gA+7vdWNBUxn/WTTO8Jjxsoyqh4kWFFzGBcak2q0YDISUEzJZ//VDs8x4IiXjirYPwBcNY0EQR8uMFijAqcOw6FK9ExYVeeJ9SglTDdAMPWKR8XxYCNhL1vzFLIevtOpbG8GQg8XM3MJqf4RrZYHKlnGyoGqKshGsU/qKS93lF2Q152AvN8JqwJJrlxYcn2+mcQkxc7BYTmGlrxB/M6007p9UMq1n6Y9a91QoAWHXaNHKljRNSekdt2rQJf/nLX9DW1ga/P3LR+7e//c2QAyOMgRVRviSKlyiKqlRDo+Lk4yhesoc63cGEFUU2tPWNZKfwCsSOkweU3hluNUxb8ZKeO7c/GNG/JoqiYjWkwmsMU2IoXvlsF9HLzNpibGrtH1t4UY/XhEexGpLiRRCxEAQBLqsZHn8Io/5QXm/aCYKAMqcVPW4/hn1BVBbZ8MmFDbk+LEJGt7Txxz/+Eaeffjp27NiBZ555BoFAADt27MDLL7+MsrKy5A9AZBWm0HiTKF7+kFKYGRGukTjV0BgJv1IuPsaL4tU15EMwFEaPOz2FgS2ARFEqvhjeQBh++Tgyba3MR1jhNTga4JbM4QkSrgEAM+IEbHSR1XDCkyhcY4ji5AkCAOC0KbO88n3TrkzVB04R8uML3Svse++9Fz/+8Y/x3HPPwWaz4Sc/+Ql27tyJz372s5g8mWIqxxtMoUmmeKnnfBlqNUyYapjeCa2ySCps+rIQKc/732IUpUzZ6hzyosftR1gEzCYBVUWpFV4Oq5kPMlUXrsxmaDEJeek7zzQum4UHSBzqk+yGEyVcA4gdKR8Oi3yAMoVrTFzYRs1AIqshKV7EBMelSjY0In05l7DCy2wS8IVTMzM/k0gN3Svs/fv346KLLgIA2O12eDweCIKAG264Ab/61a8MP0AiPZhCk2yAMkvtAwCb2chUwxiKlwHhGgBQWST9jmwMUU4YrlGi9Hgxu2FNsR3mNOLTS2P0efV7mM3QRl7tOEypVOyGobCI0QDbtczPi6ceWOHV2uNBQFaw+0b8CIVFCAJQXUwq6USlXIPiVUpJqcQERz1EeSTPN+3YZssFC+pTHm1DZAbdK+zKykoMDw8DAJqamrBt2zYAwMDAAEZGRhLdlcgBTPFSF1ax8Kmi5I1Y1CdSvDxGWQ1lRak3C4VXwjh52VLoC4ax95j02ahL80QXy6pJwRrJmVKlBGx4VDbNfLWL6KGxzAmXzYxgWMQhuc+NBWtUFdlgMWBDhchPyliqYYI4eVK8iIkOG8Ph8QcN60XPFZ9dPAnHN5fjO+fOzvWhEFFovhJv3rwZAHDmmWdiw4YNAIDPfvazuP7663HNNdfgiiuuwDnnnJORgyRSR614iaIY93ZGJhoCykXc7ZMCItR4DLMajg/Fy2E182Lo4yODAIC6NG1dpTxSXilcB2mGV1JYn9eh3hH+PrOYBMPe1+MZk0kY0+fF+rtqqL9rQsPDNShOniDiwhSvXreypshXxev8BQ149trTuROCGD9oXo2ceOKJOOmkkzBv3jxcccUVAIBbbrkFN910E44dO4bLLrsMjz/+eMYOlEgNdU9SIrshi5s3qgGTpRpGB0QAymT4dAYoA8osq74YSV1GkyhcAwDq5T6vj4/KhVeKiYaMWIqXkmhIlrF4qAsvNwvWcFgmjDWTXWT3d7PCixINCaXfY2g0MGYjTBmgTBs6xMTGaZXWJGzovEmInWRMEOmg+R311ltv4cQTT8SDDz6IGTNm4Atf+AJee+013HzzzfjHP/6BtWvXoqKChrONNxyqQiFx4SUXFgadZBxWM+8Vi+7zYhYwV5p9N1XF0mKyRz5JZhJWmMZ7fmrlQmtn+xCA1Gd4MWJZNclqmBxmNTzU51Gao/PUKpIK0bO82AKCgjUmNqx/KywCw77I8zEpXgQhwRSvbrfkFCiyT5xNOyJ7aF5lL1myBL/+9a/R2dmJRx99FEeOHMG5556LGTNm4J577sGRI0cyeZxEiljNAh8KmGiIMuthiqfopEJJDLscoMxWSlfCZ7v43cO+hDZKI/DKPXCOOM8PsxayWP7aNBWvWHPQyGqYHBaucWzIx9P88tUqkgrRVsNuUrwISBthTtnNoA7sCYbC3IFAcfLERIcXXvJ5cyJdO4jsoVvecDqduOqqq/Dqq69iz549uOKKK/DYY49h2rRpuPDCCzNxjEQaCIKgaYiy0T1egLLLOjQapXjJO66uNMM1WKiFPxSOORjUSJIpXtGpQelbDccqXv1yY3xFEVkN41HusvL+uF0dkvo4ERINGWqrYTgsqmZ4UeE10SmLMUTZrVK/SPEiJjrOqMJrIoQyEdknrVX2jBkz8L3vfQ+33XYbSktL8e9//9uo4yIMhPVtJVK81KmGRhFL8QqGwrzIS9cCZrcooRZdGbYbJnt+ohWu9K2GMVIN5QVTGSlecREEgdsNt7ezwmviXDynVLlgMQkY8YfQMeTlqYbpKrBE/sPOlcyyDCjnF4fVBCulXhITHMVqKBdeNC+TyAApn2lfe+01XHXVVaivr8fNN9+Myy67DG+99ZaRx0YYBCsWvAkVr0xaDZXigUW0AsYsiNUztDKJ1nCN6ONKlZIYc7wGeLgGFV6JmCwHbGzvkIJOJpJdxGo2YWq1VHju63JTuAbBKY0xy4v9PwVrEIQSHU+KF5FJdL2rDh8+jHXr1mHdunU4ePAgTjvtNDzyyCP47Gc/i6KiokwdI5EmmhQvubAwMsGnxC5bDVWK14gcrGE1C7AZoK7Vltqx+9hwxgsv3gMX5/lRK1w2iynt4ijWAGq2U11BqYYJmSoXXof7RgFMrMILAGbWFGNflxv7utwUrkFwymNYDSlYgyAUWB8k26SmwovIBJrfVStWrMArr7yCmpoafPGLX8TVV1+NOXPmZPLYCIPQ1+NlnOJV6oyhePmMHUpYKytLGbcaJnl+1D1ddaX2tJOQYtk0yWqojSmVkZtAE+3iObO2GNgObDk8gFF5w6CW5nhNeNhmkFrxUoYn0zmFIKL7zifaph2RHTS/q5xOJ/7617/ik5/8JMxm8r3mE6xY8Cbs8Uqs6KQCu5irFS8WrGHUCY0pTV0ZtxoyK2bs56e62A6TIMU1p2szBMbaNEVRJKuhRtgsL8ZEu3iygI239/cCAErsFt40TkxcymJYDUnxIgiF6PPkRApmIrKH5rPtP/7xj0weB5FBmH0w26mGSp+SusfLmERDBlOajg1lVvHicfJxBkybTQJqSuw4NuRLO9EQUHouWNE6GgjxqHqyGiaGhWswJqTiBaBHbhCvSTPohSgM2OD1gRF1uAb1eBEEI9qJM9GuHUR2oBijCQBTvBIOUM7AHC9lFpWqx4tZDQ06obHQABabnSmSKV6AErBRa8BCN3qOF1O7rGbBsKK1UKktsUe8TsUTbNdyek1k4UnBGgQQO1yDFC+CUIi+tqabvEwQsaDCawLAFC8WEBGLTCpekamG0v8bFdNamwXFSxRF5flJYMVkSld0wmEqsOduxB9CMBTmM7zKnLa0+8cKHZNJiLAbFk+wRaXLZkFTuZP/u4b6uwjECdfwUeFFEIyxVkP6XBDGQ++qCYAmxSuY2EqXCrF7vKTiz6gTGuvx6h72QRTFjBQlgZAIUZT+P5Ei+KXTp0EE8MnjG9P+nepiYdgbxKC8WKqg/i5NTK4swp5jbgATc9dyZm0xjg5IqY6keBFA7HCNIYqTJwjO2HCNieWWILLDxFuRTECUOV6JFK/kVjq9xEo1HDFY8WIx2f5QGAMjAVQUGd//pA4lSRS3v2RGFZbMqDLkd1rNJjitZowGQhj2BjEwSsEaeohQvCbgruXM2mK8tqcbABVehASFaxBEYlxW6vEiMg9ZDScAdmtyxYuFRxiZahirx8tjcI+X3WLmKtCxDPV5qUNJbObsfWRY4TrkDURYDYnkTFUVXhPx4skCNgBjeg6J/KfcycI1VIoXxckTBIeshkQ2oMJrAsDneCUcoGx8uEaiVEMjVQjWW9WVoT4vtRqYzf6qElXAxgBZDXUxWZVsOBEvnhGFF/V4EVAUr9FAiJ/TSPEiCAWa40VkAyq8JgB2Hq6RKNXQ+HANpniNBkIIyFHobI6Xkcl8zG54LEOzvDIRPKIFXrh6A9weRFZDbUyd6FbDGqXwqiGrIQHpfML2jdj5hAYoE4SCM6rHnRKEiUxAhdcEwMHDNTSkGhpoNVQHRLjlndURvxyuYWDgAVe8hjOjeLHeOCODR7SgVrz6PZLVsJxmeGmiqdyJ6mI7Sh0WVBRNvEVlRZENp06vxLTqojEDpYmJickkKPMBeeFFihdBMEwmIaKPeyJu2hGZh95VEwC7pgHKcnFhoNVQHRAx5JWCL9yy4mWk/YvP8sq04mVgUaqFUh7HH6BwDZ1YzCY8960zEBJFQ+2z+cQfrjkVYVEa7k0QgHT+GBwNcOsyK7wo1ZAgJFw2C7wBaaNzItrUicxD76oJACumvBri5I0uLkqdFp7MB6hSDQ2Maa3L8CwvxYaZO8WLxcmXU7iGZurLJnZvkyAIMFPNRagod1pxCFLARiAUxqis5pPiRRASarshKV5EJiCr4QRAUbziWw2Znc7o4iJ6lhdPNTTUaij3eGUq1TADUftaKOXhJEqqISleBEGkSqkqUl495oMKL4KQYH1dZpOQ9Ws+MTGgd9UEwK5H8TL4RBOdbOjxGa941ZRkNtWQhZJkv8dLmYNGVkOCINKF9YgOjAZ4sIbLZoYli2MyCGI8wwqvIps5qynGxMSBzrYTAIcGxStTdrroWV6ZCdeQe7yGvRBF0bDHZeRM8ZJ3p4d9AcVqSOEaBEGkSJk8G1CteJHaRRAKbJYX9XcRmYIKrwmA3ZJ8gDIvLgzu8VKrNoAyx8tYxUsqvAIhEf2q4aBGkes4+c5BL/xyHH+5kxQvgiBSg/WIDo74aXgyQcSAtUFQ4UVkCiq8JgAOPscreZy8kamGQGRABKC2Ghp3UrNbzHywcFcG+rz4c5Ntq6Fd+pva+kYBADazieaKEASRMsyqPECKF0HEhBQvItNQ4TUBYIqXPxephqohwP5gGIGQZAU0MlwDyGyyoS+QW6thj1v6m8pcVvKcEwSRMrHCNUjxIggFl7zBWmygK4cg1ORF4dXa2oovf/nLmDZtGpxOJ2bMmIE1a9bA7/fz22zZsgVXXHEFmpub4XQ6MW/ePPzkJz8Z81hbt27F0qVL4XQ60dTUhLvvvjsjfUHjCVYwxFO8AqEwQmEx4rZGwfuUvAEeJQ9IjatGUssLr8wpXtmPk48sTslmSBBEOrBzyMCIEq5BihdBKCjhGvS5IDJDXryzdu3ahXA4jMceewwzZ87Etm3bcM0118Dj8eDBBx8EAHzwwQeoqanB73//ezQ3N+Ptt9/GV7/6VZjNZlx33XUAgKGhIaxYsQLLly/Hpk2bsGfPHqxatQpFRUW48cYbc/knZhRmkYvX46X+vvFx8kqPFxuebLeYDE/RYkOUu4czqHhleYBy9IKogoI1CIJIgzK58BpSKV6lVHgRBMcpF1w0w4vIFHnxzjr//PNx/vnn839Pnz4du3fvxqOPPsoLr6uvvjriPtOnT8fGjRvxt7/9jRdeTz31FLxeL9atWwe73Y4FCxZgz549WLt2LVavXl2wNi6mYsUtvFRKmC1TcfLegJJomIETGp/llQHFy5urHq8oC1AZRckTBJEG6jj5IXlERSlZDQmC01ThjPgvQRhNXhResRgcHERlZaWu22zcuBFLly6F3W7n31u5ciVuueUWtLa2Ytq0aTEfx+fzwedTlJShoaE0jz672JOEa7CCzGoWYDYZW3yWqsI1WLBGJgIi6jJpNcxRj1eJ3QJBAJgTtoIKL4Ig0oCFawyOBlSphnm7DCAIw/nc4mY0Vzhx8rTE60uCSJW86PGKZv/+/XjkkUfw9a9/Pe5tNm7ciD//+c/42te+xr/X2dmJurq6iNuxf3d2dsZ9rPvuuw9lZWX8q7m5Oc2/ILuwpMJgWEQwNFb1ylSiIRCZaujxSQVMJiR8ZjXsyoTVMEdx8iaTgGKVz5xmeBEEkQ7MahgKi+gYlDapKFyDIBRsFhOWzak1PACMIBg5LbzuvPNOCIKQ8Ov999+PuE97ezvOP/98XH755fjKV74S83G3b9+OSy65BHfccQdWrFgR8bNoOyEL1khkM7zlllswODjIvw4fPpzKn5sz1L1J/piFV+Z6mLjVcDTAZ3hlQvFi4RpdGlMNg6Ew/7uTkatwDSByN7qMwjUIgkgDh9XMN5CO9ktjKkjxIgiCyB45PeNed911+PznP5/wNlOnTuX/397ejuXLl2PJkiX41a9+FfP2O3bswNlnn41rrrkGt99+e8TP6uvrxyhbXV1dADBGCVNjt9sj7In5hrpg8AbCiBZOvIHMFRZKqmGQpxpmpsdLLryGvRBFMWEhHQ6L+OQjb8LjD+LlG5fBmiTog1k0HVkO1wDk3Wh5Z5rCNQiCSJcypxVdwz4c4YUXbegQBEFki5wWXtXV1aiurtZ026NHj2L58uU46aST8MQTT8BkGrsI3r59O84++2xcddVVuOeee8b8fMmSJbj11lvh9/ths0mL2PXr16OxsTGiwCs0zCYBVrOAQEiMqfJksoeJ7ab6Q2H0uqX4/0zEtNYUS4VxICSifySAyqL4RcrRgVHs6hwGIM3IaihL3ESbS8Wr1Km2GtICiSCI9Ch3SYUXcz+Q4kUQBJE98qLHq729HcuWLUNzczMefPBBdHd3o7OzM0K92r59O5YvX44VK1Zg9erV/Ofd3d38NldeeSXsdjtWrVqFbdu24ZlnnsG9995b0ImGDFY0MHVLDSssjE40BIBimxQQAQCdsnLjysBgQpvFxIutZAEbOzuUcBS3N5jglhKZtGImQ70bTXO8CIJIl3Jn5KYUFV4EQRDZIy/OuOvXr8e+ffuwb98+TJo0KeJnrEfrL3/5C7q7u/HUU0/hqaee4j+fMmUKWltbAQBlZWXYsGEDrr32WixevBgVFRVYvXo1Vq9enbW/JVc4rCa4fYiteDFFJwNx6SaTgGK7BcPeIDrlgihTgwlrS+zo8/hxbMiLeQ2lcW/H1C4AGPZpKLwCuQnXACIXRRSuQRBEupRGbeBQnDxBEET2yAvFa9WqVRBFMeYX484774z5c1Z0MVpaWvD666/D6/Wio6MDa9asKXi1C1AUL19MxUvuYcpQYcEu7EzxykSPF6AK2EiSbKhX8fJyxSu34RpkNSQIIl2izyNUeBEEQWSPvCi8iPRJNMuLKzoZKixY8cDii4sykGoIAHUsUj6J1VCteLnHueKlXhRR4UUQRLpEp6MWk9WQIAgia1DhNUHgildwrOLFFZ0MK15dw6zHKzMX+joNiteIP4jWXg//t7Yer1zGyUvPnc1igjMHihtBEIWFule0yGaG2VT4jg+CIIjxAhVeEwRWVMUqvDKt6DDFKxCSrKHFGQjXAIDaUknxShSuseeYGyqHqrYerwwXpolgz1250zohLLEEQWQWtXJOUfIEQRDZhQqvCYIjkdUww4pOdGpWpibC15ZIitexBEOUd6n6uwCNPV5yYerIYY8X2QwJgjACdbgGJRoSBEFkFyq8JgiJrIaZjkuP3lUtypDiVScrXt0JrIY7owsvXyDp4+ZS8ZrfWAqzScDCSeVZ/90EQRQe6nRUKrwIgiCyC511JwisaEikeDkypHiphwADGYyT5z1eXoTDIkwxehd2ysEa06uLcKDHkzRcQxRFVdx+9guvmbUl2HTbuTTDiyAIQyhzktWQIAgiV/z/9u4/PKryzv//60x+TIYkhEAgIRA0gMovQQ3uNkIbUgvEWlt3vdwLlZZU7X5pwQXjbiloBdmr4CqyvYrbKL0oXr3EpR9d6da2WuJqsVRdI0KX34g0QgkpWCEJgUx+zPn+kZyTOclMiDA/mJzn47rmujLn3JM55/SW3u+87/t9k/FyCWuaXK9rvGKW8YpO4DU0oyPj1dpu6vS5lh7nTdO0pxreeOVgSVLjBaYatrQH7DVh8ZhqKEmD01NDBpEA8FkF/xGn+55eAIDoIvByia7iGj0zXtGuathzjVd0ApjUZI+GpHdMowlV2fBEfbMamtuU7DE0pWCQpAuXkw8OVOMx1RAAIslZXINJLwAQS4wkXcLK1jSH2kC5NbrFNbpv0JkRpYyXJA3NDF/Z0FrfNWZohgand1zThYprBG84nZrEfy4AElvwDAQCLwCILUaSLtFbxivaxSN6ZLyiGHjZe3mFqGxobZw8bnimMrydgdcFM15dz4Zy7gASXZLH0MDOf5O7/1EMABBdBF4uYa3f8ofKeEW5eET3NV4DorhWyqpsaG3WHMzKeI0fPlAZnQOPC63ximcpeQCIhqzO6YZkvAAgtgi8XCLNLicf+6qGWUFVDQekJkW1UERve3nZGa+8THu642fJeAFAfzDI17EWlsALAGKL0aRL9Jrxao3dPl7R2jzZYmW8uq/xam5t15FTZyV1ZLysAcdZf5tMq2xhCPEsJQ8A0TDjmqHKTEvWdQXZ8b4UAHAV/tzlEnZxjZBVDaNbXCP4r6rR2jzZ0rWXlzPj9eFfzipgStkDUjQs06tzLR3PoT1gqrk1IF+YSovRLjwCALH20KxrtPhLVyuJbSoAIKb4M75L2MU1est4RWk6nS8lScmd/wcfrc2TLcM6qxqe7Jbx2l/Xtb7LMAwNSE2SVSuj0d8a9vdZgWoaGS8A/QhBFwDEHqNJl/Amh99AucXOeEWnOxiGYWe9op3xyg3KeAUCXVMID5yw1ncNtK/JXufVS4ENMl4AAACIBAIvl7AyNs2t4YtreKNYuc9a5xXtNV7WPl5tAVOnz7XYxw90ZrzGDc/suqY+FNiguAYAAAAigdGkS/SW8fLHYDrdwM7KhtHcPFmSUpI8GpLeUbHLqmxommZXKfnOjJcku6R8rxmvKGcDAQAA4A6MJl3CChxCZrxiMJ0u02tlvKI/Zc8qsPGXzr28Tjb6dfpcqzyGdFVuht3OCgIbe8t4tVpBKVMNAQAAcPEIvFzCmkYYKuPVHIPpdF1rvKJfSNMqKX+qM+NlZbtGD81wBFAZndMfyXgBAAAg2hhNuoRd1bBbOfn2gKnWdtPRJhq61njFIOOV6dzLK3jjZMc19WmNF8U1AAAAcOkIvFzC3serWzn5lqAMWDSLa3zh6hxlepNVPGZI1L7DktttL68DJ7pKyQfL6Evg1Uo5eQAAAFw6NlB2iXAZr+D30cx4fe26Ebptcr48Mdg7xl7j1Znx2t9ZSn78cGfGyyqu0djLVMPmGFR8BAAAQP/Hn/FdwptiBV4BmWbX/lbWVLokj6GUpOh2h1gEXVLQVMNGv/xt7fro1FlJXXt4WboyXuE3UI725tIAAABwB0aTLmFNNTRNqaW9a3phV0XD/tMVrKmGpxqa9dHJJrUFTA1MS9bwrDRHu0zKyQMAACBGGE26RHDgEFzZMBYVDWPNqmp4stGvfSesjZMHyjCcGbe+rPFqppw8AAAAIqD/jLbRq9Qkj6y4I3gvr1js4RVrORleGYbUFjD19kefSJImdCusIfVtjRcZLwAAAEQCo0mXMAyjq8BGUGVDq7iGtx9V7UtJ8mhIeqok6a1DHYFX91LyUh+rGlJOHgAAABHQf0bbuCAreAieathfMzrDMjvWc31ytqOk/LgQGS97jVevgVf/C0wBAAAQe4wmXcTai8ox1bCtf65hGta5zkuSDEO6OjejR5sMb8emzr0V12juh1MxAQAAEHsEXi4SMuPVD6saSlJuZlcFw8Ih6RqQ2nPLOnuNFxkvAAAARBmjSRcJtYlyV1XD/pXRyQ3KeI0b3nN9l9S1xqulLdBjY2lLfw1MAQAAEFuMJl3Emk7oKK7RTwOLoQO7Ml7dN062WIGXJDX5wwReFNcAAABABPSv0TZ6FSrjZQcW/WwqXW5mV8ZrfIjCGpKU5DE0ILUjoAq3zqtrH6/+9XwAAAAQW4wmXcTKeDWHKiffzzI6uY6MV+iphlJX1qvR3xryPBkvAAAARAKBl4uEzHh1BmH9LaMzavAApSZ5lDvQq5HZvrDtrAIb4TJeXYFp/3o+AAAAiK2EGE3W1NTovvvuU2FhoXw+n8aMGaPly5erpaUlZPu//vWvGjlypAzD0JkzZxzndu/erZKSEvl8Po0YMUIrV66UaZoxuIv4s6YTht7Hq39ldLLTU/Xyd27S//v/imUYRth2mb1somyapv18+lu5fQAAAMRWzxrbl6EDBw4oEAjo2Wef1dixY7Vnzx5961vfUlNTk9asWdOj/X333afJkyfr+PHjjuMNDQ2aOXOmSktLVV1drUOHDqm8vFzp6el66KGHYnU7cZOWbE01DKpq2Np/MzqTRmRdsE1GL5sot7QHZMXk/W0NHAAAAGIrIQKvsrIylZWV2e9Hjx6tgwcPqrKyskfgVVlZqTNnzujRRx/Vq6++6ji3adMmNTc367nnnpPX69WkSZN06NAhrV27VhUVFWEzI36/X36/337f0NAQwbuLHTvj1Roq4+XOwMJe4xViqmFwZtCtzwcAAACRkbCjyfr6eg0ePNhxbN++fVq5cqV+9rOfyePpeWvvvPOOSkpK5PV2VbybPXu2amtrVVNTE/a7Vq9eraysLPtVUFAQsfuIJWs6YbOjqqG1QbA7p9JleFMkhc54WQGqYUipSQn7nwoAAAAuAwk5mvzoo4+0bt06zZ8/3z7m9/t111136cknn9SoUaNCfq6urk65ubmOY9b7urq6sN+3dOlS1dfX269jx45F4C5ij4xXT5m9FNcInobZ2zoxAAAA4ELiOtpesWKFDMPo9fX+++87PlNbW6uysjLdeeeduv/+++3jS5cu1fjx4zV37txev7P7ANoqrNHbwNrr9WrgwIGOVyKyMl6O4hrWBsquzXiFX+PVXwuPAAAAIPbiusZr4cKFmjNnTq9trrzySvvn2tpalZaWqri4WOvXr3e0e+ONN7R792699NJLkroCqpycHD388MN67LHHlJeX1yOzdfLkSUnqkQnrj6yS8cHFNdxeLt0qrhF6jZe7nw0AAAAiJ66BV05OjnJycvrU9vjx4yotLVVRUZE2btzYYw3Xf/3Xf+n8+fP2++rqat177736/e9/rzFjxkiSiouLtWzZMrW0tCg1NVWStHXrVuXn5zsCvP4qVMbL2kzZrcFFV8ar5wbKdsaLioYAAAC4RAlR1bC2tlYzZszQqFGjtGbNGp06dco+l5eXJ0l2cGX55JNPJEnjx4/XoEGDJEl33323HnvsMZWXl2vZsmX68MMPtWrVKj366KOuWMMTcgNlO6vjzul0mb2Uk7cyg2kufTYAAACInIQIvLZu3arDhw/r8OHDGjlypOPcZ9n8OCsrS1VVVVqwYIGmTp2q7OxsVVRUqKKiItKXfFmyNgFuDlVcw6VZHTvj1Us5ebc+GwAAAEROQgRe5eXlKi8v/0yfmTFjRsig7Nprr9Vbb70VoStLLKEzXkw1lHovJ+/WbCAAAAAix52jbZcKnfFqd5xzm4xephpSXAMAAACRwojSRboyXiHKybs0uMi0NlAONdWw89m4NSgFAABA5LhztO1SoaYadm0S7M7gIt3bcd9NLe1qDzinppLxAgAAQKQwonQRK3PjD1Vcw6XBhTXVUJKaWpxZL7c/GwAAAEQOI0oXsarzWZkc0zRdX7nPm5yk1KSOe+8+3bAr8HJnNhAAAACR487RtkvZGyh3Zrxa2gM9zrlRuAIb9j5eLg1KAQAAEDmMKF3ECiCaOzNewUU23BxcWCXlG8NlvCiuAQAAgEvk3tG2C1lZrdZ2U+0B07HWy5pu50bh9vLyt1JcAwAAAJHBiNJFgrNa/rb2oIqGHhmGEa/Lijt7qmGYjBfl5AEAAHCpCLxcJDir5W8NULWvU6ad8Wp1HG8m4wUAAIAIYUTpIslJHiV7OjJb/rZA1z5VLs/oWBmvsGu8CLwAAABwiRhRuow1ba65tZ3AolPYNV6UkwcAAECEuHvE7UJWkOVvC9jFNdy+hincGi97qqGLKz4CAAAgMhhRuowz48UaJil4jRcZLwAAAESHu0fcLhSc8WpuZaqhFLSPV4/Ai4wXAAAAIoMRpcuk2oFXcMbL3RmdjLQUSSHKyROYAgAAIEIYUbpM11TDoHLyLs/ohCuu0dwZmLp9DRwAAAAunbtH3C7kdWS8yOhIUma4DZTJeAEAACBCGFG6jLVnl781IH8rGR2JcvIAAACIPgIvl0nrzN40k/GydW2g3Oo4TtVHAAAARAojSpcJlfFye0YnuJy8aZqSJNM07aqPbs8IAgAA4NIReLkMGa+erIxXwJTOdwajLe0B+7zbi48AAADg0jGidBkriPBT1dDmS0mSx+j42SqwYT0bicAUAAAAl44RpctY0wr9bQH28epkGEaPTZStioaGIaUm8Z8JAAAALg0jSpdJ68xuNbe228FFmsszXpKU2W0T5ebWrsIahmHE7boAAADQPzDidhlnxoty6ZbuJeV5NgAAAIgkAi+XsbJb/rZ2R1bH7bpKyluBF88GAAAAkcOo0mXsjBfFNRy6Z7woJQ8AAIBIYsTtMlYGx9/WTnGNIFbG62znJspkvAAAABBJjCpdxsrgNAdnvAguHJsoSyIbCAAAgIhiVOkyjowX0+ls4crJkw0EAABAJBB4uYy9gbJjHy+6QddUQ2dxDUrtAwAAIBIYVbpMWrI11bDdLiBBVidEOXmeDQAAACKIwMtlQma8yOooM0zGi2wgAAAAIoFRpct4gzJeFNfokuFNkRS0xotnAwAAgAhKiFFlTU2N7rvvPhUWFsrn82nMmDFavny5WlpaerR97rnnNHnyZKWlpSkvL08LFy50nN+9e7dKSkrk8/k0YsQIrVy5UqZpxupW4i7NkfFiOp2l+xova3NpCo8AAAAgEpLjfQF9ceDAAQUCAT377LMaO3as9uzZo29961tqamrSmjVr7HZr167VU089pSeffFJ/+7d/q+bmZh05csQ+39DQoJkzZ6q0tFTV1dU6dOiQysvLlZ6eroceeigetxZzVpDV5G9Te6Aj4KSARIg1XmS8AAAAEEEJEXiVlZWprKzMfj969GgdPHhQlZWVduB1+vRpPfLII3rllVd08803220nTpxo/7xp0yY1Nzfrueeek9fr1aRJk3To0CGtXbtWFRUVMgwjdjcVJ9Z6rtb2riwfGa+gNV499vHi2QAAAODSJeyf8+vr6zV48GD7fVVVlQKBgI4fP67x48dr5MiR+od/+AcdO3bMbvPOO++opKREXq/XPjZ79mzV1taqpqYm7Hf5/X41NDQ4XokqVJCVSlanK+NlFdewphrybAAAABABCTmq/Oijj7Ru3TrNnz/fPnbkyBEFAgGtWrVKP/zhD/XSSy/p008/1cyZM+21YHV1dcrNzXX8Lut9XV1d2O9bvXq1srKy7FdBQUEU7io2uk+dS0kylOTp/5m+C7HWeLW0d1R7tEvtk/ECAABABMQ18FqxYoUMw+j19f777zs+U1tbq7KyMt155526//777eOBQECtra360Y9+pNmzZ+tzn/uc/vM//1Mffvih3nzzTbtd9+mEVmGN3qYZLl26VPX19fYrOIuWaLoHXkwz7JCe2jXr9mxzG+XkAQAAEFFxXeO1cOFCzZkzp9c2V155pf1zbW2tSktLVVxcrPXr1zvaDR8+XJI0YcIE+9jQoUOVk5Ojo0ePSpLy8vJ6ZLZOnjwpST0yYcG8Xq9jemIiMwxD3mQPxSO6SfIYSk9NUlNLu87623g+AAAAiKi4Bl45OTnKycnpU9vjx4+rtLRURUVF2rhxozwe54B42rRpkqSDBw9q5MiRkqRPP/1Un3zyia644gpJUnFxsZYtW6aWlhalpqZKkrZu3ar8/HxHgNffpaUk2YEF5dK7ZKQlq6mlXY3NbRTXAAAAQEQlxJ/za2trNWPGDBUUFGjNmjU6deqU6urqHNmrq6++Wl/72te0aNEivf3229qzZ4/mzZuncePGqbS0VJJ09913y+v1qry8XHv27NGWLVu0atUq11Q0tARnccjodEkPKilv7ePF8wEAAEAkJEQ5+a1bt+rw4cM6fPiwnc2yBG9+/LOf/UwPPvigbr31Vnk8HpWUlOi1115TSkqKJCkrK0tVVVVasGCBpk6dquzsbFVUVKiioiKm9xNv3qB9u6ho2CUzqLIhm0sDAAAgkhIi8CovL1d5efkF2w0cOFAbNmzQhg0bwra59tpr9dZbb0Xw6hJPWlAwwVS6LhlBe3nZxTXYXBoAAAARwKjShYKDCabSdbH28mr0t9nl5NPIeAEAACACGHW7kCPjReBly/B2TEl1lJMn4wUAAIAIYFTpQsHBBFUNu2TaUw1b5W+lnDwAAAAih1GlC3nJeIWUQXENAAAARAmjbhdKc6zxIrCwdBXXaLfLyacx1RAAAAARwKjShRwZLwILm11co7mVjBcAAAAiilG3C7GBcmjWGq/T51rsYwSmAAAAiARGlS4UXFCDjE4XK+P117NBgReBKQAAACKAUaULBQcTrGHqYgVep876JUmGIaUm8XwAAABw6RhVupCXjFdIVnGNxuY2SR0BqmEY8bwkAAAA9BMEXi7EGq/QMjs3ULYQlAIAACBSGHW7kCPwYqqhzcp4WZiGCQAAgEhhZOlCFNcILd3rfBY8GwAAAEQKgZcLMdUwNG9yklJ5NgAAAIgCRpYuFJzxCv4ZUqa3a7oh0zABAAAQKYwsXYiMV3jB67zSmGoIAACACGHU7ULOcvJ0gWAZZLwAAAAQBYwsXSjNUdWQrE4wR+BFxgsAAAARQuDlQmS8wstMCw68eDYAAACIDEaWLsQar/CCM14UHgEAAECkMOp2IaoahpdBxgsAAABRwMjShch4hZfhTbF/5tkAAAAgUhhZulBwloviGk6ONV48GwAAAERI8oWboL8ZmJas/Kw0JSUZGkBw4eBY40XGCwAAABFC4OVCyUkeVVWUyDAkj8eI9+VcVpz7eBGUAgAAIDIIvFwq3cv/9KFQXAMAAADRwMgSCJJJxgsAAABRQOAFBCHjBQAAgGhgZAkEcazxIvACAABAhDCyBII4M15MNQQAAEBkEHgBQTKDNlBOS+E/DwAAAEQGI0sgSFqKR0mdJfbJeAEAACBSCLyAIIZh2Ou8vGS8AAAAECGMLIFuxg7LULLH0MhsX7wvBQAAAP0Eu+gC3Tz3zRt15lyrhmWmxftSAAAA0E8QeAHdZKalKDMt5cINAQAAgD5KiKmGNTU1uu+++1RYWCifz6cxY8Zo+fLlamlpcbSrrq7WzTffrEGDBik7O1uzZs3Srl27HG12796tkpIS+Xw+jRgxQitXrpRpmjG8GwAAAABukxCB14EDBxQIBPTss89q7969+vd//3c988wzWrZsmd2msbFRs2fP1qhRo/S///u/2r59uwYOHKjZs2ertbVVktTQ0KCZM2cqPz9f1dXVWrdundasWaO1a9fG69YAAAAAuIBhJmi658knn1RlZaWOHDkiSXr//fd144036ujRoyooKJDUkd2aPHmyDh8+rDFjxqiyslJLly7VX/7yF3m9XknS448/rnXr1unPf/6zDMPo03c3NDQoKytL9fX1GjhwYHRuEAAAAMBlr6+xQUJkvEKpr6/X4MGD7ffXXHONcnJytGHDBrW0tOj8+fPasGGDJk6cqCuuuEKS9M4776ikpMQOuiRp9uzZqq2tVU1NTdjv8vv9amhocLwAAAAAoK8SMvD66KOPtG7dOs2fP98+lpmZqd/97nd6/vnn5fP5lJGRod/+9rf6zW9+o+TkjhoidXV1ys3Ndfwu631dXV3Y71u9erWysrLsl5VRAwAAAIC+iGvgtWLFChmG0evr/fffd3ymtrZWZWVluvPOO3X//ffbx8+fP697771X06ZN07vvvqs//OEPmjhxor785S/r/Pnzdrvu0wmtmZa9TTNcunSp6uvr7dexY8cicfsAAAAAXCKu5eQXLlyoOXPm9NrmyiuvtH+ura1VaWmpiouLtX79eke7F154QTU1NXrnnXfk8XjsY9nZ2frv//5vzZkzR3l5eT0yWydPnpSkHpmwYF6v1zE9EQAAAAA+i7gGXjk5OcrJyelT2+PHj6u0tFRFRUXauHGjHVxZzp07J4/H48hcWe8DgYAkqbi4WMuWLVNLS4tSU1MlSVu3blV+fr4jwAMAAACASEqINV61tbWaMWOGCgoKtGbNGp06dUp1dXWO7NXMmTN1+vRpLViwQPv379fevXv1zW9+U8nJySotLZUk3X333fJ6vSovL9eePXu0ZcsWrVq1ShUVFX2uaAgAAAAAn1VcM159tXXrVh0+fFiHDx/WyJEjHeesNVrjxo3TK6+8oscee0zFxcXyeDy6/vrr9dprr2n48OGSpKysLFVVVWnBggWaOnWqsrOzVVFRoYqKipjfEwAAAAD3SNh9vOKJfbwAAAAASC7YxwsAAAAAEgWBFwAAAABEGYEXAAAAAERZQhTXuNxYy+IaGhrifCUAAAAA4smKCS5UOoPA6yI0NjZKkgoKCuJ8JQAAAAAuB42NjcrKygp7nqqGFyEQCKi2tlaZmZlx3/+roaFBBQUFOnbsGBUW0Wf0G1wM+g0uFn0HF4N+g4sRj35jmqYaGxuVn58vjyf8Si4yXhfB4/H02E8s3gYOHMg/SvjM6De4GPQbXCz6Di4G/QYXI9b9prdMl4XiGgAAAAAQZQReAAAAABBlBF4Jzuv1avny5fJ6vfG+FCQQ+g0uBv0GF4u+g4tBv8HFuJz7DcU1AAAAACDKyHgBAAAAQJQReAEAAABAlBF4AQAAAECUEXgBAAAAQJQReCWwH//4xyosLFRaWpqKior0+9//Pt6XhMvI6tWrdeONNyozM1PDhg3T7bffroMHDzramKapFStWKD8/Xz6fTzNmzNDevXvjdMW4HK1evVqGYWjx4sX2MfoNwjl+/Ljmzp2rIUOGaMCAAbruuuu0Y8cO+zx9B921tbXpkUceUWFhoXw+n0aPHq2VK1cqEAjYbeg3kKS33npLt912m/Lz82UYhn7xi184zveln/j9fj3wwAPKyclRenq6vvrVr+rPf/5zzO6BwCtB/fznP9fixYv18MMPa+fOnfr85z+vW265RUePHo33peEysW3bNi1YsEDvvvuuqqqq1NbWplmzZqmpqclu88QTT2jt2rV6+umnVV1drby8PM2cOVONjY1xvHJcLqqrq7V+/XpNnjzZcZx+g1BOnz6tadOmKSUlRa+++qr27dunp556SoMGDbLb0HfQ3b/927/pmWee0dNPP639+/friSee0JNPPql169bZbeg3kKSmpiZNmTJFTz/9dMjzfeknixcv1pYtW7R582Zt375dZ8+e1Ve+8hW1t7fH5iZMJKS/+Zu/MefPn+84Nm7cOPN73/tenK4Il7uTJ0+aksxt27aZpmmagUDAzMvLMx9//HG7TXNzs5mVlWU+88wz8bpMXCYaGxvNq666yqyqqjJLSkrMRYsWmaZJv0F4S5YsMadPnx72PH0Hodx6663mvffe6zj293//9+bcuXNN06TfIDRJ5pYtW+z3feknZ86cMVNSUszNmzfbbY4fP256PB7ztddei8l1k/FKQC0tLdqxY4dmzZrlOD5r1iy9/fbbcboqXO7q6+slSYMHD5Yk/elPf1JdXZ2jH3m9XpWUlNCPoAULFujWW2/Vl770Jcdx+g3C+eUvf6mpU6fqzjvv1LBhw3T99dfrJz/5iX2evoNQpk+frv/5n//RoUOHJEl//OMftX37dn35y1+WRL9B3/Sln+zYsUOtra2ONvn5+Zo0aVLM+lJyTL4FEfXJJ5+ovb1dubm5juO5ubmqq6uL01XhcmaapioqKjR9+nRNmjRJkuy+EqofffzxxzG/Rlw+Nm/erA8++EDV1dU9ztFvEM6RI0dUWVmpiooKLVu2TO+9957+6Z/+SV6vV9/4xjfoOwhpyZIlqq+v17hx45SUlKT29nb94Ac/0F133SWJf3PQN33pJ3V1dUpNTVV2dnaPNrEaPxN4JTDDMBzvTdPscQyQpIULF+r//u//tH379h7n6EcIduzYMS1atEhbt25VWlpa2Hb0G3QXCAQ0depUrVq1SpJ0/fXXa+/evaqsrNQ3vvENux19B8F+/vOf6/nnn9cLL7ygiRMnateuXVq8eLHy8/M1b948ux39Bn1xMf0kln2JqYYJKCcnR0lJST2i85MnT/aI9IEHHnhAv/zlL/Xmm29q5MiR9vG8vDxJoh/BYceOHTp58qSKioqUnJys5ORkbdu2TT/60Y+UnJxs9w36DbobPny4JkyY4Dg2fvx4u+gT/+YglH/5l3/R9773Pc2ZM0fXXnutvv71r+vBBx/U6tWrJdFv0Dd96Sd5eXlqaWnR6dOnw7aJNgKvBJSamqqioiJVVVU5jldVVemmm26K01XhcmOaphYuXKiXX35Zb7zxhgoLCx3nCwsLlZeX5+hHLS0t2rZtG/3IxW6++Wbt3r1bu3btsl9Tp07VPffco127dmn06NH0G4Q0bdq0HltWHDp0SFdccYUk/s1BaOfOnZPH4xyOJiUl2eXk6Tfoi770k6KiIqWkpDjanDhxQnv27IldX4pJCQ9E3ObNm82UlBRzw4YN5r59+8zFixeb6enpZk1NTbwvDZeJb3/722ZWVpb5u9/9zjxx4oT9OnfunN3m8ccfN7OyssyXX37Z3L17t3nXXXeZw4cPNxsaGuJ45bjcBFc1NE36DUJ77733zOTkZPMHP/iB+eGHH5qbNm0yBwwYYD7//PN2G/oOups3b545YsQI81e/+pX5pz/9yXz55ZfNnJwc87vf/a7dhn4D0+yotrtz505z586dpiRz7dq15s6dO82PP/7YNM2+9ZP58+ebI0eONF9//XXzgw8+ML/4xS+aU6ZMMdva2mJyDwReCew//uM/zCuuuMJMTU01b7jhBrtMOGCaHaVWQ702btxotwkEAuby5cvNvLw80+v1ml/4whfM3bt3x++icVnqHnjRbxDOK6+8Yk6aNMn0er3muHHjzPXr1zvO03fQXUNDg7lo0SJz1KhRZlpamjl69Gjz4YcfNv1+v92GfgPTNM0333wz5Lhm3rx5pmn2rZ+cP3/eXLhwoTl48GDT5/OZX/nKV8yjR4/G7B4M0zTN2OTWAAAAAMCdWOMFAAAAAFFG4AUAAAAAUUbgBQAAAABRRuAFAAAAAFFG4AUAAAAAUUbgBQAAAABRRuAFAAAAAFFG4AUAAAAAUUbgBQCApJqaGhmGoV27dkXtO8rLy3X77bdH7fcDAC5fBF4AgH6hvLxchmH0eJWVlfXp8wUFBTpx4oQmTZoU5SsFALhRcrwvAACASCkrK9PGjRsdx7xeb58+m5SUpLy8vGhcFgAAZLwAAP2H1+tVXl6e45WdnS1JMgxDlZWVuuWWW+Tz+VRYWKgXX3zR/mz3qYanT5/WPffco6FDh8rn8+mqq65yBHW7d+/WF7/4Rfl8Pg0ZMkT/+I//qLNnz9rn29vbVVFRoUGDBmnIkCH67ne/K9M0HddrmqaeeOIJjR49Wj6fT1OmTNFLL71kn7/QNQAAEgeBFwDANb7//e/rjjvu0B//+EfNnTtXd911l/bv3x+27b59+/Tqq69q//79qqysVE5OjiTp3LlzKisrU3Z2tqqrq/Xiiy/q9ddf18KFC+3PP/XUU/rpT3+qDRs2aPv27fr000+1ZcsWx3c88sgj2rhxoyorK7V37149+OCDmjt3rrZt23bBawAAJBbD7P7nNwAAElB5ebmef/55paWlOY4vWbJE3//+92UYhubPn6/Kykr73Oc+9zndcMMN+vGPf6yamhoVFhZq586duu666/TVr35VOTk5+ulPf9rju37yk59oyZIlOnbsmNLT0yVJv/nNb3TbbbeptrZWubm5ys/P16JFi7RkyRJJUltbmwoLC1VUVKRf/OIXampqUk5Ojt544w0VFxfbv/v+++/XuXPn9MILL/R6DQCAxMIaLwBAv1FaWuoIrCRp8ODB9s/BAY71PlwVw29/+9u644479MEHH2jWrFm6/fbbddNNN0mS9u/frylTpthBlyRNmzZNgUBABw8eVFpamk6cOOH4vuTkZE2dOtWebrhv3z41Nzdr5syZju9taWnR9ddff8FrAAAkFgIvAEC/kZ6errFjx36mzxiGEfL4Lbfcoo8//li//vWv9frrr+vmm2/WggULtGbNGpmmGfZz4Y53FwgEJEm//vWvNWLECMc5qyBIb9cAAEgsrPECALjGu+++2+P9uHHjwrYfOnSoPYXxhz/8odavXy9JmjBhgnbt2qWmpia77R/+8Ad5PB5dffXVysrK0vDhwx3f19bWph07dtjvJ0yYIK/Xq6NHj2rs2LGOV0FBwQWvAQCQWMh4AQD6Db/fr7q6Osex5ORkuyDFiy++qKlTp2r69OnatGmT3nvvPW3YsCHk73r00UdVVFSkiRMnyu/361e/+pXGjx8vSbrnnnu0fPlyzZs3TytWrNCpU6f0wAMP6Otf/7pyc3MlSYsWLdLjjz+uq666SuPHj9fatWt15swZ+/dnZmbqn//5n/Xggw8qEAho+vTpamho0Ntvv62MjAzNmzev12sAACQWAi8AQL/x2muvafjw4Y5j11xzjQ4cOCBJeuyxx7R582Z95zvfUV5enjZt2qQJEyaE/F2pqalaunSpampq5PP59PnPf16bN2+WJA0YMEC//e1vtWjRIt14440aMGCA7rjjDq1du9b+/EMPPaQTJ06ovLxcHo9H9957r/7u7/5O9fX1dpt//dd/1bBhw7R69WodOXJEgwYN0g033KBly5Zd8BoAAImFqoYAAFcwDENbtmzR7bffHu9LAQC4EGu8AAAAACDKCLwAAAAAIMpY4wUAcAVm1gMA4omMFwAAAABEGYEXAAAAAEQZgRcAAAAARBmBFwAAAABEGYEXAAAAAEQZgRcAAAAARBmBFwAAAABEGYEXAAAAAETZ/w/Rw7EC9ZbgGwAAAABJRU5ErkJggg==" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "# Now you can plot the data\n", + "# For example, plot the rewards\n", + "plt.figure(figsize=(10, 5))\n", + "plt.plot(slow_rewards_array, label='Rewards')\n", + "# plt.plot(slow_agrewards_array, label='Aggregated Rewards')\n", + "# plt.ylim(-20,0)\n", + "plt.legend()\n", + "plt.xlabel('Episodes')\n", + "plt.ylabel('Value')\n", + "plt.title('Slow agent')\n", + "plt.show()" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [], + "metadata": { + "collapsed": false + } + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/experiments/Analysis/slow_agentHP.ipynb b/experiments/Analysis/slow_agentHP.ipynb new file mode 100644 index 00000000..21fad0df --- /dev/null +++ b/experiments/Analysis/slow_agentHP.ipynb @@ -0,0 +1,489 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "outputs": [], + "source": [ + "import pickle\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from experiments.Analysis.maddpgRewards import recent_rewards" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-01-02T22:47:30.583286Z", + "start_time": "2024-01-02T22:47:30.540390Z" + } + } + }, + { + "cell_type": "code", + "execution_count": 3, + "outputs": [ + { + "ename": "FileNotFoundError", + "evalue": "[Errno 2] No such file or directory: '../learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL'", + "output_type": "error", + "traceback": [ + "\u001B[0;31m---------------------------------------------------------------------------\u001B[0m", + "\u001B[0;31mFileNotFoundError\u001B[0m Traceback (most recent call last)", + "\u001B[0;32m/var/folders/l2/bsmxrkc10x736tqpcsz1q6mw0000gp/T/ipykernel_49153/4067939375.py\u001B[0m in \u001B[0;36m\u001B[0;34m\u001B[0m\n\u001B[0;32m----> 1\u001B[0;31m \u001B[0mR0\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0m_\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mR0t\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0mrecent_rewards\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0;34m'../learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL'\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0m\u001B[1;32m 2\u001B[0m \u001B[0mR1\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0m_\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mR1t\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0mrecent_rewards\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0;34m'../learning_curves/slow_agent_I1_R1.50.0.01.128.1.0.FA.FL'\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m 3\u001B[0m \u001B[0mR2\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0m_\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mR2t\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0mrecent_rewards\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0;34m'../learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL'\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m 4\u001B[0m \u001B[0mR3\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0m_\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mR3t\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0mrecent_rewards\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0;34m'../learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL'\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m 5\u001B[0m \u001B[0;34m\u001B[0m\u001B[0m\n", + "\u001B[0;32m~/Development/Academic/UML/RL/Hasenfus-RL/Multi-Agent/maddpg/experiments/Analysis/maddpgRewards.py\u001B[0m in \u001B[0;36mrecent_rewards\u001B[0;34m(base_path, aggrew, valid)\u001B[0m\n\u001B[1;32m 37\u001B[0m \u001B[0;34m\"\"\"Get the rewards from the most recent directory.\"\"\"\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m 38\u001B[0m \u001B[0;31m# Get the directories\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0;32m---> 39\u001B[0;31m \u001B[0mdirectories\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0mget_directories\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mbase_path\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0m\u001B[1;32m 40\u001B[0m \u001B[0;31m# Filter out the directories that don't match the date and time pattern\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m 41\u001B[0m \u001B[0mdate_directories\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0mfilter_directories_by_date\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mdirectories\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mdate_format\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n", + "\u001B[0;32m~/Development/Academic/UML/RL/Hasenfus-RL/Multi-Agent/maddpg/experiments/Analysis/maddpgRewards.py\u001B[0m in \u001B[0;36mget_directories\u001B[0;34m(base_path)\u001B[0m\n\u001B[1;32m 9\u001B[0m \u001B[0;32mdef\u001B[0m \u001B[0mget_directories\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mbase_path\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m:\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m 10\u001B[0m \u001B[0;34m\"\"\"Get a list of all directories in the base path.\"\"\"\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0;32m---> 11\u001B[0;31m \u001B[0;32mreturn\u001B[0m \u001B[0;34m[\u001B[0m\u001B[0md\u001B[0m \u001B[0;32mfor\u001B[0m \u001B[0md\u001B[0m \u001B[0;32min\u001B[0m \u001B[0mos\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mlistdir\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mbase_path\u001B[0m\u001B[0;34m)\u001B[0m \u001B[0;32mif\u001B[0m \u001B[0mos\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mpath\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0misdir\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mos\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mpath\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mjoin\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mbase_path\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0md\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m]\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0m\u001B[1;32m 12\u001B[0m \u001B[0;32mdef\u001B[0m \u001B[0mfilter_directories_by_date\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mdirectories\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mdate_format\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m:\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m 13\u001B[0m \u001B[0;34m\"\"\"Filter out directories that match the date and time pattern.\"\"\"\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n", + "\u001B[0;31mFileNotFoundError\u001B[0m: [Errno 2] No such file or directory: '../learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL'" + ] + } + ], + "source": [ + "R0, _, R0t = recent_rewards('../learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL')\n", + "R1, _, R1t = recent_rewards('../learning_curves/slow_agent_I1_R1.50.0.01.128.1.0.FA.FL')\n", + "R2, _, R2t = recent_rewards('../learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL')\n", + "R3, _, R3t = recent_rewards('../learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL')\n" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-01-02T22:47:32.269580Z", + "start_time": "2024-01-02T22:47:32.212085Z" + } + } + }, + { + "cell_type": "code", + "execution_count": 8, + "outputs": [ + { + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkkAAAHHCAYAAACr0swBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABrSklEQVR4nO3dd1wT9/8H8FcYCUPC3iKiWHBbcRQVd8VVi1r9Vq0FtVpbta5atUs7HNWqtbXV2lZt+7NDbavWjVsLdS9UsA4cTBeEGSB8fn9gTiNRAYEQ8no+HnloLp/cve84khef+9ydTAghQEREREQ6zAxdABEREVFVxJBEREREpAdDEhEREZEeDElEREREejAkEREREenBkERERESkB0MSERERkR4MSURERER6MCQRERER6cGQRFVC7dq1ERERYegyqqWIiAh07Nix3Odbu3Zt9O7du9znW57i4+Mhk8mwatUqQ5dSLezduxcymQx79+59YtsjR46gTZs2sLW1hUwmw8mTJyu8vrLgZw89DkMSVagzZ87gpZdegq+vL6ysrODt7Y3nn38eX331laFLM1qzZ8/G+vXrK2z+KSkpePvttxEYGAgbGxvY2toiKCgIn376KdLS0ipsuVR95OfnY8CAAbhz5w4WLVqEn3/+Gb6+vgarJyoqCjNnzqxS+++qVasgk8mkh4WFBby9vREREYGEhAS97zl//jy6d++OGjVqwMnJCUOHDsXNmzcruXLTYmHoAqj6ioqKQqdOnVCrVi2MHDkSHh4euH79Ov79918sXrwY48aNM3SJRmn27Nl46aWXEBYWVu7zPnLkCHr27InMzEy88sorCAoKAgAcPXoUc+fOxf79+7Fjx45yX25F8fX1RU5ODiwtLQ1dikm5dOkSrl69iu+++w6vvfaaoctBVFQUPvroI0RERMDBwUHntbi4OJiZGa6/4OOPP4afnx9yc3Px77//YtWqVTh48CBiYmJgZWUltbtx4wbat28Pe3t7zJ49G5mZmfj8889x5swZHD58GHK53GDrUJ0xJFGFmTVrFuzt7XHkyJFiH0ypqamGKYoeKS0tDX379oW5uTlOnDiBwMBAnddnzZqF7777zkDVlY1MJtP5ojG0rKws2NraGrqMRxJCIDc3F9bW1k81H+3v98O/91WRQqEw6PJ79OiBFi1aAABee+01uLi44LPPPsPG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" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(R0, label='R0')\n", + "plt.legend()\n", + "\n", + "plt.xlabel('Episodes')\n", + "plt.ylabel('Value')\n", + "plt.title('Ant 2x4')\n", + "plt.savefig('../plots/slow_agent_changing_reward_R0.png')" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2023-12-12T02:04:04.749695Z", + "start_time": "2023-12-12T02:04:04.468933Z" + } + } + }, + { + "cell_type": "code", + "execution_count": 9, + "outputs": [ + { + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkkAAAHHCAYAAACr0swBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAByJUlEQVR4nO3dd1hT598G8DussIcQhooIouAeuEBxVFtw1FJHW60V1GprbX+uDrVDO6m11lrb11HraKu1rqpVa8Vtxb1RQUEBBREcbFnJ8/6BORoBBQwEkvtzXbkkZ+WbwyG5fc5zniMTQggQERERkQYjXRdAREREVBMxJBERERGVgiGJiIiIqBQMSURERESlYEgiIiIiKgVDEhEREVEpGJKIiIiISsGQRERERFQKhiQiIiKiUjAkUY3QsGFDhIWF6boMvRQWFoYePXpofbsNGzZE//79tb5dbYqPj4dMJsPy5ct1XYpe2Lt3L2QyGfbu3fvEZY8dO4aAgABYWVlBJpPh9OnTVV5fZfCzhx6HIYmq1Llz5zB48GB4eHjA3Nwc9erVw7PPPov58+frurRa66uvvsLGjRurbPs3b97Eu+++C19fX1haWsLKygp+fn744osvkJ6eXmWvS/qjsLAQQ4YMwZ07dzB37lz89ttv8PDw0Fk9kZGRmDlzZo06fpcvXw6ZTCY9TExMUK9ePYSFhSEpKanE8kePHsVbb70FPz8/mJqaQiaT6aBqw2Oi6wJIf0VGRqJnz55o0KABxowZA1dXV1y7dg2HDx/GvHnz8M477+i6xFrpq6++wuDBgxESEqL1bR87dgx9+/ZFdnY2hg8fDj8/PwDA8ePH8fXXX2P//v3YsWOH1l+3qnh4eODevXswNTXVdSkGJS4uDgkJCfj555/x+uuv67ocREZG4tNPP0VYWBjs7e015sXExMDISHftBZ999hk8PT2Rl5eHw4cPY/ny5fjvv/8QFRUFc3Nzablt27ZhyZIlaNWqFby8vHDp0iWd1WxIGJKoynz55Zews7PDsWPHSnwwpaam6qYoKlN6ejpefPFFGBsb49SpU/D19dWY/+WXX+Lnn3/WUXWVI5PJNL5odC0nJwdWVla6LqNMQgjk5eXBwsLiqbaj/vt+9O++JpLL5Tp9/T59+qB9+/YAgNdffx1OTk6YNWsWNm/ejJdeeklabty4cfjggw9gYWGBt99+myGpmvB0G1WZuLg4NG/evNQPSmdn5yeuf+XKFQwZMgR16tSBpaUlOnfujK1bt0rzhRBwcnLC5MmTpWkqlQr29vYwNjbWaFqfNWsWTExMkJ2dXebr3blzB++++y5atmwJa2tr2Nraok+fPjhz5kyJZRMSEjBgwABYWVnB2dkZkyZNwr///ltqf40jR44gODgYdnZ2sLS0RPfu3XHw4EGNZWbOnAmZTIbY2Fjpf7t2dnYYOXIkcnNzpeVkMhlycnKwYsUKqZleW/0pFi1ahKSkJHz33XclAhIAuLi44KOPPiox/b///kPHjh1hbm4OLy8v/Prrrxrzy7tf1f1d1qxZgy+//BL169eHubk5evXqhdjY2BKv+9NPP8HLywsWFhbo2LEjDhw4gB49emj0vyqtT1JYWBisra2RlJSEkJAQWFtbQ6FQ4N1334VSqdR4jdu3b+O1116Dra0t7O3tERoaijNnzpSrn5P6dMq+ffvw1ltvwdnZGfXr15fm//PPPwgMDISVlRVsbGzQr18/nD9/Xpq/efNmyGQynD17Vpq2fv16yGQyDBw4UOO1mjZtipdffll6vmzZMjzzzDNwdnaGXC5Hs2bNsGDBghI1qvuV/fvvv2jfvj0sLCywaNEiAMD169cREhKicYzn5+c/9j2r92/37t0BAEOGDIFMJpN+J4/+fh5ep2HDhtJz9e/t22+/xeLFi9GoUSPI5XJ06NABx44dK7F+dHQ0XnrpJSgUClhYWMDHxwcffvghgOK/rffeew8A4OnpKf3dxMfHS/vg0b+hJ332ABU/XssrMDAQQPHn58NcXFyeOrxSxbEliaqMh4cHDh06hKioKLRo0aJC6968eRMBAQHIzc3F//73Pzg6OmLFihUYMGAA1q1bhxdffBEymQxdunTB/v37pfXOnj2LjIwMGBkZ4eDBg+jXrx8A4MCBA2jbti2sra3LfM0rV65g48aNGDJkCDw9PXHz5k0sWrQI3bt3x4ULF1C3bl0Axa0BzzzzDG7cuIEJEybA1dUVq1atwp49e0psc/fu3ejTpw/8/PwwY8YMGBkZSV9gBw4cQMeOHTWWf+mll+Dp6Ynw8HCcPHkSS5YsgbOzM2bNmgUA+O233/D666+jY8eOGDt2LACgUaNGFdq3Zdm8eTMsLCwwePDgcq8TGxuLwYMHY/To0QgNDcXSpUsRFhYGPz8/NG/eHED596va119/DSMjI7z77rvIyMjAN998g1dffRVHjhyRllmwYAHefvttBAYGYtKkSYiPj0dISAgcHBw0gkhZlEolgoKC0KlTJ3z77bfYuXMn5syZg0aNGmHcuHEAigP3888/j6NHj2LcuHHw9fXFpk2bEBoaWu79AwBvvfUWFAoFPvnkE+Tk5AAo/j2GhoYiKCgIs2bNQm5uLhYsWICuXbvi1KlTaNiwIbp27QqZTIb9+/ejVatWAIqPYyMjI/z333/S9tPS0hAdHY23335bY/80b94cAwYMgImJCf7++2+89dZbUKlUGD9+vEZ9MTExGDp0KN544w2MGTMGPj4+uHfvHnr16oXExET873//Q926dfHbb79h9+7dT3y/b7zxBurVq4evvvoK//vf/9ChQwe4uLhUaJ+prVq1CllZWXjjjTcgk8nwzTffYODAgbhy5Yp0CvXs2bMIDAyEqakpxo4di4YNGyIuLg5///03vvzySwwcOBCXLl3CH3/8gblz58LJyQkAoFAoSn3N8nz2PKw8x2tFqMObg4NDpdYnLRNEVWTHjh3C2NhYGBsbC39/f/H++++Lf//9VxQUFJRY1sPDQ4SGhkrPJ06cKACIAwcOSNOysrKEp6enaNiwoVAqlUIIIWbPni2MjY1FZmamEEKIH374QXh4eIiOHTuKDz74QAghhFKpFPb29mLSpEmPrTcvL0/artrVq1eFXC4Xn332mTRtzpw5AoDYuHGjNO3evXvC19dXABB79uwRQgihUqlE48aNRVBQkFCpVNKyubm5wtPTUzz77LPStBkzZggAYtSoURqv/+KLLwpHR0eNaVZWVhr76klCQ0NF9+7dn7icg4ODaN26dbm36+HhIQCI/fv3S9NSU1OFXC4XU6ZMkaaVd7/u2bNHABBNmzYV+fn50vR58+YJAOLcuXNCCCHy8/OFo6Oj6NChgygsLJSWW758uQCg8V6vXr0qAIhly5ZJ00JDQwUAjdcWQoi2bdsKPz8/6fn69esFAPH9999L05RKpXjmmWdKbLM0y5YtEwBE165dRVFRkTQ9KytL2NvbizFjxmgsn5KSIuzs7DSmN2/eXLz00kvS83bt2okhQ4YIAOLixYtCCCE2bNggAIgzZ85Iy+Xm5paoJygoSHh5eWlMU/8Ot2/frjH9+++/FwDEmjVrpGk5OTnC29tb4xgvi/p3uXbtWo3p3bt3L/VYDA0NFR4eHtJz9e/N0dFR3LlzR5q+adMmAUD8/fff0rRu3boJGxsbkZCQoLHNh//mZs+eLQCIq1evlnjtyn72lPd4LYv6+Ni5c6dIS0sT165dE+vWrRMKhULI5XJx7dq1MtcdP3684Nd39eDpNqoyzz77LA4dOoQBAwbgzJkz+OabbxAUFIR69eph8+bNj11327Zt6NixI7p27SpNs7a2xtixYxEfH48LFy4AKG6aViqViIyMBFD8P+3AwEAEBgbiwIEDAICoqCikp6dLzdhlkcvlUgdOpVKJ27dvw9raGj4+Pjh58qS03Pbt21GvXj0MGDBAmmZubo4xY8ZobO/06dO4fPkyhg0bhtu3b+PWrVu4desWcnJy0KtXL+zfvx8qlUpjnTfffFPjeWBgIG7fvo3MzMzH1q4NmZmZsLGxqdA6zZo109ivCoUCPj4+uHLlijStvPtVbeTIkTAzM5Oeq7ev3ubx48dx+/ZtjBkzBiYmDxrDX3311Qr977u0ff1w3du3b4epqanG79XIyKhES8yTjBkzBsbGxtLziIgIpKenY+jQodIxcevWLRgbG6NTp04aLZIPH8dZWVk4c+YMxo4dCycnJ2n6gQMHYG9vr9Fa+/BpmYyMDNy6dQvdu3fHlStXkJGRoVGfp6cngoKCNKZt27YNbm5uGq2KlpaWUutldXn55Zc1fqePHgtpaWnYv38/Ro0ahQYNGmisW9mrv8r72aP2pOP1SXr37g2FQgF3d3cMHjwYVlZW2Lx5c7laRKnqMSRRlerQoQM2bNiAu3fv4ujRo5g2bRqysrIwePDgEh82D0tISICPj0+J6U2bNpXmA0C7du1gaWmp8YURGBiIbt264fjx48jLy5PmPfyhVxqVSoW5c+eicePGkMvlcHJygkKhkE7hPVxbo0aNSnwIe3t7azy/fPkyACA0NBQKhULjsWTJEuTn55f4wnr0g179BXH37t3H1q4Ntra2yMrKqtA6j9YLFNf8cL3l3a9lbfPRfaD+3T+6v01MTDT6tTyOubl5idMtj9adkJAANzc3WFpaaiz36Os+iaenp8Zz9XHxzDPPlDguduzYoXFRQ2BgIG7cuIHY2FhERkZCJpPB399fIzwdOHAAXbp00bhC6+DBg+jduzesrKxgb28PhUKB6dOnA0CpIelRCQkJ8Pb2LnGMl/Y3WZWedCyog0hFT+c/Tnk/e8pb45P89NNPiIiIwLp169C3b1/cunVL553J6QH2SaJqYWZmhg4dOqBDhw5o0qQJRo4cibVr12LGjBlPtV1TU1N06tQJ+/fvR2xsLFJSUhAYGAgXFxcUFhbiyJEjOHDgAHx9fcvsg6D21Vdf4eOPP8aoUaPw+eefo06dOjAyMsLEiRNLtPiUh3qd2bNno02bNqUu82gfqYdbHB4mhKjw61eUr68vTp8+jYKCAo3/GT9Oeeqt6H6tjn1Q1mtUhUc726rf82+//QZXV9cSyz/cOqYO9vv378eVK1fQrl07WFlZITAwED/88AOys7Nx6tQpfPnll9I6cXFx6NWrF3x9ffHdd9/B3d0dZmZm2LZtG+bOnVtin1dnZ2CZTFbq7/HRDvNquvx7KK+nrbFjx47S1W0hISHo2rUrhg0bhpiYmMf2oaTqwZBE1U79gXDjxo0yl/Hw8EBMTEyJ6dHR0dJ8tcDAQMyaNQs7d+6Ek5MTfH19IZPJ0Lx5cxw4cAAHDhwo18jQ69atQ8+ePfHLL79oTE9PT5c6e6pf+8KFCxBCaPxP+9ErWtQdqm1tbdG7d+8nvn55VdUgcs8//zwOHTqE9evXY+jQoVrbbnn3a3mpf/exsbHo2bOnNL2oqAjx8fFSJ+en5eHhgT179iA3N1ejNelprlwCHhwXzs7OTzwuGjRogAYNGuDAgQO4cuWKdCqnW7dumDx5MtauXQulUolu3bpJ6/z999/Iz8/H5s2bNVo5SruwoCweHh6IiooqcYyX9jdZEQ4ODqWehnq0daa8vLy8ABSfUn+civzNVOSzR9uMjY0RHh6Onj174scff8TUqVOr7LWofHi6jarMnj17Sv3f1LZt2wA8vum+b9++OHr0KA4dOiRNy8nJweLFi9GwYUM0a9ZMmh4YGIj8/Hx8//330hVB6um//fYbkpOTn9gfCSj+gHq03rVr15YY/TYoKAhJSUka/ary8vJKjCHk5+eHRo0a4dtvvy116IG0tLQn1lQaKyurKhk5+M0334SbmxumTJlS6hgsqamp+OKLLyq83fLu1/Jq3749HB0d8fPPP6OoqEiavnLlSq2elgwKCkJhYaHG71WlUuGnn3566u3a2triq6++QmFhYYn5jx4XgYGB2L17N44ePSodx23atIGNjQ2+/vprWFhYSIN+Ag9aNh7e5xkZGVi2bFm5a+zbty+Sk5Oxbt06aVpubi4WL15c7m2UplGjRoiOjtZ4j2fOnCkxJEZ5KRQKdOvWDUuXLkViYqLGvIffv3psqvL83VTks6cq9OjRAx07dsT333+PvLy8Kn0tejK2JFGVeeedd5Cbm4sXX3wRvr6+KCgoQGRkJP788080bNgQI0eOLHPdqVOn4o8//kCfPn3wv//9D3Xq1MGKFStw9epVrF+/XqP/hb+/P0xMTBATE6PRsbRbt27S2DDlCUn9+/fHZ599hpEjRyIgIADnzp3DypUrpf+tqr3xxhv48ccfMXToUEyYMAFubm5YuXKlNGihOqQZGRlhyZIl6NOnD5o3b46RI0eiXr16SEpKwp49e2Bra4u///67/Dv0Pj8/P+zcuRPfffcd6tatC09PT3Tq1KnC23mUg4MD/vrrL/Tt2xdt2rTRGHH75MmT+OOPP+Dv71/h7ZZ3v5aXmZkZZs6ciXfeeQfPPPMMXnrpJcTHx2P58uWl9hWrrJCQEHTs2BFTpkxBbGwsfH19sXnzZty5cwdA5Vv0bG1tsWDBArz22mto164dXnnlFSgUCiQmJmLr1q3o0qULfvzxR2n5wMBArFy5EjKZTDr9ZmxsjICAAPz777/o0aOHxunR5557DmZmZnj++efxxhtvIDs7Gz///DOcnZ0f23r7sDFjxuDHH3/EiBEjcOLECbi5ueG3334r0T+rokaNGoXvvvsOQUFBGD16NFJTU7Fw4UI0b9680hcn/PDDD+jatSvatWuHsWPHwtPTE/Hx8di6dat0vzj1cfzhhx/ilVdegampKZ5//vlSB/asyGdPVXnvvfcwZMgQLF++XLrAICEhAb/99huA4osXAEj/afHw8MBrr71W5XUZJJ1cU0cG4Z9//hGjRo0Svr6+wtraWpiZmQlvb2/xzjvviJs3b2os++hluEIIERcXJwYPHizs7e2Fubm56Nixo9iyZUupr9WhQwcBQBw5ckSadv36dQFAuLu7l6vevLw8MWXKFOHm5iYsLCxEly5dxKFDh0q9bPnKlSuiX79+wsLCQigUCjFlyhTpkvHDhw9rLHvq1CkxcOBA4ejoKORyufDw8BAvvfSS2LVrl7SMegiAtLQ0jXXVlwk/fOlydHS06Natm7CwsBAAnjgcQHmHAFBLTk4WkyZNEk2aNBHm5ubC0tJS+Pn5iS+//FJkZGRIy3l4eIh+/fqVWP/R/VXe/VrWZeOlXcYvxIPhHuRyuejYsaM4ePCg8PPzE8HBwY9dNzQ0VFhZWZWoW/07eFhaWpoYNmyYsLGxEXZ2diIsLEwcPHhQABCrV69+3G6UfnfHjh0rdf6ePXtEUFCQsLOzE+bm5qJRo0YiLCxMHD9+XGO58+fPS5eaP+yLL74QAMTHH39cYtubN28WrVq1Eubm5qJhw4Zi1qxZYunSpSWOpbJ+h0IIkZCQIAYMGCAsLS2Fk5OTmDBhgti+fftTDQEghBC///678PLyEmZmZqJNmzbi33//LXMIgNmzZ5dYH4CYMWOGxrSoqCjx4osvSp8VPj4+JfbL559/LurVqyeMjIw09kNlP3sqerw+6nHHh1KpFI0aNRKNGjWSho9Qv15pj4r8fVPFyISoQT3giGqx77//HpMmTcL169dRr149XZcjCQsLQ3x8fLnu3F6bqVQqKBQKDBw4sEpvn7Jx40a8+OKL+O+//9ClS5cqex0i0j32SSKqhHv37mk8z8vLw6JFi9C4ceMaFZD0VV5eXol+Tr/++ivu3LlT6m0vKuvR37NSqcT8+fNha2uLdu3aae11iKhmYp8kokoYOHAgGjRogDZt2iAjIwO///47oqOjsXLlSl2XZhAOHz6MSZMmYciQIXB0dMTJkyfxyy+/oEWLFhgyZIjWXuedd97BvXv34O/vj/z8fGzYsAGRkZH46quveB8tIgPAkERUCUFBQViyZAlWrlwJpVKJZs2aYfXq1Ro3GaWq07BhQ7i7u+OHH37AnTt3UKdOHYwYMQJff/11ucd4Ko9nnnkGc+bMwZYtW5CXlwdvb2/Mnz9f4z5pRKS/2CeJiIiIqBTsk0RERERUCoYkIiIiolKwT1IFqVQqJCcnw8bGpspuD0FERETaJYRAVlYW6tatW+5BQRmSKig5ORnu7u66LoOIiIgq4dq1a6hfv365lmVIqiAbGxsAxTvZ1tZWx9UQERFReWRmZsLd3V36Hi8PhqQKUp9is7W1ZUgiIiKqZSrSVYYdt4mIiIhKwZBEREREVAqGJCIiIqJSsE9SFVEqlSgsLNR1GTplamoKY2NjXZdBRERUKQxJWiaEQEpKCtLT03VdSo1gb28PV1dXjilFRES1DkOSlqkDkrOzMywtLQ02HAghkJubi9TUVACAm5ubjisiIiKqGIYkLVIqlVJAcnR01HU5OmdhYQEASE1NhbOzM0+9ERFRrVJrOm5/+eWXCAgIgKWlJezt7UtdRiaTlXisXr1aY5m9e/eiXbt2kMvl8Pb2xvLly7VWo7oPkqWlpda2Wdup94Wh988iIqLap9aEpIKCAgwZMgTjxo177HLLli3DjRs3pEdISIg07+rVq+jXrx969uyJ06dPY+LEiXj99dfx77//arVWQz3FVhruCyIiqq1qzem2Tz/9FACe2PKj7ihcmoULF8LT0xNz5swBADRt2hT//fcf5s6di6CgIK3WS0RERLVbrWlJKq/x48fDyckJHTt2xNKlSyGEkOYdOnQIvXv31lg+KCgIhw4dKnN7+fn5yMzM1HgQERGR/tOrkPTZZ59hzZo1iIiIwKBBg/DWW29h/vz50vyUlBS4uLhorOPi4oLMzEzcu3ev1G2Gh4fDzs5Oeri7u1fpe9CVsLAwqR+XqakpPD098f777yMvL09apjz9woiIiPSFTkPS1KlTS+1s/fAjOjq63Nv7+OOP0aVLF7Rt2xYffPAB3n//fcyePfupapw2bRoyMjKkx7Vr155qezVZcHAwbty4gStXrmDu3LlYtGgRZsyYIc0vb78w0n/3CpQoUqp0XQYRUZXSaZ+kKVOmICws7LHLeHl5VXr7nTp1wueff478/HzI5XK4urri5s2bGsvcvHkTtra20uXqj5LL5ZDL5ZWuoTZR7yMAcHd3R+/evREREYFZs2YBKH+/MNJvZ66lY/gvR9DExQZ/ju0ME2O9apAmMngZuYX483giAhsr0NTNVtfl6JROQ5JCoYBCoaiy7Z8+fRoODg5SyPH398e2bds0lomIiIC/v3+V1SCEwL1CZZVt/3EsTI0rfXVZVFQUIiMj4eHhoeWqqDaLv5WDUcuPISuvCCcS7uL3wwkI6+Kp67KIapwipQoL98UhM68IQc1d0dbdHkZGNf9q3+iUTIz99QQS7+TCzPgSpvbxxcguDQ32SuVac3VbYmIi7ty5g8TERCiVSpw+fRoA4O3tDWtra/z999+4efMmOnfuDHNzc0REROCrr77Cu+++K23jzTffxI8//oj3338fo0aNwu7du7FmzRps3bq1yuq+V6hEs0+0O8RAeV34LAiWZuX/FW/ZsgXW1tYoKipCfn4+jIyM8OOPP1ZhhVSb3M7OR9iyo7idUwAHS1PczS3EnB2X0LeVG5xtzHVdHlGNkZVXiLdXncK+S2kAgMX7r8DNzhx9W7qhb0u3GhuY/jl3A1PWnkFugRKWZsbILVDisy0X8F/sLcwe3AqO1oZxVuVhtaad/JNPPkHbtm0xY8YMZGdno23btmjbti2OHz8OoPhmqj/99BP8/f3Rpk0bLFq0CN99951GnxpPT09s3boVERERaN26NebMmYMlS5bw8v/71ONHHTlyBKGhoRg5ciQGDRqk67KoBsgtKMKoFccRfzsX9R0s8M+EbmhV3w5Z+UX4autFXZdHVGNcv5uLwQsOYd+lNJibGqFvS1dYy01wIyMPv/x3FYMWRKLLrN347O8LOJFwFyqVePJGq5hSJfDtvzEYt/IkcguU6OrthP8+eAafvdAcZiZG2B2dij7zDiAy7laV15KWlY9PNkVh7fGa0f9XJh6+Rp6eKDMzE3Z2dsjIyICtrea52ry8PFy9ehWenp4wNy/+n3VtOd0WFhaG9PR0bNy4EQCgUqnQunVrTJw4EaNHj9ZYdvny5Zg4cWK5buJb2j6h2qVIqcIbv53AruhU2FuaYv24ADRSWOPs9XS88NNBCAH8MaYz/BvxVjxk2M5cS8foFcdxKzsfChs5fgltj1b17ZFXqMT+S2nYdu4Gdl5MRXZ+kbSOm505+rRwQ79WumlhyrhXiEl/nsbu6OL7bI7t5oX3g3ykvoYXkjPxzh8nEZeWA5kMGN/DGxN7N9Z6X8SsvEL8vP8Klvx3FbkFSrjYyrH//Z6Qm2jvdlaP+/4uS6053VZbyWSyCp3yqimMjIwwffp0TJ48GcOGDSuzYzvpNyEEPt50HruiUyE3McIvoe3RSGENAGhV3x7DOjbAyiOJ+GRTFLZNCIQpO3GTgfrn3A1MWnMaeYUq+LraYGlYB9S1L/7cNDc1xnPNXfFcc9cSgelGRh6WHryKpQevVntgik3NwphfT+DqrRzITYzwzeBWeKFNPY1lmtW1xd/vdMVnf1/A6mPX8OOeWETG3cK8V9rCvc7T34Irv0iJVUcSMX93LO7kFAAAWrvbY2qwr1YDUmXxE43KNGTIEBgbG+Onn34CUNwv7PTp0xr9wk6fPo3s7GwdV0pV5ac9sfjjaCJkMmDeK23h51FHY/57QT6oY2WGy6nZWPrfVR1VSaQ7Qggs3BeHcStPIq9QhR4+CqwbFyAFpEepA9P3r7TF8Y96Y/FrfghpU1c6Jbf0oOYpueiUqhnAeMf5FIT8FImrt3JQz94C68cFlAhIapZmJvh6UCvMH9oWNnITnExMR98fDmDbuRuVfn2VSmDjqST0mrMPn/59AXdyCuDlZIWFw9th41sBNaZlmqfbKqiip9tqi0dPt6l9/fXX+O6773D16lWMHz8eK1asKLHunj170KNHj1K3W5v3iaFbd+I63l17BgDw6YDmCA1oWOpya45fw/vrzsLSzBg7J3cv88uBSN8UKlX46K8o/Hm//0yovwc+7t+sUqeiHndKrkNDBwzv7IE+LdxgZvJ0bRsqlcC8XZcxb9dlAEBnrzr4aVi7cnfKvnYnF/9bfQqnEtMBAEM7NsAn/ZvBwqx8rT5CCOy7lIZZ22Nw8UZxAHS2kWPSs00wxK9+lQ4pUpnTbQxJFaSvIamqcJ/UTvsvpWHU8mMoUgm80d0L0/o0LXNZlUrgpUWHcDzhLvq0cMWC4X7VWCmRbmTkFmLcyhOIjLsNIxnwSf9mWhsOQx2Y/jqVhB0XbkJ5v3O3k7UZXu7gjmGdPFCvEv8ZycorxKQ/z2DnxeLxAkd2aYjpfZtW+DR5oVKFuRGXsGBfHIQAGjtbY/6wtvB1fXzwOH0tHbP+icahK7cBADbmJnizeyOM6uJZ7pD1NBiSqgFDUsVwn9Q+UUkZeHnRIeQUKBHSpi6+e6nNE/tGXLyRif7z/4NSJbBiVEd0b1J1459R9bmbU4Co5AycTy7+H/+rnRrAxtxUx1XpXuLtXIxcfhRxaTmwMjPG/GFt8Yyvy5NXrISbmXn442gi/jiaiJuZ+QAAIxnwjK8LXvP3QKC3U7n6Ll1Jy8aYX48jLi0HZiZG+OrFlhjsV/+pajsYewsT/zyNtKx8mJkY4eN+TTG8s0eJC4aupGXj2x0x2HYuBQBgZmKEUH8PvNXDGw5WZk9VQ0UwJFUDhqSK4T6pXa7dycXABZFIy8pHQCNHLB/ZsdzN+5/9fQFLD15FQ0dLbJ/YDeamuu90SeWXmpmHqOQMRCVlIiqpOBglpWve07KhoyV+HNYOLerZ6ahK3TuRcAdjfj2BOzkFcLMzxy+hHdCsbtWPSl2oVGHnhZv47XACIuNuS9MbOlpieGcPDParD3vL0gPH7uibmPDHaWTlF8HNzhwLh/uhtbu9Vuq6nZ2Pd9eewZ6Y4jGhgpq7YNagVrC3NENqZh6+33UZfx67BqVKQCYDBrWrj0nPNqlUS9jTYkiqBgxJFcN9UjUKilTYE5MKewtTdPSso5XRcO/mFGDQwkhcScuBr6sN1rzpD9sKtBpk5RWi15x9SM3Kx+Rnm+B/vRo/dU2kfUIIXL97D+fVgej+v7ey80tdvqGjJZrXtcPpa+lISr8HM2MjfNivKUb4l2wx0HebTifhvXVnUVCkQot6tvgltANcbKv/cy02NRu/H07A+hPXkXW/75LcxAgDWtfFa/4eaFXfHkDxqfCf9sTiu52XIERx36b/e9UPChvtDgqpUgksPXgVs7ZHo1Ap4GZnjuAWrlh99Jo0BE7vps54L8gXPq42Wn3timBIqgYMSRXDfaJ9kXG38PHGKMSl5QAAGtSxxGC/+hjYrh7qO1Tukty8QiVeXXIEJxLuoq6dOTa81QWudhX/fW06nYQJq09DbmKEnZO7a+USYXp62flFWLz/Ck4k3EFUUiYy7hWWWMZIBng7W6N5XTs0r2uLFvXs0KyurRSU03ML8N66s4i4UNyfJbi5K2YNbgU7C/0//SaEwPzdsfgu4hIA4NlmLpj3ShudD++SW1CETaeT8duhBFy48eAquNb17fBqJw/sjk7F9vPFp7he61zcqfxpO34/zrnrGXjnj5OIv50rTWvXwB5T+zRFR886j1mzejAkVYPyhKSGDRtyXKH77t27h/j4eIYkLUjLysdX2y7ir1NJAIA6VmYoKFJJV8HIZEBAI0cM8XNHUHPXcneEVKoE3lp5Av+evwlbcxOsGxeAJi6V+9+eEALDfj6CQ1du4xlfZ/wS2l6rrQ1KlcCa49fgYGmK4BZuWtuuPktOv4dRy48hOiVLmmZqLEMTFxu0qGuHFvVs0byeHZq62j7xmBFCYNnBeIT/cxGFSoH6DhaYP7Qt2jZwqOq3oTP5RUpMW38OG+7/3Y0J9MTUPk1hXINuKyKEwMnEdPx+OAFbz95AgVIlzTMzNsJnLzTHKx0bVEst2flF+HLrRcSkZOLN7o3wbDOXGtPiyJBUDR63k5VKJS5dugRnZ2c4OtaMMR507fbt20hNTUWTJk1gbMw+KpWhVAmsOpKAb/6NQVZeEWQyYHgnD7z7nA9MTWTYHpWCdSeua/RTsJGboH9rNwz2c0e7BvZlfkgJITBz83msOJQAM2Mj/Dq6Izp7Pd2xG5uahT7zDqBQKbD4NT8819z1qbandjs7HxNWn8Z/scW3Rlg/LgB+Hvr75awNZ68XjwCdlpUPJ2s5Jj3bGK3r26Oxi/VTDdR39no63l51Col3cmFiJMMHwb54PdCzxnwZPolSJZBXqCx+FKlwr6D45/wiJfIK7z+///OaY9dwNP4OjI1k+OyF5ni1U82+6fft7HysOX4dq44mQKUCfhjaln8n9zEkVYMn7eQbN24gPT0dzs7OsLS0rDUfGtomhEBubi5SU1Nhb28PNzf+r78yzl3PwEcbz+HM9QwAQMt6dvgipEWpnS6v3cnF+pPXse7EdVy/+6DDbSOFFQb7uWNgu3ol+k8s3BeHr/+JBgD8OKwt+reqq5W6Z22PxoK9cahnb4Gdk7s/9eW9p6+l463fTyA5I0+a5utqg7/f6cpRvsvw7/kUTFh9CnmFKvi42OCXsPaVPh1bmsy8Qkxbfw5b7w8o2MvXGd8Oaa31q5WEELibW4jsvCJk5xcht6D435x8JXIKipCTf/9RoERO/v1l7s9T/5xbWIS8QpUUjAqVFfvas5Gb4KdX26FbLbtqUwhhsN9BpWFIqgZP2slCCKSkpJTrvmaGwN7eHq6urvxDraDMvELM+TcGvx1OgEoUf0i/G+SD4Z09ntjMr1IJHLl6B2tPXMM/51KkjpNGMqBbEwWG+LmjdzNnbI9KwYTVpwEAH/VritcDvbRWf25BEZ79bj+S0u9hfM9GeC/It1LbEUJg1dFEfLr5AgqUKng6WSF8YEuM+/0E7uYWYmofX7zZvZHW6tYHQgj8fOAKwv+JhhBA9yYK/DisbZVcui+EwMojifhsywUUFKngZmeOH4a2RYeGT9f/RAiBc0kZ+CcqBf+cu6HRx0XbzEyMYG5iBHNTY1iYGcPcxBjmpkaQmxrD3NQYjlZmeKtHIzSu5CloqjkYkqpBeXeyUqlEYWHJzpGGxNTUlKfYKkgIgc1nkvH5lovS1UYvtKmLD/s1hbNNxft0ZecXYevZZKw7cR3H4u9K0+0sTJFbUIRCpcCoLp745PlmWnsPatujUvDm7ydgaizD9ondpHu+lVdeoRIfbYzCuhPXAQDPNXPBty+1hq25KdYev4b31p2FuakRIiaxg7haoVKFTzadxx9HEwEAwzs3wMznm1fpKMZA8U1Q3151Eldu5cDYSIbJzzbBuO6NKnTvMZVK4GTiXfwTlYLtUSklhh+wMDWGldwE1vLif63MTGCl8fODeZbqn+9Pfzj8PPjZGHITo2q/oSzpDkNSNajMTiYqj7i0bHyyKQoHY4v7Fnk5WeHzkBbo4u2kle1fvZWDdSeuYf2JJKRkFp+26tfSDfOHtq2SLwohBEYuP4a9MWno6u2E30Z3LHeLYuLtXLz5+wlcuJEJIxnwXpAv3uzuJa0vhMAriw/jyNU76OmjwNKwDgbfWplxrxDjV57Ef7G3IJMBH/VrhlFdGlbbfsnOL8JHf53DxtPJAIDAxk6Y+3IbOD3mdhdFShWOXr2Df6JS8O/5FKRmPRiGwNLMGD19nBHcwhU9fZ1hLa99NwqnmoUhqRowJJG25RUq8dOeWCzadwUFShXkJkZ4u6c3xnb3qpK7YCtVAv/F3kLinVy81L5+ld5pO+F2Dp6dux8FRSrMH9oWz7d+cp+nPdGpmLD6FDLziuBoZYb5Q9sioJSgGJuajb7zDqBAqcJPw9qhXyvD7fd27U4uRi0/hsup2bA0M8YPr7RF72ZVMwL04wghsPbEdXyyKQp5hSoobOSY90obBDR68PsrKFIhMu4WtkelYMeFm9Kd34Hi08q9m7kguIUrujdRcEBS0iqGpGrAkETatCc6FZ9sjsK1O8WnFnr6KPDpgBZo4Kg/p4++33kJ3++8DBdbOXZN6VFmi4Dy/o03f7h/48027vZYMLwd3OzKHk7ju4hL+GHXZTjbyLFzSvcKDX6pL04m3sWYFcdxO6cALrZy/BLaQecjYl+6mYXxK0/icmo2jGTAO880RvO6ttgelYKIizeRlffg5q0OlqZ4tpkL+rRwQ4C3Y5WGdjJsDEnVgCGJKiuvUInolCycS8pA1PUMnLmeLo1d42ZnjhnPN0NQc/3r5J5XqETQ9/uRcDsXr3f1xEf9S/Z/Ss8twITVp7HvUvGtDV7r7IGP+jd94hdmXqESfeYdwNVbORjh74HPXmhRJe+hptpyNhlT1pxBfpEKzdxs8UtY+8eGyup0r0CJGZujsOb49RLznKzlCG5RHIw6edap8j5TRABDUrVgSKLyyCtU4uKN4ntgnUvKwLmkTFy+mYUileafm7GRDKO6NMTE3k1gpcd9LvbEpGLksmMwNpJh6/+6atwtPCopA2/+fgLX796DuWnxjTcHtiv/jTcjY29h2JIjkMmAv97qgjZauidVTSaEwP/tjcPsf2MAFN/yYd4rbWvkMfTXqev4ZON52JibIKiFK/q0cIOfh0ONGoyRDANDUjVgSKJH5RUqcUEdiK4Xh6LLqdlQqkr+adWxMkOLenZoWc8WLevZoV0DBzjr4N5PuvDGb8fx7/mb6NiwDv58ozNkMhnWHLuGjzZFoaBIBQ9HSyx41a9SNwud/OdpbDiVhKZutvj77S563TJRUKTC9L/OSVf9jeriiQ/71awRoB9VpFTB2Eimd62kVLtU5vu75v23g6iWiEnJwgfrz+JcUkapgchRCkR2xf/Wt0NdO3OD/aL45Pnm2H/pFo7G38EfR6/hXFI6/jh6DUBxS8icl9pU+j5gH/Zrit0xqbh4IxPLDsZjTDftjflUk6TnFuCN307gyNU7MJIBnw5ojtf8G+q6rCfS59BK+o0tSRXEliQCgCtp2Xhp0WFpLCMn60cCUT07uBlwICrLgr1xmLU9WnoukwFTnm2Ct3p4P/UwBH8eS8QH68/BwtQYEZO7aXV06Zog/lYORi0/hiu3cmAtN8GPw9qih4+zrssiqjXYkkRUDZLS72H4kiO4lZ0PX1cb/DyiPeo7WDAQlcPorp5Yf/I6YlOz4WBpinmvtNXarR6G+Llj/YkkHI2/g5mbz+PnEdq9ua4u3c7Ox9CfD+NGRh7q2plj6cgOGv26iKhqsA2UqAJSs/Lw6s+HkZyRBy8nK/w2uhPc6xjuPfoqyszECEtGtMf/nvHG3+901eq9sIyMZPjyxRYwNZZh58VU/Hv+pta2rUtKlcDEP0/jxv1jbuP4LgxIRNWEIYmonO7mFOC1JUcRfzsX9ewt8PvrnaCwKXs0YSpdQycrTH7Op0pOhzV2scEb3Yrv5TZz83lk5dX+WwP9sOsyDly+BQtTYywY7mcwHf2JagKGJKJyyMorRNiyo4i5mQVnGzlWjemEuvY1Yzwa0vT2M97wcLRESmYe5uy4pOtynsq+S2n4YXfx4JpfvtgCPq68ySpRdWJIInqCewVKjF5xHGeuZ8DB0hS/v94JHo5Wui6LymBuaowvQooHlfz1UDzOXk/XbUGVlJx+DxNXn4IQwLBODSo0dhQRaQdDEtFj5Bcp8ebvJ3D06h3YyE3w66hOaOLC/83XdIGNFXihTV2oBDD9r3MoUqp0XVKFFBSpMH7VSdzNLUSLerb4pJRRyomo6jEkEZWhSKnChD+Kb5VhbmqEpSM7oGV93d4Ti8rvo37NYGtugqikTPx6KEHX5VRI+D8XcSoxHbbmJljwqh9v9EqkIwxJRKVQqQTeX38W28+nwMzYCD+PaI8ODevouiyqAIWNHNP6NgUAzNkRg+T0ezquqHy2nr2BZQfjAQDfvdQG7nX0a7wnotqEIYnoEUIIzNh8HhtOJsHYSIb5w9oisLH2LlWn6vNye3e093BAToESMzef13U5TxSXlo33150BAIzr0Qi9m7nouCIiw8aQRPQQIQRmbY/Bb4cTIJMBc4a0RlBzV12XRZVUPHZSS5gYybDjwk3sOJ+i65LKlFtQhHG/n0BOgRKdPOtgyrNNdF0SkcGrNSHpyy+/REBAACwtLWFvb19i/vLlyyGTyUp9pKamAgD27t1b6vyUlJr7wUnV6//2xmHhvjgAwBchLRDStp6OK6Kn5eNqg7H37+U2c/N55OQX6biikoQQ+OivKFy6mQ2FjRzzh7Xl/c6IaoBac1uSgoICDBkyBP7+/vjll19KzH/55ZcRHBysMS0sLAx5eXlwdta8v1FMTIzGfVsenU+GadnBq5j9bwwAYHpfX7zayUPHFZG2vPNMY/x9NhnX7tzD3IhL+OiRq8WUKoGsvEKk5xYi414h0u8VIj23AJn3NKdl3CtEPXsLvNm9EVzttDeo4+pj17Dh1P3Tu0PbwtmGA0YS1QS1JiR9+umnAIpbjEpjYWEBC4sHg/ulpaVh9+7dpQYqZ2fnUlujyHCtOXYNn/59AQDwv16NMfb+qM2kHyzMjPH5Cy0QtuwYlh68iuiUrPvBpwAZuYXIzKtY69Kfx65hbDcvvNHdC5ZmT/cxGpWUgRn3+0u9F+SDzl6OT7U9ItKeWhOSKurXX3+FpaUlBg8eXGJemzZtkJ+fjxYtWmDmzJno0qVLmdvJz89Hfn6+9DwzM7NK6iXd2XI2GVM3nAVQfAPWSb0b67giqgo9fJzxfOu6+PtMMv6LvVXqMlZmxrCzMIWdpRnsLExgb2EGOwtT2FuawtbCFDbmJth8OhnHE+5i3q7L+ONoIt4N8sGgdvVhbFTx+/dl5BZi3MoTKChSoXdTF4wN9Hrat0lEWqS3IemXX37BsGHDNFqX3NzcsHDhQrRv3x75+flYsmQJevTogSNHjqBdu3albic8PFxqxSL988+5G5i4+jRUAnilgzs+6teUN6vVY18PbImu3o4wNTaCvaUp7B4OQeamMDN5cj+g1zp74J+oFIT/cxHX7tzD++vOYvnBeHzUrykCvJ3KXYtKJTBl7Rlcu3MP7nUsMGdIaxhVImgRUdWRCSGErl586tSpmDVr1mOXuXjxInx9faXny5cvx8SJE5Genl7mOocOHUJAQACOHz8OPz+/x26/e/fuaNCgAX777bdS55fWkuTu7o6MjAyNfk1UewghcCjuNr7fdRlHr94BAAxoXRdzX25TqdYAMkz5RUqsiIzH/N2xyLp/uq53UxdM6+uLRgrrJ66/cF8cvv4nGmYmRtgwLgAt6nGgUqKqlJmZCTs7uwp9f+u0JWnKlCkICwt77DJeXhVvfl6yZAnatGnzxIAEAB07dsR///1X5ny5XA65nHd61wdCCByMvY15uy7hWPxdAICZsRFe7dwA0/s2ZUCiCpGbGGNst0YY7OeOeTsv4fcjidh58Sb2xqRieGcPTOjVGA5WZqWue/jKbekigZnPN2dAIqqhdBqSFAoFFArtDtKXnZ2NNWvWIDw8vFzLnz59Gm5ublqtgWoWIQQOXL6Febsu40TC/XBkYoShHdzxZo9GcLOzeMIWiMpWx8oMn77QAq/5N0T4tovYFZ2K5ZHx2HDyOt55pjFGBHhAbvLgtiKpWXl4549TUKoEBrarh6Ed3XVYPRE9Tq3pk5SYmIg7d+4gMTERSqUSp0+fBgB4e3vD2vpB0/aff/6JoqIiDB8+vMQ2vv/+e3h6eqJ58+bIy8vDkiVLsHv3buzYsaO63gZVIyEE9l1Kw7xdl3EqMR1AcTga1rGB1i/hJvJ2tsYvYR1wMPYWvth6ERdvZOLLbRfx2+EETO3jiz4tXKFUCfzvj1NIy8qHj4sNvghpwT5wRDVYrQlJn3zyCVasWCE9b9u2LQBgz5496NGjhzT9l19+wcCBA0u9xL+goABTpkxBUlISLC0t0apVK+zcuRM9e/as6vKpGgkhsDcmDd/vuowz19IBAHITI7zayQNvdveCsy3DEVWdLt5O2PJOV6w/cR2zd8Qg8U4u3lp5Eu09HODpZIXDV+7AyswY/ze83VMPH0BEVUunHbdro8p0/KLqIYTAroup+GH3ZZy9ngEAMDc1wvBOHhjb3YsD9FG1y8kvwqJ9cVh84AryClXS9B+HtUX/VnV1WBmR4al1HbeJtEEIgYgLN/HD7suISioex8rC1Biv+XtgTKAXFDbseE+6YSU3weTnfDC0UwPM/jcGG08l4Y3ujRiQiGoJtiRVEFuSapa4tGz8749TOJ9cHI4szR6EIydrhiOqWQqKVOUai4mItI8tSWRQ7uQUIGzZUVy7cw9WZsYYEdAQYwK9UKeMy66JdI0Biah2YUiiWqmgSIU3fz8hjVa8flwA+xwREZFW8b81VOsIIfDJpigcvXoH1nIT/BLagQGJiIi0jiGJap1lB+Ox+tg1yGTAD0PboImLja5LIiIiPcSQRLXK3phUfLH1AgBgep+meMbXRccVERGRvmJIolojNjUL76w6BZUAhvjVx+uBnrouiYiI9BhDEtUKd3MKMHrFcWTlF6FDQwd88SJv50BERFWLIYlqvEKlCuNWnkDC7VzUd7DAwuF+GjcMJSIiqgoMSVSjCSEwY/N56X5Xv4R2gCMHiSQiomrAkEQ12orIeKw6knj/Sra28HHllWxERFQ9GJKoxtp/KQ2fbSm+km1qsC96NeWVbEREVH0YkqhGik3NxvhVJ6ESwKB29TG2m5euSyIiIgPDkEQ1TnpuAV5fcQxZeUXw83DAVwN5JRsREVU/hiSqUQqVKry18iTib+einr0FFr3GK9mIiEg3GJKoRvn07/OIjLsNSzNjLAltDydeyUZERDrCkEQ1xq+H4vH74eIr2b5/uQ2autnquiQiIjJgDElUIxy4nIZP/y6+ku29IB8819xVxxUREZGhY0ginbuSlo3xK09CqRIY2LYexnVvpOuSiIiIGJJIt4qUKoz97QQy84rQtoE9vhrYkleyERFRjcCQRDoVceEmYlOz4WBpikWv+cHclFeyERFRzcCQRDq1PDIeADCsUwM425jrthgiIqKHMCSRzly8kYkjV+/A2EiG4Z09dF0OERGRBoYk0plfD8UDAIKau8DNzkK3xRARET2CIYl0IiO3EH+dSgIAjPBvqNtiiIiISsGQRDqx5vg15BWq4Otqg06edXRdDhERUQkMSVTtlCqBXw/HAwBCAxrykn8iIqqRGJKo2u2JTsW1O/dgZ2GKkDb1dF0OERFRqRiSqNqtuN9h++UO7rAw47hIRERUM9WKkBQfH4/Ro0fD09MTFhYWaNSoEWbMmIGCggKN5c6ePYvAwECYm5vD3d0d33zzTYltrV27Fr6+vjA3N0fLli2xbdu26nobBCA2NRsHLt+CTAa8xsv+iYioBqsVISk6OhoqlQqLFi3C+fPnMXfuXCxcuBDTp0+XlsnMzMRzzz0HDw8PnDhxArNnz8bMmTOxePFiaZnIyEgMHToUo0ePxqlTpxASEoKQkBBERUXp4m0ZJPVl/718XeBex1K3xRARET2GTAghdF1EZcyePRsLFizAlStXAAALFizAhx9+iJSUFJiZmQEApk6dio0bNyI6OhoA8PLLLyMnJwdbtmyRttO5c2e0adMGCxcuLNfrZmZmws7ODhkZGbC1tdXyu9JvWXmF6PzVLuQUKPH76E7o2thJ1yUREZGBqMz3d61oSSpNRkYG6tR5cOn4oUOH0K1bNykgAUBQUBBiYmJw9+5daZnevXtrbCcoKAiHDh2qnqIN3LoT15FToIS3szW6eDvquhwiIqLHqpUhKTY2FvPnz8cbb7whTUtJSYGLi4vGcurnKSkpj11GPb80+fn5yMzM1HhQxalUAr8dSgAAhPp78LJ/IiKq8XQakqZOnQqZTPbYh/pUmVpSUhKCg4MxZMgQjBkzpsprDA8Ph52dnfRwd3ev8tfURwdib+HKrRzYyE0wsF19XZdDRET0RCa6fPEpU6YgLCzssct4eXlJPycnJ6Nnz54ICAjQ6JANAK6urrh586bGNPVzV1fXxy6jnl+aadOmYfLkydLzzMxMBqVKWBEZDwAY3L4+rOQ6PeyIiIjKRaffVgqFAgqFolzLJiUloWfPnvDz88OyZctgZKTZCObv748PP/wQhYWFMDU1BQBERETAx8cHDg4O0jK7du3CxIkTpfUiIiLg7+9f5uvK5XLI5fIKvjN6WMLtHOyJSQXA+7QREVHtUSv6JCUlJaFHjx5o0KABvv32W6SlpSElJUWjL9GwYcNgZmaG0aNH4/z58/jzzz8xb948jVagCRMmYPv27ZgzZw6io6Mxc+ZMHD9+HG+//bYu3pbB+PVQAoQAujdRwNPJStflEBERlUutOO8RERGB2NhYxMbGon59zf4s6hEM7OzssGPHDowfPx5+fn5wcnLCJ598grFjx0rLBgQEYNWqVfjoo48wffp0NG7cGBs3bkSLFi2q9f0Ykpz8Iqw5fg0AEBbQULfFEBERVUCtHSdJVzhOUsX8fjgBH22MQkNHS+ye0gNGRryqjYiIqp9BjZNENZ8QQhph+zX/hgxIRERUqzAkUZU5FHcbl25mw9LMGEPa87J/IiKqXRiSqMqsuN+KNLBdPdiam+q2GCIiogpiSKIqcf1uLiIuFI9JFcrL/omIqBZiSKIq8fvhRKgE0MXbEY1dbHRdDhERUYUxJJHW5RUqsfpYIgC2IhERUe3FkERat/l0MtJzC1HfwQK9mro8eQUiIqIaiCGJtEoIgeX379P2WmcPGPOyfyIiqqUYkkirjifcxYUbmTA3NcLLHXgjYCIiqr0Ykkir1K1IIW3qwd7STLfFEBERPQWGJNKalIw8bI8qvunwCHbYJiKiWo4hibRm5ZEEKFUCHRvWQbO6vK8dERHVbgxJpBX5RUr8cfT+Zf8BDXVbDBERkRYwJJFWbDt3A7eyC+Bqa47nmvOyfyIiqv0YkkgrlkcmAACGd24AU2MeVkREVPvx24ye2ulr6ThzLR1mxkZ4pWMDXZdDRESkFQxJ9NS2nEkGAPRr5QYna7mOqyEiItIOhiR6arey8wEAzdx4RRsREekPhiR6ahn3CgEAdhamOq6EiIhIexiS6KmpQ5ItQxIREekRhiR6aulsSSIiIj3EkERPLZMhiYiI9BBDEj0VIcSDPkmWDElERKQ/GJLoqdwrVKJQKQAA9mxJIiIiPcKQRE9F3YpkYiSDpZmxjqshIiLSHoYkeioPX/4vk8l0XA0REZH2MCTRU8nIZadtIiLSTwxJ9FQ4RhIREekrhiR6KhwjiYiI9BVDEj0VjpFERET6iiGJnor6dJs9x0giIiI9UytCUnx8PEaPHg1PT09YWFigUaNGmDFjBgoKCqRl9u7dixdeeAFubm6wsrJCmzZtsHLlSo3tLF++HDKZTONhbm5e3W9Hr/DmtkREpK9MdF1AeURHR0OlUmHRokXw9vZGVFQUxowZg5ycHHz77bcAgMjISLRq1QoffPABXFxcsGXLFowYMQJ2dnbo37+/tC1bW1vExMRIz3nZ+tNhSCIiIn1VK0JScHAwgoODpedeXl6IiYnBggULpJA0ffp0jXUmTJiAHTt2YMOGDRohSSaTwdXVtXoKNwC8uo2IiPRVrTjdVpqMjAzUqVOnwstkZ2fDw8MD7u7ueOGFF3D+/PnHbiM/Px+ZmZkaD3qALUlERKSvamVIio2Nxfz58/HGG2+UucyaNWtw7NgxjBw5Uprm4+ODpUuXYtOmTfj999+hUqkQEBCA69evl7md8PBw2NnZSQ93d3etvpfajiGJiIj0lU5D0tSpU0t0pH70ER0drbFOUlISgoODMWTIEIwZM6bU7e7ZswcjR47Ezz//jObNm0vT/f39MWLECLRp0wbdu3fHhg0boFAosGjRojJrnDZtGjIyMqTHtWvXtPPm9QRH3CYiIn2l0z5JU6ZMQVhY2GOX8fLykn5OTk5Gz549ERAQgMWLF5e6/L59+/D8889j7ty5GDFixGO3bWpqirZt2yI2NrbMZeRyOeRy+WO3Y6iEEGxJIiIivaXTkKRQKKBQKMq1bFJSEnr27Ak/Pz8sW7YMRkYlG8H27t2L/v37Y9asWRg7duwTt6lUKnHu3Dn07du3wrUTkFugRJFKAOA4SUREpH9qxdVtSUlJ6NGjBzw8PPDtt98iLS1Nmqe+Um3Pnj3o378/JkyYgEGDBiElJQUAYGZmJnXe/uyzz9C5c2d4e3sjPT0ds2fPRkJCAl5//fXqf1N6QN2KZGosg4WpsY6rISIi0q5aEZIiIiIQGxuL2NhY1K9fX2OeEMUtGStWrEBubi7Cw8MRHh4uze/evTv27t0LALh79y7GjBmDlJQUODg4wM/PD5GRkWjWrFm1vRd98vCpNo43RURE+kYm1CmDyiUzMxN2dnbIyMiAra2trsvRqcNXbuOVxYfhpbDC7ik9dF0OERFRmSrz/V0rhwCgmoGdtomISJ8xJFGl8fJ/IiLSZwxJVGlsSSIiIn3GkESVxpBERET6jCGJKk0dkuwZkoiISA8xJFGlqUOSLUMSERHpIYYkqjSebiMiIn3GkESVxpBERET6jCGJKi2TIYmIiPQYQxJVWro6JPHmtkREpIcYkqhShBA83UZERHqNIYkqJadACaWq+LZ/DElERKSPGJKoUtStSGbGRrAwNdZxNURERNrHkESVor5vm62FKWQymY6rISIi0j6GJKqUB/2RTHRcCRERUdVgSKJKYadtIiLSdwxJVCkcI4mIiPQdQxJVSvq9AgAMSUREpL8YkqhSeLqNiIj0HUMSVYoUkizNdFwJERFR1WBIokrJuFcEgC1JRESkvxiSqFJ4uo2IiPRdpUJSUVERdu7ciUWLFiErKwsAkJycjOzsbK0WRzUXQxIREem7Co8EmJCQgODgYCQmJiI/Px/PPvssbGxsMGvWLOTn52PhwoVVUSfVMBwCgIiI9F2FW5ImTJiA9u3b4+7du7CwsJCmv/jii9i1a5dWi6OaKz2XQwAQEZF+q3BL0oEDBxAZGQkzM82rmho2bIikpCStFUY1lxACmXnsuE1ERPqtwi1JKpUKSqWyxPTr16/DxsZGK0VRzZadXwSlSgBgSCIiIv1V4ZD03HPP4fvvv5eey2QyZGdnY8aMGejbt682a6MaSt1p28zECOamvECSiIj0U4VPt82ZMwdBQUFo1qwZ8vLyMGzYMFy+fBlOTk74448/qqJGqmEevrJNJpPpuBoiIqKqUeGQVL9+fZw5cwarV6/G2bNnkZ2djdGjR+PVV1/V6MhN+ouX/xMRkSGocEgCABMTEwwfPlzbtVAtwcv/iYjIEFQ4JP3666+PnT9ixIhKF1OW+Ph4fP7559i9ezdSUlJQt25dDB8+HB9++KF0lV18fDw8PT1LrHvo0CF07txZer527Vp8/PHHiI+PR+PGjTFr1iz2paogtiQREZEhqHBImjBhgsbzwsJC5ObmwszMDJaWllUSkqKjo6FSqbBo0SJ4e3sjKioKY8aMQU5ODr799luNZXfu3InmzZtLzx0dHaWfIyMjMXToUISHh6N///5YtWoVQkJCcPLkSbRo0ULrdeur9FyGJCIi0n8VDkl3794tMe3y5csYN24c3nvvPa0U9ajg4GAEBwdLz728vBATE4MFCxaUCEmOjo5wdXUtdTvz5s1DcHCwVOfnn3+OiIgI/PjjjxwpvALYkkRERIZAK9dvN27cGF9//XWJVqaqlJGRgTp16pSYPmDAADg7O6Nr167YvHmzxrxDhw6hd+/eGtOCgoJw6NChMl8nPz8fmZmZGg9Dpw5JtgxJRESkx7Q2yI2JiQmSk5O1tbnHio2Nxfz58/HGG29I06ytrTFnzhysXbsWW7duRdeuXRESEqIRlFJSUuDi4qKxLRcXF6SkpJT5WuHh4bCzs5Me7u7u2n9DtYw6JNkzJBERkR6r8Om2R1tnhBC4ceMGfvzxR3Tp0qVC25o6dSpmzZr12GUuXrwIX19f6XlSUhKCg4MxZMgQjBkzRpru5OSEyZMnS887dOiA5ORkzJ49GwMGDKhQXQ+bNm2axnYzMzMNPijxdBsRERmCCoekkJAQjecymQwKhQLPPPMM5syZU6FtTZkyBWFhYY9dxsvLS/o5OTkZPXv2REBAABYvXvzE7Xfq1AkRERHSc1dXV9y8eVNjmZs3b5bZhwkA5HI55HL5E1/LkHAIACIiMgQVDkkqlUprL65QKKBQKMq1bFJSEnr27Ak/Pz8sW7YMRkZPPlN4+vRpuLm5Sc/9/f2xa9cuTJw4UZoWEREBf3//CtduyKSWJEuGJCIi0l+VGkyyuiUlJaFHjx7w8PDAt99+i7S0NGmeuhVoxYoVMDMzQ9u2bQEAGzZswNKlS7FkyRJp2QkTJqB79+6YM2cO+vXrh9WrV+P48ePlapWiB3i6jYiIDEG5QtLDfXKe5Lvvvqt0MWWJiIhAbGwsYmNjUb9+fY15Qgjp588//xwJCQkwMTGBr68v/vzzTwwePFiaHxAQgFWrVuGjjz7C9OnT0bhxY2zcuJFjJFWASiUYkoiIyCDIxMMpoww9e/Ys38ZkMuzevfupi6rJMjMzYWdnh4yMDNja2uq6nGqXmVeIVjN3AACiPw+GuamxjisiIiJ6ssp8f5erJWnPnj1PVRjpj4z7o22bmRgxIBERkV7T2jhJZBg4RhIRERmKSnXcPn78ONasWYPExEQUFBRozNuwYYNWCqOaiZf/ExGRoahwS9Lq1asREBCAixcv4q+//kJhYSHOnz+P3bt3w87OripqpBqEnbaJiMhQVDgkffXVV5g7dy7+/vtvmJmZYd68eYiOjsZLL72EBg0aVEWNVIMwJBERkaGocEiKi4tDv379AABmZmbIycmBTCbDpEmTON6QDqlUAkrVEy9UfGrpDElERGQgKtwnycHBAVlZWQCAevXqISoqCi1btkR6ejpyc3O1XqChuHYnFyuPJCK/SIn8IhXyC1UPfi5SIb/woZ+LlA/mFxZPK1CqYCM3waoxndGyftWd9lS3JNkyJBERkZ4rd0iKiopCixYt0K1bN0RERKBly5YYMmQIJkyYgN27dyMiIgK9evWqylr1Wlp2Phbui3uqbWTlF+FAbFq1hCS2JBERkb4rd0hq1aoVOnTogJCQEAwZMgQA8OGHH8LU1BSRkZEYNGgQPvrooyorVN+52ppjdFdPyE2MIDcxhtzU6MHPJkaQmxrBXJr+YJr658X7r2B5ZDxSM/OrtE5pCADet42IiPRcuUPSvn37sGzZMoSHh+PLL7/EoEGD8Prrr2Pq1KlVWZ/BqGtvgY/7N6v0+g3qWAIA0rKqNiRxCAAiIjIU5e64HRgYiKVLl+LGjRuYP38+4uPj0b17dzRp0gSzZs1CSkpKVdZJT+BsKwcApGblVenr8HQbEREZigpf3WZlZYWRI0di3759uHTpEoYMGYKffvoJDRo0wIABA6qiRioHZxtzAMDNajrdxpBERET67qluS+Lt7Y3p06fjo48+go2NDbZu3aqtuqiCnG0etCSV457FlcaQREREhqJStyUBgP3792Pp0qVYv349jIyM8NJLL2H06NHarI0qQH26La9Qhaz8Itiaaz/EqFSCIYmIiAxGhUJScnIyli9fjuXLlyM2NhYBAQH44Ycf8NJLL8HKyqqqaqRysDQzgY3cBFn5RUjNzK+SkJSVXwR1IxXHSSIiIn1X7pDUp08f7Ny5E05OThgxYgRGjRoFHx+fqqyNKkhhK0dWWhFSs/Lg7Wyt9e2rr2yTmxjB3NRY69snIiKqScodkkxNTbFu3Tr0798fxsb8gqyJnG3kuJKWU2VjJXGMJCIiMiTlDkmbN2+uyjpIC9RXuFXVMADsj0RERIbkqa5uo5rFRT1WUhW3JDEkERGRIWBI0iMPWpIYkoiIiJ4WQ5IeqepRt9UhiVe2ERGRIWBI0iMKm6o93Zaey5YkIiIyHAxJeoSn24iIiLSHIUmPqDtuZ+cXIbegSOvbz2RIIiIiA8KQpEes5SawuD/IY1WccuM4SUREZEgYkvSITCZ7qPN21YUktiQREZEhYEjSM873O2/fzNT+FW4MSUREZEgYkvRMVXbeZkgiIiJDwpCkZ6pqrCSVSiAzj+MkERGR4WBI0jPqlqQ0LXfczsorghDFP7MliYiIDEGtCEnx8fEYPXo0PD09YWFhgUaNGmHGjBkoKCiQlpk5cyZkMlmJh5WVlbTM8uXLS8w3NzfXxVuqMuo+Sdo+3aY+1WZuagS5ibFWt01ERFQTmei6gPKIjo6GSqXCokWL4O3tjaioKIwZMwY5OTn49ttvAQDvvvsu3nzzTY31evXqhQ4dOmhMs7W1RUxMjPRcJpNV/RuoRurTbdruuM3+SEREZGhqRUgKDg5GcHCw9NzLywsxMTFYsGCBFJKsra1hbW0tLXPmzBlcuHABCxcu1NiWTCaDq6tr9RSuAy62VdNxWxojycJMq9slIiKqqWrF6bbSZGRkoE6dOmXOX7JkCZo0aYLAwECN6dnZ2fDw8IC7uzteeOEFnD9/vqpLrVbq020Z9wqRV6jU2nbZkkRERIamVoak2NhYzJ8/H2+88Uap8/Py8rBy5UqMHj1aY7qPjw+WLl2KTZs24ffff4dKpUJAQACuX79e5mvl5+cjMzNT41GT2VmYwsyk+NeapsXWJHVI4pVtRERkKHQakqZOnVpqZ+uHH9HR0RrrJCUlITg4GEOGDMGYMWNK3e5ff/2FrKwshIaGakz39/fHiBEj0KZNG3Tv3h0bNmyAQqHAokWLyqwxPDwcdnZ20sPd3f3p33gVkslkUFhrv/M2W5KIiMjQ6LRP0pQpUxAWFvbYZby8vKSfk5OT0bNnTwQEBGDx4sVlrrNkyRL0798fLi4uj922qakp2rZti9jY2DKXmTZtGiZPniw9z8zMrPFBydlWjqT0e0jVYuft9HvFVxIyJBERkaHQaUhSKBRQKBTlWjYpKQk9e/aEn58fli1bBiOj0hvBrl69ij179mDz5s1P3KZSqcS5c+fQt2/fMpeRy+WQy+XlqrGmcKmCUbcz2ZJEREQGplZc3ZaUlIQePXrAw8MD3377LdLS0qR5j16ptnTpUri5uaFPnz4ltvPZZ5+hc+fO8Pb2Rnp6OmbPno2EhAS8/vrrVf4eqlNVjLr94HRbrThkiIiInlqt+MaLiIhAbGwsYmNjUb9+fY15Qj0MNACVSoXly5cjLCwMxsYlBzy8e/cuxowZg5SUFDg4OMDPzw+RkZFo1qxZlb+H6iQNKKnFUbelIQAsOQQAEREZhloRksLCwp7YdwkAjIyMcO3atTLnz507F3PnztViZTWT+tYkN9lxm4iIqNJq5RAA9HgK9ek2LXbc5hAARERkaBiS9JC647ZWx0nKZUsSEREZFoYkPaTuuH07pwCFStVTb0+pEsjKLwLAkERERIaDIUkP1bE0g4lR8Y17b2U/fWtSVl4h1P3jGZKIiMhQMCTpISMjGZzuj7p9UwtXuKn7I1mYGku3PCEiItJ3/MbTU85a7LzNK9uIiMgQMSTpKWctjrr9YIwkhiQiIjIcDEl66sGo29oLSbz8n4iIDAlDkp5Sj7qdpoVbk/B0GxERGSKGJD0ljbqtxY7bDElERGRIGJL0lHT/Nm20JHEgSSIiMkAMSXrKxfZ+x222JBEREVUKQ5KeUnfcvpWdD6VKPNW2GJKIiMgQMSTpKUcrM8hkgEoAt3OerjWJIYmIiAwRQ5KeMjE2gqOVekBJLYUkjpNEREQGhCFJj7nYaqfzNluSiIjIEDEk6THpCjdttSQxJBERkQFhSNJj2rg1iVIlkJVXBIAhiYiIDAtDkh5z1sLptsz7rUgAQxIRERkWhiQ9pj7d9jSjbqtPtVmaGcPUmIcLEREZDn7r6TFn26c/3cb+SEREZKgYkvSYdJPbzMqfbmNIIiIiQ8WQpMfULUlp2fkQonKjbjMkERGRoWJI0mMK6+KWpEKlwN3cwicsXTqGJCIiMlQMSXrMzMQIDvdHyb5ZyVNuDElERGSoGJL0nMtTdt7OZEgiIiIDxZCk5xTSqNuVa0lKz2VIIiIiw8SQpOeedtRt3tyWiIgMFUOSnlOPup32tCGJLUlERGRgGJL03INRt9lxm4iIqCIYkvTc03bcZkgiIiJDVWtC0oABA9CgQQOYm5vDzc0Nr732GpKTkzWWOXv2LAIDA2Fubg53d3d88803Jbazdu1a+Pr6wtzcHC1btsS2bduq6y3ohLolqbI3ueXVbUREZKhqTUjq2bMn1qxZg5iYGKxfvx5xcXEYPHiwND8zMxPPPfccPDw8cOLECcyePRszZ87E4sWLpWUiIyMxdOhQjB49GqdOnUJISAhCQkIQFRWli7dULaSO25kVH3W7SKlCVn4RAIYkIiIyPDJR2ftV6NjmzZsREhKC/Px8mJqaYsGCBfjwww+RkpICMzMzAMDUqVOxceNGREdHAwBefvll5OTkYMuWLdJ2OnfujDZt2mDhwoXlet3MzEzY2dkhIyMDtra22n9jWpZXqITvx9sBAGdmPFehsHMnpwDtPo8AAFz+sg9MjWtNpiYiItJQme/vWvmtd+fOHaxcuRIBAQEwNS3+0j906BC6desmBSQACAoKQkxMDO7evSst07t3b41tBQUF4dChQ9VXfDUzNzWGjbkJgIqPlaTuj2RlZsyAREREBqdWffN98MEHsLKygqOjIxITE7Fp0yZpXkpKClxcXDSWVz9PSUl57DLq+aXJz89HZmamxqO2qWznbXbaJiIiQ6bTkDR16lTIZLLHPtSnygDgvffew6lTp7Bjxw4YGxtjxIgRlb67fXmFh4fDzs5Oeri7u1fp61WFynbeVockW4YkIiIyQCa6fPEpU6YgLCzssct4eXlJPzs5OcHJyQlNmjRB06ZN4e7ujsOHD8Pf3x+urq64efOmxrrq566urtK/pS2jnl+aadOmYfLkydLzzMzMWheUpJCUWbmWJHuOtk1ERAZIpyFJoVBAoVBUal2VSgWg+HQYAPj7++PDDz9EYWGh1E8pIiICPj4+cHBwkJbZtWsXJk6cKG0nIiIC/v7+Zb6OXC6HXC6vVI01hTNPtxEREVVYreiTdOTIEfz44484ffo0EhISsHv3bgwdOhSNGjWSAs6wYcNgZmaG0aNH4/z58/jzzz8xb948jVagCRMmYPv27ZgzZw6io6Mxc+ZMHD9+HG+//bau3lq1qOyo2xwjiYiIDFmtCEmWlpbYsGEDevXqBR8fH4wePRqtWrXCvn37pFYeOzs77NixA1evXoWfnx+mTJmCTz75BGPHjpW2ExAQgFWrVmHx4sVo3bo11q1bh40bN6JFixa6emvVgi1JREREFafT023l1bJlS+zevfuJy7Vq1QoHDhx47DJDhgzBkCFDtFVaraBuSaroTW7TcwsAMCQREZFhqhUtSfR0HnTcrtzVbQxJRERkiBiSDID6dFtOgRLZ928zUh4cAoCIiAwZQ5IBsJabwMrMGEDFWpMy7vG+bUREZLgYkgxEZTpvZ0rjJJk9YUkiIiL9w5BkIBTSqNvlD0nsk0RERIaMIclAVLTzdpFSJfVfYkgiIiJDxJBkIJxtKna6LTPvQQdvW/NaMVIEERGRVjEkGQgX24q1JKnHSLKWm8DEmIcJEREZHn77GQhn24r1SWJ/JCIiMnQMSQaioqfbOEYSEREZOoYkA1HRjtsPWpLYH4mIiAwTQ5KBULckZeYVIa9Q+cTlpTGSLDhGEhERGSaGJANha2ECuUnxrzs188mn3NgniYiIDB1DkoGQyWQPdd5+8ik3KSRZMiQREZFhYkgyIBXpvJ2ey5YkIiIybAxJBqQinbd5dRsRERk6hiQDog5JN8vRksQ+SUREZOgYkgyIs+39023suE1ERPREDEkGRDrdVo6O2w+GAGBIIiIiw8SQZEDULUlpPN1GRET0RAxJBuRBS9LjQ1KhUoWcguIBJxmSiIjIUDEkGRB1SLqTU4CCIlWZy6lPtQG8uo2IiAwXQ5IBcbA0g6mxDACQll12a1L6/ZBkIzeBsZGsWmojIiKqaRiSDIiRkQwK6yePlcQxkoiIiBiSDI7C9smjbrPTNhEREUOSwSlP5+1MhiQiIiKGJENTnluTqFuS7HlzWyIiMmAMSQbGpRyjbmfw5rZEREQMSYamPKNus08SERERQ5LBcbZ9cp8kXt1GRETEkGRwnG2efHVbOluSiIiIak9IGjBgABo0aABzc3O4ubnhtddeQ3JysjR/7969eOGFF+Dm5gYrKyu0adMGK1eu1NjG8uXLIZPJNB7m5ubV/VZ0St2SdCs7H0XK0kfd5uk2IiKiWhSSevbsiTVr1iAmJgbr169HXFwcBg8eLM2PjIxEq1atsH79epw9exYjR47EiBEjsGXLFo3t2Nra4saNG9IjISGhut+KTjlayWEkA4QAbucUlLoMhwAgIiICTHRdQHlNmjRJ+tnDwwNTp05FSEgICgsLYWpqiunTp2ssP2HCBOzYsQMbNmxA//79pekymQyurq7VVndNY2wkg5O1HKlZ+UjNzJeudnsYW5KIiIhqUUvSw+7cuYOVK1ciICAApqZlf5FnZGSgTp06GtOys7Ph4eEBd3d3vPDCCzh//vxjXys/Px+ZmZkaj9ruQeft0q9w4zhJREREtSwkffDBB7CysoKjoyMSExOxadOmMpdds2YNjh07hpEjR0rTfHx8sHTpUmzatAm///47VCoVAgICcP369TK3Ex4eDjs7O+nh7u6u1fekC4/rvF2oVCG3QAmALUlERGTYdBqSpk6dWqIj9aOP6Ohoafn33nsPp06dwo4dO2BsbIwRI0ZACFFiu3v27MHIkSPx888/o3nz5tJ0f39/jBgxAm3atEH37t2xYcMGKBQKLFq0qMwap02bhoyMDOlx7do17e4EHXC535J0s5RRt9WtSABgY86QREREhkunfZKmTJmCsLCwxy7j5eUl/ezk5AQnJyc0adIETZs2hbu7Ow4fPgx/f39pmX379uH555/H3LlzMWLEiMdu29TUFG3btkVsbGyZy8jlcsjl8vK9oVpC8ZiWpPT7o23bmJvA2EhWrXURERHVJDoNSQqFAgqFolLrqlTFl6/n5z/4ot+7dy/69++PWbNmYezYsU/chlKpxLlz59C3b99K1VBbPbh/W8mQxE7bRERExWrF1W1HjhzBsWPH0LVrVzg4OCAuLg4ff/wxGjVqJLUi7dmzB/3798eECRMwaNAgpKSkAADMzMykztufffYZOnfuDG9vb6Snp2P27NlISEjA66+/rrP3pgvqkJRWSsdtXv5PRERUrFZ03La0tMSGDRvQq1cv+Pj4YPTo0WjVqhX27dsnnQpbsWIFcnNzER4eDjc3N+kxcOBAaTt3797FmDFj0LRpU/Tt2xeZmZmIjIxEs2bNdPXWdMLZtuzTbWxJIiIiKiYTpfV8pjJlZmbCzs4OGRkZsLW11XU5lXIj4x78w3fDxEiGS1/0gdFDfY9WRMZjxubz6NPCFQuG++mwSiIiIu2pzPd3rWhJIu1yspZDJgOKVAJ3cjVH3eYYSURERMUYkgyQqbER6liaASjZeVsdkmx5uo2IiAwcQ5KBUtiUPuo2+yQREREVY0gyUFLn7UdaktTjJDEkERGRoWNIMlAuZbQkcQgAIiKiYgxJBurBTW5L75PEkERERIaOIclASTe5LaPjNkMSEREZOoYkA+X8hI7b9hZm1V4TERFRTcKQZKDUp9tuPtSSVFCkwr1CJQC2JBERETEkGSj16ba0rHyoB11XtyLJZICNea24rR8REVGVYUgyUOpxkgqUKikcqf+1kZto3KqEiIjIEDEkGShzU2PplJr6CreMe8W3KLHjLUmIiIgYkgyZ1Hk7Ux2SeGUbERGRGkOSAXO5P+r2zcziK9wYkoiIiB5gSDJgD4YBuN+SxFuSEBERSRiSDJjCVnOspIx7RQAAO46RRERExJBkyKRRt7PYJ4mIiOhRDEkGTH26LY0dt4mIiEpgSDJgUsdt6XTb/SEAGJKIiIgYkgzZw0MACCHYkkRERPQQhiQDpr5/271CJbLzixiSiIiIHsKQZMAszUxgLS++R1tqVj5DEhER0UMYkgzcw6fcGJKIiIgeYEgycOpTbtfu5iKvUAWA924jIiICGJIMnnqspLjUbACATAbY3D8FR0REZMgYkgyc+nTbpZtZAABbc1MYGcl0WRIREVGNwJBk4NSn2y7fb0lifyQiIqJiDEkGTn267frdewAYkoiIiNQYkgycuiVJjSGJiIioGEOSgVO3JKkxJBERERVjSDJwj7Yk2TIkERERAahFIWnAgAFo0KABzM3N4ebmhtdeew3JycnS/Pj4eMhkshKPw4cPa2xn7dq18PX1hbm5OVq2bIlt27ZV91upUWzkJjA3fXAY2HOMJCIiIgC1KCT17NkTa9asQUxMDNavX4+4uDgMHjy4xHI7d+7EjRs3pIefn580LzIyEkOHDsXo0aNx6tQphISEICQkBFFRUdX5VmoUmUymccqNp9uIiIiKyYQQQtdFVMbmzZsREhKC/Px8mJqaIj4+Hp6enjh16hTatGlT6jovv/wycnJysGXLFmla586d0aZNGyxcuLBcr5uZmQk7OztkZGTA1tZWG29F54YsjMSx+LsAgPCBLTG0YwMdV0RERKRdlfn+rjUtSQ+7c+cOVq5ciYCAAJiaarZ8DBgwAM7OzujatSs2b96sMe/QoUPo3bu3xrSgoCAcOnSozNfKz89HZmamxkPfsCWJiIiopFoVkj744ANYWVnB0dERiYmJ2LRpkzTP2toac+bMwdq1a7F161Z07doVISEhGkEpJSUFLi4uGtt0cXFBSkpKma8ZHh4OOzs76eHu7q79N6ZjCpsHnbcZkoiIiIrpNCRNnTq11M7WDz+io6Ol5d977z2cOnUKO3bsgLGxMUaMGAH12UInJydMnjwZnTp1QocOHfD1119j+PDhmD179lPVOG3aNGRkZEiPa9euPdX2aqKHr3BjSCIiIiqm0zuZTpkyBWFhYY9dxsvLS/rZyckJTk5OaNKkCZo2bQp3d3ccPnwY/v7+pa7bqVMnRERESM9dXV1x8+ZNjWVu3rwJV1fXMl9fLpdDLpeXOV8f8HQbERFRSToNSQqFAgqFolLrqlQqAMV9hspy+vRpuLm5Sc/9/f2xa9cuTJw4UZoWERFRZsgyFC4PtyRxCAAiIiIAOg5J5XXkyBEcO3YMXbt2hYODA+Li4vDxxx+jUaNGUsBZsWIFzMzM0LZtWwDAhg0bsHTpUixZskTazoQJE9C9e3fMmTMH/fr1w+rVq3H8+HEsXrxYJ++rplC3JBnJAGuzWnFIEBERVbla8Y1oaWmJDRs2YMaMGcjJyYGbmxuCg4Px0UcfaZwK+/zzz5GQkAATExP4+vrizz//1BhLKSAgAKtWrcJHH32E6dOno3Hjxti4cSNatGihi7dVY3gprNChoQMa1LGCkZFM1+UQERHVCLV2nCRd0cdxkoiIiPSdwYyTRERERFTVGJKIiIiISsGQRERERFQKhiQiIiKiUjAkEREREZWCIYmIiIioFAxJRERERKVgSCIiIiIqBUMSERERUSkYkoiIiIhKwZBEREREVAqGJCIiIqJSMCQRERERlYIhiYiIiKgUJrouoLYRQgAAMjMzdVwJERERlZf6e1v9PV4eDEkVlJWVBQBwd3fXcSVERERUUVlZWbCzsyvXsjJRkUhFUKlUSE5Oho2NDWQymVa3nZmZCXd3d1y7dg22trZa3bY+436rOO6zyuF+qxzut8rhfqu4x+0zIQSysrJQt25dGBmVr7cRW5IqyMjICPXr16/S17C1teUfRCVwv1Uc91nlcL9VDvdb5XC/VVxZ+6y8LUhq7LhNREREVAqGJCIiIqJSMCTVIHK5HDNmzIBcLtd1KbUK91vFcZ9VDvdb5XC/VQ73W8Vpe5+x4zYRERFRKdiSRERERFQKhiQiIiKiUjAkEREREZWCIYmIiIioFAxJNcRPP/2Ehg0bwtzcHJ06dcLRo0d1XVKNNnPmTMhkMo2Hr6+vrsuqcfbv34/nn38edevWhUwmw8aNGzXmCyHwySefwM3NDRYWFujduzcuX76sm2JrkCftt7CwsBLHX3BwsG6KrSHCw8PRoUMH2NjYwNnZGSEhIYiJidFYJi8vD+PHj4ejoyOsra0xaNAg3Lx5U0cV1wzl2W89evQocby9+eabOqq4ZliwYAFatWolDRrp7++Pf/75R5qvrWONIakG+PPPPzF58mTMmDEDJ0+eROvWrREUFITU1FRdl1ajNW/eHDdu3JAe//33n65LqnFycnLQunVr/PTTT6XO/+abb/DDDz9g4cKFOHLkCKysrBAUFIS8vLxqrrRmedJ+A4Dg4GCN4++PP/6oxgprnn379mH8+PE4fPgwIiIiUFhYiOeeew45OTnSMpMmTcLff/+NtWvXYt++fUhOTsbAgQN1WLXulWe/AcCYMWM0jrdvvvlGRxXXDPXr18fXX3+NEydO4Pjx43jmmWfwwgsv4Pz58wC0eKwJ0rmOHTuK8ePHS8+VSqWoW7euCA8P12FVNduMGTNE69atdV1GrQJA/PXXX9JzlUolXF1dxezZs6Vp6enpQi6Xiz/++EMHFdZMj+43IYQIDQ0VL7zwgk7qqS1SU1MFALFv3z4hRPGxZWpqKtauXSstc/HiRQFAHDp0SFdl1jiP7jchhOjevbuYMGGC7oqqJRwcHMSSJUu0eqyxJUnHCgoKcOLECfTu3VuaZmRkhN69e+PQoUM6rKzmu3z5MurWrQsvLy+8+uqrSExM1HVJtcrVq1eRkpKicezZ2dmhU6dOPPbKYe/evXB2doaPjw/GjRuH27dv67qkGiUjIwMAUKdOHQDAiRMnUFhYqHG8+fr6okGDBjzeHvLoflNbuXIlnJyc0KJFC0ybNg25ubm6KK9GUiqVWL16NXJycuDv76/VY403uNWxW7duQalUwsXFRWO6i4sLoqOjdVRVzdepUycsX74cPj4+uHHjBj799FMEBgYiKioKNjY2ui6vVkhJSQGAUo899TwqXXBwMAYOHAhPT0/ExcVh+vTp6NOnDw4dOgRjY2Ndl6dzKpUKEydORJcuXdCiRQsAxcebmZkZ7O3tNZbl8fZAafsNAIYNGwYPDw/UrVsXZ8+exQcffICYmBhs2LBBh9Xq3rlz5+Dv74+8vDxYW1vjr7/+QrNmzXD69GmtHWsMSVQr9enTR/q5VatW6NSpEzw8PLBmzRqMHj1ah5WRIXjllVekn1u2bIlWrVqhUaNG2Lt3L3r16qXDymqG8ePHIyoqiv0EK6is/TZ27Fjp55YtW8LNzQ29evVCXFwcGjVqVN1l1hg+Pj44ffo0MjIysG7dOoSGhmLfvn1afQ2ebtMxJycnGBsbl+h1f/PmTbi6uuqoqtrH3t4eTZo0QWxsrK5LqTXUxxePvafn5eUFJycnHn8A3n77bWzZsgV79uxB/fr1pemurq4oKChAenq6xvI83oqVtd9K06lTJwAw+OPNzMwM3t7e8PPzQ3h4OFq3bo158+Zp9VhjSNIxMzMz+Pn5YdeuXdI0lUqFXbt2wd/fX4eV1S7Z2dmIi4uDm5ubrkupNTw9PeHq6qpx7GVmZuLIkSM89iro+vXruH37tkEff0IIvP322/jrr7+we/dueHp6asz38/ODqampxvEWExODxMREgz7enrTfSnP69GkAMOjjrTQqlQr5+flaPdZ4uq0GmDx5MkJDQ9G+fXt07NgR33//PXJycjBy5Ehdl1Zjvfvuu3j++efh4eGB5ORkzJgxA8bGxhg6dKiuS6tRsrOzNf63efXqVZw+fRp16tRBgwYNMHHiRHzxxRdo3LgxPD098fHHH6Nu3boICQnRXdE1wOP2W506dfDpp59i0KBBcHV1RVxcHN5//314e3sjKChIh1Xr1vjx47Fq1Sps2rQJNjY2Ut8POzs7WFhYwM7ODqNHj8bkyZNRp04d2Nra4p133oG/vz86d+6s4+p150n7LS4uDqtWrULfvn3h6OiIs2fPYtKkSejWrRtatWql4+p1Z9q0aejTpw8aNGiArKwsrFq1Cnv37sW///6r3WNNuxfgUWXNnz9fNGjQQJiZmYmOHTuKw4cP67qkGu3ll18Wbm5uwszMTNSrV0+8/PLLIjY2Vtdl1Th79uwRAEo8QkNDhRDFwwB8/PHHwsXFRcjlctGrVy8RExOj26JrgMftt9zcXPHcc88JhUIhTE1NhYeHhxgzZoxISUnRddk6Vdr+AiCWLVsmLXPv3j3x1ltvCQcHB2FpaSlefPFFcePGDd0VXQM8ab8lJiaKbt26iTp16gi5XC68vb3Fe++9JzIyMnRbuI6NGjVKeHh4CDMzM6FQKESvXr3Ejh07pPnaOtZkQgjxtImOiIiISN+wTxIRERFRKRiSiIiIiErBkERERERUCoYkIiIiolIwJBERERGVgiGJiIiIqBQMSURERESlYEgiIr0VHx8PmUwm3cahKoSFhRn8COVE+oohiYhqrLCwMMhkshKP4ODgcq3v7u6OGzduoEWLFlVcKRHpI967jYhqtODgYCxbtkxjmlwuL9e6xsbGvMM8EVUaW5KIqEaTy+VwdXXVeDg4OAAAZDIZFixYgD59+sDCwgJeXl5Yt26dtO6jp9vu3r2LV199FQqFAhYWFmjcuLFGADt37hyeeeYZWFhYwNHREWPHjkV2drY0X6lUYvLkybC3t4ejoyPef/99PHpnJ5VKhfDwcHh6esLCwgKtW7fWqOlJNRBRzcGQRES12scff4xBgwbhzJkzePXVV/HKK6/g4sWLZS574cIF/PPPP7h48SIWLFgAJycnAEBOTg6CgoLg4OCAY8eOYe3atdi5cyfefvttaf05c+Zg+fLlWLp0Kf777z/cuXMHf/31l8ZrhIeH49dff8XChQtx/vx5TJo0CcOHD8e+ffueWAMR1TBauyUvEZGWhYaGCmNjY2FlZaXx+PLLL4UQxXdQf/PNNzXW6dSpkxg3bpwQQoirV68KAOLUqVNCCCGef/55MXLkyFJfa/HixcLBwUFkZ2dL07Zu3SqMjIxESkqKEEIINzc38c0330jzCwsLRf369cULL7wghBAiLy9PWFpaisjISI1tjx49WgwdOvSJNRBRzcI+SURUo/Xs2RMLFizQmFanTh3pZ39/f415/v7+ZV7NNm7cOAwaNAgnT57Ec889h5CQEAQEBAAALl68iNatW8PKykpavkuXLlCpVIiJiYG5uTlu3LiBTp06SfNNTEzQvn176ZRbbGwscnNz8eyzz2q8bkFBAdq2bfvEGoioZmFIIqIazcrKCt7e3lrZVp8+fZCQkIBt27YhIiICvXr1wvjx4/Htt99qZfvq/ktbt25FvXr1NOapO5tXdQ1EpD3sk0REtdrhw4dLPG/atGmZyysUCoSGhuL333/H999/j8WLFwMAmjZtijNnziAnJ0da9uDBgzAyMoKPjw/s7Ozg5uaGI0eOSPOLiopw4sQJ6XmzZs0gl8uRmJgIb29vjYe7u/sTayCimoUtSURUo+Xn5yMlJUVjmomJidTZee3atWjfvj26du2KlStX4ujRo/jll19K3dYnn3wCPz8/NG/eHPn5+diyZYsUqF599VXMmDEDoaGhmDlzJtLS0vDOO+/gtddeg4uLCwBgwoQJ+Prrr9G4cWP4+vriu+++Q3p6urR9GxsbvPvuu5g0aRJUKhW6du2KjIwMHDx4ELa2tggNDX1sDURUszAkEVGNtn37dri5uWlM8/HxQXR0NADg008/xerVq/HWW2/Bzc0Nf/zxB5o1a1bqtszMzDBt2jTEx8fDwsICgYGBWL16NQDA0tIS//77LyZMmIAOHTrA0tISgwYNwnfffSetP2XKFNy4cQOhoaEwMjLCqFGj8OKLLyIjI0Na5vPPP4dCoUB4eDiuXLkCe3t7tGvXDtOnT39iDURUs8iEeGSQDyKiWkImk+Gvv/7ibUGIqEqwTxIRERFRKRiSiIiIiErBPklEVGuxtwARVSW2JBERERGVgiGJiIiIqBQMSURERESlYEgiIiIiKgVDEhEREVEpGJKIiIiISsGQRERERFQKhiQiIiKiUjAkEREREZXi/wFteOc8eWEpvgAAAABJRU5ErkJggg==" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(R1, label='R1')\n", + "plt.legend()\n", + "\n", + "plt.xlabel('Episodes')\n", + "plt.ylabel('Value')\n", + "plt.title('Slow agent | Changing reward function R1')\n", + "plt.savefig('../plots/slow_agent_changing_reward_R1.png')\n" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2023-12-12T02:04:41.914927Z", + "start_time": "2023-12-12T02:04:41.463576Z" + } + } + }, + { + "cell_type": "code", + "execution_count": 10, + "outputs": [ + { + "data": { + "text/plain": "
", + "image/png": "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pnXqgfT09MfWpI2VlVWNzBw8YcIEeHh4YNq0afjvv//KPJ+WloZPP/200tut6H6tqHbt2sHJyQlff/01iouL1cvXr1+v08uSERERKCoq0vi9qlQqLFu2rNrbtbW1xZw5c1BUVFTm+YePi/DwcOzduxfHjx9XH8etW7eGjY0N5s2bBwsLC/Wkn8D9lo0H93lmZibWrFlT4Rr79u2LpKQkbNq0Sb0sNzcXq1atqvA2tAkICEBcXJzGzxgbG1tmSoyKcnFxQefOnbF69WokJiZqPPfgz186N1VF/m4q89lTE7p27YqQkBAsXbpUYzbtCxcuoF+/fvD19cW2bdtqtQXQmDGGUo2ZNGkScnNzMWjQIDRu3BiFhYU4cuQIfv75Z/j6+mLUqFGPfO27776Ln376CX369MEbb7wBR0dHrFu3DlevXsWvv/6q0f8iLCwMpqamuHjxokbH0s6dO6vnhqlISHr66afx8ccfY9SoUejQoQPOnDmD9evXq/+3WuqVV17BV199hRdeeAGTJ0+Gh4cH1q9fr560sDSkSaVSfPPNN+jTpw+aNWuGUaNGoUGDBrh58yb27dsHW1tbbN26teI79J7g4GDs2bMHixcvhqenJ/z8/BAaGlrp7TzMwcEBmzdvRt++fdG6dWuNGbdPnTqFn376CWFhYZXebkX3a0XJZDJ89NFHmDRpErp3745hw4YhISEBa9eu1dpXrKoGDhyIkJAQTJs2DfHx8WjcuDG2bNmCO3fuAKh6i56trS2WL1+Ol156CW3btsXzzz8PFxcXJCYmYvv27ejYsSO++uor9frh4eFYv349JBKJ+vKbiYkJOnTogF27dqFr164al0d79eoFmUyG/v3745VXXkF2dja+/vpruLq6ltt6+6Bx48bhq6++wssvv4yTJ0/Cw8MD33//fZn+WZU1evRoLF68GBERERgzZgzS0tKwYsUKNGvWrMqDE7744gt06tQJbdu2xfjx4+Hn54eEhARs375dfb+40uP4/fffx/PPPw8zMzP0799f68SelfnsqSlvv/02hg4dirVr12LChAnIyspCREQE7t69i7fffrvMnE0BAQFV+tukCtDLmDoyCn/++acYPXq0aNy4sbC2thYymUwEBgaKSZMmidTUVI11Hx6GK4QQly9fFkOGDBH29vbC3NxchISEiG3btml9r/bt2wsA4tixY+plN27cEACEl5dXherNz88X06ZNEx4eHsLCwkJ07NhRREdHax22fOXKFdGvXz9hYWEhXFxcxLRp09RDxo8ePaqx7r///iueffZZ4eTkJORyufDx8RHDhg0Tf//9t3qd0ikA0tPTNV5bOkz4waHLcXFxonPnzsLCwkIAeOx0ABWdAqBUUlKSmDJlinjiiSeEubm5sLS0FMHBwWL27NkiMzNTvZ6Pj4/o169fmdc/vL8qul8fNWxc2zB+Ie5P9yCXy0VISIg4fPiwCA4OFr179y73tZGRkcLKyqpM3aW/gwelp6eL4cOHCxsbG2FnZydGjhwpDh8+LACIDRs2lLcb1b+7EydOaH1+3759IiIiQtjZ2Qlzc3MREBAgRo4cKf755x+N9c6dO6ceav6gTz/9VAAQH374YZltb9myRbRs2VKYm5sLX19fMX/+fLF69eoyx9KjfodCCHHt2jUxYMAAYWlpKZydncXkyZPFzp07qzUFgBBC/PDDD8Lf31/IZDLRunVrsWvXrkdOAbBw4cIyrwcgZs6cqbHs7NmzYtCgQerPiqCgoDL75ZNPPhENGjQQUqlUYz9U9bOnssfrw8o7PpRKpQgICBABAQGiuLhYvc1HfVVmShCqHIkQBtQDjqgOW7p0KaZMmYIbN26gQYMG+i5HbeTIkUhISKjQndvrMpVKBRcXFzz77LM1evuU33//HYMGDcKhQ4fQsWPHGnsfItI/9kkiqoK8vDyNx/n5+Vi5ciUaNWpkUAGpvsrPzy/Tz+m7777DnTt3tN72oqoe/j0rlUp8+eWXsLW1Rdu2bXX2PkRkmNgniagKnn32WXh7e6N169bIzMzEDz/8gLi4OKxfv17fpRmFo0ePYsqUKRg6dCicnJxw6tQpfPvtt2jevDmGDh2qs/eZNGkS8vLyEBYWhoKCAvz22284cuQI5syZw46zREaAIYmoCiIiIvDNN99g/fr1UCqVaNq0KTZs2KBxk1GqOb6+vvDy8sIXX3yBO3fuwNHRES+//DLmzZtX4TmeKqJ79+5YtGgRtm3bhvz8fAQGBuLLL7/UuE8aEdVf7JNEREREpAX7JBERERFpwZBEREREpAX7JFWSSqVCUlISbGxsauz2EERERKRbQghkZWXB09OzwpOCMiRVUlJSEry8vPRdBhEREVXB9evX0bBhwwqty5BUSTY2NgBKdrKtra2eqyEiIqKKUCgU8PLyUp/HK4IhqZJKL7HZ2toyJBEREdUxlekqw47bRERERFowJBERERFpwZBEREREpAX7JNUQpVKJoqIifZehV2ZmZjAxMdF3GURERFXCkKRjQgikpKQgIyND36UYBHt7e7i7u3NOKSIiqnMYknSsNCC5urrC0tLSaMOBEAK5ublIS0sDAHh4eOi5IiIiosphSNIhpVKpDkhOTk76LkfvLCwsAABpaWlwdXXlpTciIqpT2HFbh0r7IFlaWuq5EsNRui+MvX8WERHVPQxJNcBYL7Fpw31BRER1FUMSERERkRYMSURERERaMCQRAGDkyJGQSCSQSCQwMzODn58f3nnnHeTn5wMAEhISMGbMGPj5+cHCwgIBAQGYOXMmCgsL9Vw5ERFRzeDoNlLr3bs31qxZg6KiIpw8eRKRkZGQSCSYP38+4uLioFKpsHLlSgQGBuLs2bMYN24ccnJy8Nlnn+m7dCIirfIKlVAJASs5T3dUeTxqSE0ul8Pd3R0A4OXlhZ49e2L37t2YP38+evfujd69e6vX9ff3x8WLF7F8+XKGJCIyOGduZGJddAK2xCahsFgFZ2s5/Jwt4eNkBV8nS/g6W8HXyQo+TpawMTfT2fsWKVW4nV2I9KwC3MopQBN3W7jbmets+1S7GJJqmBACeUVKvby3hZlJlUeXnT17FkeOHIGPj88j18nMzISjo2NVyyMi0qnCYhX+PJuMdUcScCoxQ+O5W9kFuJVdgBMJd8u8zslKBl/nksDk62R1L0CVBCo7CzMUFqtwO6cAt7IKkZ6df+/fgnvbLER6Vj5uZRfiVnYBMnI1pzuRmUqxblQIwgI4d15dxJBUw/KKlGg6Y5de3vv8xxGwlFX8V7xt2zZYW1ujuLgYBQUFkEql+Oqrr7SuGx8fjy+//JKtSESkd2mKfKw/logfjyciPasAAGBmIkHfFh6I7OCLAGdrXLuTg4Tbubh2KwdXb+fg2u1cXLudg1vZhbidU/J18lrZAGUpM0FuYeX+o2silcDJSgZTqQRJmfkYu+4Efhz3JFp52evix6VaxJBEat26dcPy5cuRk5ODJUuWwNTUFIMHDy6z3s2bN9G7d28MHToU48aN00OlRGTshBA4lXgX645cw44zyShWCQCAq40cI0J98EKoF1xt7l/mamlpj5YN7ctsJyu/CNdu5yLhXnBKuFXy79XbOUjPKlAHJFOpBE7WMjhby+FsLYeLjfze9zL196X/2luYQSqVIL9IidFrT+DI5duIXHMcv7wShifcbGpl/5BuMCTVMAszE5z/OEJv710ZVlZWCAwMBACsXr0arVq1wrfffosxY8ao10lKSkK3bt3QoUMHrFq1Sqf1EhE9Tn6REltjk7AuOgFnbyrUy4N9HBDZwRe9m7lDZlrxgds25mZo3sAOzRvYlXkup6AYqYp8OFjKYHcv+FSGuZkJVr3cDi9+cwwx1zPw4jfHsGlCB3g78a4MdQVDUg2TSCSVuuRlKKRSKd577z1MnToVw4cPh4WFBW7evIlu3bohODgYa9asgVTKGSSIqHbczMjDD0evYcPxRNy91+9HZirFM608EdnBV2vIqS4ruSn8XayrtQ1ruSnWjmqP51YexcXULIz49ig2TegAN1t25q4LeJajRxo6dChMTEywbNky3Lx5E127doW3tzc+++wzpKenIyUlBSkpKfouk4jqqcJiFfbGpWLC9ycRPn8vlu+/jLu5RfC0M8c7vYNwdHoPLBzaqkYCki7ZW8rw/ZgQ+DhZ4vqdPLz4zTHczeEcc3VB3WvioFpjamqK119/HQsWLICFhQXi4+MRHx+Phg0baqwnhNBThURU3xQWq3D48i1sP52Mv86lQJFfrH4uzN8JkR180bOJK0xN6tb/8V1tzfHDmFAMXRGNS2nZiFxzHOvHhup0+oG6rEipQlJGHhLv5CLxTi5szM0woJWnvsuCRPAMVykKhQJ2dnbIzMyEra2txnP5+fm4evUq/Pz8YG7OplSA+4SIHq9IqcKRy7ex/XQSdp1LRWbe/WH0LjZy9GvhgeGh3vWi03N8WhaGrojG3dwihPo5Yt3oEJhXsv9oXZWZW4TEO7m4dicHiXdycf1eIEq8k4ukjHwoVffjSDsfB2x6tYNO37+88/ejsCWJiIhqXbFShaNX7mD7mSTsPJui7mcEAM7WcvRt4Y5+LTzQztcRJpXsMG3IAl1t8N3oUAz/+iiOXb2D19afwsqXgmFWx1rGtFGpBJIV+eoRgtfu5NwPQrdzNVoFtZGbSuHlaAkfR0s0M5BLqAxJRERUK4qVKhy/egfbziRj59kU3HmgX46TlQx9WrijXwtPhPjVr2D0sBYN7fDtyPZ46dtj2BuXhqm/xGLpc63rxM+sUgmkZuXj6q0cJNwqmTqh5PscXLuTi8JiVbmvd7GRw/teEPJytIS3oyW8nUr+dbGWV3oEYU1jSCIiohojhMCJhLvYEnsTO8+m4Fb2/WDkaCVD7+bueLqFB0L8HOtcP6PqCPFzxIqXgjFu3T/YGpsEG3NTzB7YvMp3SdC1OzmF+C81Cwn3Jt9MuBeKrt3JQX7Ro4OQmYlE3Rrk42RVEoLuBaGGDhZ1brR33aqWiIjqhCKlCjvOJGPVwSs4l3R/PiN7SzP0aV7SYvSkv3EFo4d1C3LF0udbY9JP/+LHY4mwNTfDu30a67ss7D6fiok/nnpkq5Cp9F4QuncbFz/nklu5+DlZwdPevF79ThmSagD7wt/HfUFkXLILirHheCJWH7qKpMx8ACUT2z7d0gNPt/JEhwCnetH/RleebumJ7PxivPvbGaw4cBk25qaY2C1Qb/XczSnE9N9Oo7BYBU87cwS62cCv9IbA94JQAwcLo/kdMiTpkJlZyVDO3NxcWFhY6Lkaw5Cbmwvg/r4hovopJTMfa45cxY/HEpF1r4Ous7UcIzv4YESoDxysZHqu0HA9H+KNrPxizN5xAQt3XYStuSleCvPVSy0fbzuPW9mFaORqjW1vdILc1DhG3j0KQ5IOmZiYwN7eHmlpaQAAS0tLg7m+XNuEEMjNzUVaWhrs7e1hYmLcf2hE9dWFZAW+jrqCLTFJ6vunBbhYYXxnfzzTuoHRDG+vrnGd/aHIL8KXe+Px4R/nYG1uikFtGj7+hTq0Ny4Vm/+9CakEWDCkpdEHJIAhSefc3d0BQB2UjJ29vb16nxBR/SCEwOH421gVdQUH/0tXLw/1c8T4zv7oFuRqcKOU6oKpTz2BrPxirD2SgLc2noa13AxPNXWrlfdW5Bfhvd/OAgDGdPJDG2+HWnlfQ8eQpGMSiQQeHh5wdXVFUVHR419Qj5mZmbEFiXQuv0gJU6mkXnUOrSuKlCpsO52EVQev4kJySWdsqQTo28ID48L90crLXr8F1nESiQQznm4KRX4Rfjt1ExN/PIV1o0IQFuBU4+89d8cFpCjy4etkialPBdX4+9UVDEk1xMTEhAGBSMduZuRh8P8dQbFKhel9muDZtg2M9pJ2bcrMK8IvJ65j9eGrSL7XGdtSZoJh7bwwppMfvBx5V3tdkUolWDC4JXIKirHrXCom/HASm1/rUO0b7ZbnSPwt/HT8OgBg3uCWsJDx3FWKtyWppKpMa05E1VekVGHYymj8m5ihXhbi54hPBzavF7erMDR5hUr8HZeKLTFJ2H8xHYXKkuHgLjZyjOzgixGh3rC3ZGfsmpJfpMTwr4/iVGIGfJ0ssfm1jjXS+T23sBgRSw+W3Hj3SW98OrCFzt/DUFTl/M2QVEkMSUT6MWfHBaw6eAU25qYY2cEX30RdRd69S29jw/3xRo/AOjdRnaEpUqpwKP4WtsQk4a9zKcgpVKqfa+xug9Ed/fBMG0926K0l6VkFGLjsMG5m5OFJf0d8NzoUMlPdXmaetfUc1hxOQAN7C+ya0hnW8vr7N8SQVAsYkohq357zqRj73T8AgBUvBqN3c3fcuJuLWVvPY/f5VABAA3sLzOjfFL2auvESXCWoVAL/XLuLP2JuYseZZI17qDV0sMCAVp4Y0NoTjd35eacPF1OyMHj5EWQXFGNYu4aYP7ilzo7vk9fuYMiKaAgBrBsdgi5PuOhku4aKIakWMCQR1a6bGXno+3kUMvOKMLqjH2b0b6rx/J7zqZi55RxuZuQBAHo0dsVHA5qxn0w5hBA4l6TA1tgkbI1NUk/6CADO1jI83dIT/Vt5oq23PQOnAdgXl4Yx605AJYD3+jbG+M4B1d5mfpESfb+IwpX0HAwJbojPhrbSQaWGjSGpFjAkEdWeB/shtWpoh40TOmi93JBXqMSXey/h66grKFIKmJtJMal7I4wN9+OloQdcvZWDLTFJ2BJ7E5fTc9TLbeSmiGjujmdaeyLM34kjBw3QmsNXMWvreUgkwMoXg9GrWfWmVlmwMw7/t/8yXGzk2DOlC+ws6/+EvwxJtYAhiaj2zN5+Hl9HXYWtuSm2vxH+2Nah+LQsfPj7OURfuQ0A8HexwqfPNEeHQOfaKNcgCSGw50IavtoXj9jrGerlMlMpejZxxYBWnuga5MpJHw2cEAIf/nEWPxxNhIWZCTZOCEPzBnZV2tbZm5l4ZtlhKFUCK18KRkQ1A1ddwZBUCxiSiGrH7vOpGHevH1JlPsiFEPgjJgmfbr+AW9kFAIBnWnvi/X5N4GpjXmP1Ps6V9Gx88fclBPs4YEiwV60Msz5y+RYW7rqoHhFoIpWgY6AznmnliV7N3GBjXv9bD+qTIqUKo9eeQNSlW3C3Nccfr3eEm23ljukipQoDvjqMC8kK9GvpgWXD29ZQtYaHIakWMCQR1bwbd3PR74tDj+yHVBGZeUVY9NdFfH/0GoQouaT0VkQQXnzSBya1PBt0fFo2Xvj6KNKzSkKbo5UMLz3pg5fDfOBkLdf5+52+kYGFuy4i6tItACU3mB3V0RejO/nBuQbej2pPZl4RBi8/gvi0bLRsaIefx4dVKnB/+fclLNr9HxwszbB7ahejOh4YkmoBQxJRzSosLumHFHM9A6287LHxlbBqDXs+cyMT7/9+BqdvZAIAmjewxZJhrdGoluZWejAgBbhYoVCpwvU7JZ3Mzc2kGBLcEGM7+cPX2Uon77Xor4v482wKAMDMRIIXQrzxevdAvbaikW4l3s7FM8sO4W5uEfo0d8ey4W0rdBuY/1Kz0O+LKBQpBT5/vjWead2gFqo1HAxJtYAhiQzB3ZxCHLyUjlYN7XVycq2M7IJiLNn9HzzszBHZwRdmOu7kW9l+SBWhVAn8eDwRC3bGISu/GDbmplj5YnCN91V6MCA1drfBj+OehK25KXaeS8HKA1dw5mZJcJNKgN7N3TG+cwBaV+HWHjcz8rB093/49dQNqAQgkQCDWjfAlKee4Ci/eupEwh2M+PoYCpUqTOwWgLcjGpe7vlIlMHj5EcRcz0CPxq74JrKd0Y1cZEiqBQxJpC9Z+UXYfT4VW2OTEHXpFopVAtZyU/zfiLboXEvzm6Qp8jFq7QmcSyq5b1czT1t8NrQVmnjo5m/hwX5Iq16q/gieh6VnFeC19SdxIuEuTKUSzBvcEkOCa+ZO69oCkuMDMyYLIRB95TZWHbyC/Rfv3yQ2xM8Rr1TwJrG3sguwbF881h9NVM+I/VRTN7zVKwhB7pyFvL779eQNTNsYCwBYNLQVBpdzLH8TdQWfbr8AG7kpdk/tAnc742tZZEiqBQxJVJvyCpXYG5eGrbFJ2HsxDYXFKvVzjlYy3MkphIlUgtkDm+P5EO8arSU+LRuRq4/jZkYeHK1kUAmBjNwimEolmNgtEBO7BVbrstiD/ZDGdPLDh09Xvh9SReQXKfH2ptPYGpsEAHijeyCmPPWETv9X/biA9LCLKVlYdfAKtsTeRJGy5CM50NUa48P9tc5wrcgvwtcHr+DbQ1eRe29W7DB/J7zdOwhtefd2o7JwVxyW7bsMMxMJ1o99EiF+jmXWSbiVg4ilB1FQrMK8Z1vU+GeFoWJIqgUMSVTTCotViLqUjq2xSdh9PlXj1hABLlbo36pkor+GDhZ499cz2PzvTQDAa10D8FavoAr1TaisEwl3MHbdP8jMK4KvkyXWjQ6BhcwEH/5+FrvOlcx43djdBp8NbVWlYcm67of0OCqVwKLdF7Fs32UAwKA2DTBvcAudzKlU2YD0oOTMPKw5nIAfjyUiu6AYAOBqI8eojn4YHuoNuakU644kYPmBy8i4NzN2y4Z2eCeiMToGOhnd5RMqOZYn/ngKf55NgYOlGX6f2BE+TlYaz7/w9VEcu3oHHQOd8MOYUKM9ThiSagFDEtWEYqUKR6/cwdbYJPx5NhmK/GL1cw0dLEqCUUtPNPGw0fiAE0JgyZ5L+OLvSwCA/q08sXBIS53OefPnmWRM/jkGhcUqtPayx7eR7dQjsoQQ2HY6GTO3nFO3ar3aJQCTegRWKnB8uu08vjmk235IFfHziUS8t/kslCqBED9HrHopuFo3ba1OQHqQIr8IPx1LxOrDV5GqKBkRZy03haXMBGn3RsgFulrjrV5PIKKZu9Ge9KhEXqESw1ZG48zNTAS6WuPXVzvAzqJkeofvj17Dh7+fhYWZCf6a0tmo+6gxJNUChiTSFZVK4FTiXWyNTcL2M8m4lV2ofs7VRo5+LT0woJUnWns9/tYQm07ewLu/nkaxSqC9rwNWvdROJ3cMX33oKj7Zfh5CAD2buOHLF9poHW58O7sAM7acw/bTyQCAJ9yssXBIK7SqQCfkv86lYPz3JwHUTD+kx4m6lI7XfjiFrIJi+LtYYe3IEHg7Vf5EoquA9KDCYhX+iLmJr6Ou4L/UbAAl96h7s2cjPNu2Ya1PZUCGK1WRj2e+OowURT7CGzljzcj2SM0qQK/FB5BTqMRH/ZtiZEc/fZepVwxJtYAhiXRBCIHXf/wX288kq5c5WJqhTwsP9G/piRA/x0qfAA/H38KEH04iK78Yfs5WWDOyfZVHvqlUAnP/vICvo64CAF580huzBjR/bE1/nknGh3+cxa3sQkglwPjOAXizZ6NHtmxdv5OLfl9EQZFfXKP9kB4nLkWB0WtOICkzH05WMnwd2a5SfXtqIiA9SAiBQ/G3oMgrRs+mrrzVCml19mYmhq6IRl6REi8+6Y3rd/Jw4L90tPNxwC+vhNXIpfi6hCGpFjAkkS7sPJuCCT+chJmJRN3HqFOgc7WH0/+XmoVRa06oO1d//XI7BPtUriNvfpES0zbGqluF3ukdhFe7BFT4ks6dnELM2noOf8SUdIwOcLHCgiGtytTxYD+k1l72+KWG+yE9TqoiH2PWncDZmwrITaVY+lxr9Gnh8djX1XRAIqqMv86l4JUfTqL0zC4zleLPyeEIcLHWb2EGoCrnb97FkKiW5RUq8cm28wCAVzoHYPGw1ugW5KqT+YaecLPB5okd0LKhHe7kFOKFr4+qw05FZOYW4eXVx7H9dDLMTCRY8lwrvNY1sFJ9XhytZPj8+TZY9VIwXGzkuJyegyErjmD29vPIL7rfCX3BzjjEXM+ArbkpvhreRq8BCQDcbM3x8/gw9GjsioJiFV778RS+PngF5f0/kgGJDE2vZu6Y3uf+nElTej7BgFQNbEmqJLYkUXUt3v0fvvj7EjztzLFnWhdYykx1/h65hcV446cY7LlQMvJsep/GGN/Zv9ywczMjDyNXH8eltGzYyE2x4qVgdKzmZIsZuYX4eNt5/HaqZASen7MVFgxpibs5hep+SF+/3A5PNXWr1vvoklIl8PHWc1gXfQ1AyaXGj/o3g+lDIZYBiQyVEALfHrqK9OwCvN0rqMyxa6x4ua0WMCRRdSTezkXPJQdQWKzC/41oi74VuJxTVUqVwCfbzmPtkQQAwIhQb8waUPZkDwDnkjIxas0JpGUVwM1WjrWjQnQ2QSQA7I1LxXu/nUWKIh8SCWBuaoK8IiXGdvLDB3rqh1QeIQRWH07Ap/c6rXcLcsFXw9vCSl4SaBmQiOoeXm4jMnAfbzuPwmIVOgY6oU/zmh3FZSKV4KMBzTDj6aaQSID1xxIx9rt/1PPvlIq6lI7nVh5FWlYBnnCzxubXOuo0IAFA98Zu2DWlM4a1awghgLwiJVp72eOd3uXfSkFfJBIJxnTyw/IRwTA3k2LfxXQMXRGNlMx8BiQiI8KWpEpiSxJV1b64NIxaewKmUgl2vhmOQNfau23ErnMpmLzhX+QXqdDUwxarR7aHu505fjt1A+9sKpk6INTPEatebqeeX6WmRF1Kx964NEzoEgA3W8O/NULM9QyMXXcCt7IL4WFnjmKVYEAiqoN4ua0WMCRRVRQUKxGx5CASbudifGd/vNe3Sa3XEHs9A2Punezdbc3Rr6UHvj1UMsS/fytPfDa0JYeWP8L1O7kYtfYE4tNK5ipiQCKqe3i5rRKWLVsGX19fmJubIzQ0FMePH9d3SVSPfRN1FQm3c+FqI8ek7oF6qaGVlz02v9YRga7WSFHkqwPS+M7++Py51gxI5fBytMSvEzqgXwsPdHnChQGJyEgYZUj6+eefMXXqVMycOROnTp1Cq1atEBERgbS0NH2XRvXQzYw8fLm35LYh7/VtAhvzmr2cVZ7Sk32nQGeYSiWY2b8p3uvbxOgnmasIO0szLBvRFutGhzAgERkJo7zcFhoaivbt2+Orr74CAKhUKnh5eWHSpEl49913y30tL7fVH0qVwB8xN6HIK8JLYb41douHietPYfuZZLT3LZn11hDusyWEQG6hUj1ai4iovqvK+dvoPiELCwtx8uRJTJ8+Xb1MKpWiZ8+eiI6O1mNlVJuOXrmNWVvP40KyAgBwLkmB+YNb6rxF5XD8LWw/kwypBJg1oLlBBCSgZPQWAxIRUfmM7lPy1q1bUCqVcHPTnLzOzc0NcXFxZdYvKChAQUGB+rFCoajxGqnmXL+Ti7l/XsCOMykAABu5KXKLlNh48gakEgnmPttCZ0GpSKnCzC3nAAAvPemDpp5seSQiqkuMsk9SZcydOxd2dnbqLy8vL32XRFWQU1CMhbvi0GPxAew4kwKppGRyxf1vd8WS51pDKgF+/uc63v/9DFQq3VyBXnckAfFp2XC0kmHqU0E62SYREdUeo2tJcnZ2homJCVJTUzWWp6amwt297OR+06dPx9SpU9WPFQoFg1IdolIJbP73JubvjENaVkmLYJi/E2b0b6qeMHFAK08IITDl5xj8dPw6JBIJPn2mebValNIU+Vi6p6Sz9v96B8HOUn+dtYmIqGqMLiTJZDIEBwfj77//xsCBAwGUdNz++++/8frrr5dZXy6XQy6X13KVpAunEu9i1tbziL2eAQDwdrTEe32bIKKZW5m+Qc+0bgCVEJj6Syx+PJYIqQT45Jmq9yGa92ccsguK0crLHkODGaqJiOoiowtJADB16lRERkaiXbt2CAkJwdKlS5GTk4NRo0bpuzTSgeTMPMz/Mw6/xyQBAKxkJpjYPRCjO/rB3OzRcwENatMQKhXw1qZY/HA0EVKJBLMGNKt0UDqRcAe//XsTEgnw8YBmHF5PRFRHGWVIeu6555Ceno4ZM2YgJSUFrVu3xs6dO8t05qa6Jb9IiVUHr2D5/svIK1ICAIYGN8TbEUFwreDtLwYHN4QA8PamWHwXfQ1SSclcQhUNSkqVwIw/SjprP9/eC6287KvyoxARkQEwynmSqoPzJBkeIQS2n0nG3B1xuJmRBwAI9nHAzP5N0bKhfZW2+cuJ63jn19MAgFEdfe/dJPbxQen76AR8+Mc52FmYYd9bXTnpIBGRgeA8SWR0kjPzMPmnGBxPuAMA8LAzx/S+TdC/pUe15iQa1t4LKiHw7m9nsOZwAqQSCT7o16Tcbd7OLsDCXRcBAG/1eoIBiYiojmNIojqrWKnCxPWncCoxA+ZmUkzoEoBXOgfAQqabe5A9H+INlQDe23wG3x66Cqmk5LYijwpKn/11EYr8YjT1sMXwUB+d1EBERPrDkER11pd743EqMQM2clP88XpH+LtY6/w9hod6Q0Dg/c1n8XXUVUglErzbp3GZoBR7PQMbTlwHAHz8TLMau8UJERHVHk4mSXXSPwl31DeN/XRQ8xoJSKVGhPrgk2eaAQBWHryC+Tsv4sGufCqVwIwt5yAE8GybBmjn61hjtRARUe1hSKI6JzOvCJM3xEB1L5Q807pBjb/nS2G+mDWgJCitOHAZC3fdD0obT15H7PUMWMtN8W6fxjVeCxER1Q5ebqM6RQiBD38/i5sZefB2tMSsey08tSGygy9UQmDW1vP4v/2XYSKVYGwnf8zfWdJZ+82ejSo81QARERk+hiSqUzb/exNbYpNgIpVg6fOtYWNeu7f7GNXRDyoBfLLtPL7cG48dZ5JxJ6cQjVytEdnBt1ZrISKimsXLbVRnXLudo56ocXKPRmjr7aCXOsZ08sMH/ZoAAC6n5wAAZg1oBjMT/jkREdUnbEmiOqFIqcLkDTHILihGiK8jJnYL1Gs9Y8P9oRIC8/6Mw5DghugQ6KzXeoiISPcYkqhO+OLvS4i5ngEbc1Mseb61QQyxH985AMPaecHOonYv+RERUe1gSCKDd/zqHSzbFw8AmDOoBRrYW+i5ovvsLTmrNhFRfcVOFGTQMnOL8OaGf6ESwOC2DdG/lae+SyIiIiPBkEQGSwiB934/g6TMfPg41e5wfyIiIoYkMlibTt7A9tPJMJVK8PnzbWAt59VhIiKqPQxJZJASbuVg5paS4f5TnnoCrb3s9VsQEREZHYYkMjglw/3/RW6hEqF+jpjQJUDfJRERkRFiSCKDs3TPf4i9kQlbc1Msec4whvsTEZHxYUgigxJ9+Tb+b/9lAMC8wS3haUDD/YmIyLgwJJHByMgtxNRfYiAEMKxdQ/Rt4aHvkoiIyIgxJFG1FSlVOHntDuLTslFYrKrSNoQQeG/zGSRn5sPP2Qoz+3O4PxER6RfHVFO1rT50FXP/jAMAmEgl8Ha0RICLFfxdrOHvbIUA15J/Ha1kkEi09y/a+M8N7DiTcm+4f2tYcbg/ERHpGc9EVG2X0rIBABIJoFQJXL2Vg6u3coALaRrr2VmY3Q9PLlYIcLFGgIsVVALq4f7TegWhZUP72v4RiIiIymBIomrLyi8CAHw8oBmeauqOy+nZuJKejcvpOfe+z8HNjDxk5hXhVGIGTiVmaN1OmL8TXunsX4uVExERPRpDElWbIq8YAGBrYQZ3O3O425mjY6Czxjp5hUpcvZWDK7dKQlNpeLqSno2cQiWcrWVY/FwrSDncn4iIDARDElVbVkFJS5Ktudkj17GQmaCppy2aetpqLBdCIFVRACu5CWzKeT0REVFtY0iiasvKL2lJsjGv/OEkkUjgbmeu65KIiIiqjVMAULXdD0lsCSIiovqDIYmqRQih7rhdlZYkIiIiQ8WQRNVSUKxCkVIAYEgiIqL6hSGJqkVxrxVJIgGsZAxJRERUfzAkUbWU9keylpty+D4REdUrDElULYq8xw//JyIiqosYkqhaqjP8n4iIyJAxJFG1lIYktiQREVF9w5BE1cLh/0REVF8xJFG18HIbERHVVwxJVC33W5J4uY2IiOoXhiSqFgVbkoiIqJ5iSKJq4X3biIiovmJIomopnXHb1oItSUREVL8wJFG1sE8SERHVVwxJVC0c3UZERPUVQxJVy/3JJBmSiIiofmFIomrh5TYiIqqvGJKoyoQQvNxGRET1FkMSVVl+kQrFKgGALUlERFT/MCRRlZVeapNKACuZiZ6rISIi0i2GJKoyxQP9kSQSiZ6rISIi0i2GJKoy3pKEiIjqM4YkqjLekoSIiOozhiSqsvvD/9mSRERE9Q9DElUZJ5IkIqL6jCGJqowTSRIRUX3GkERVxokkiYioPmNIoipjSCIiovqMIYmqTJFXcrnNlpfbiIioHmJIoipTcAoAIiKqxxiSqMo4BQAREdVnDElUZeyTRERE9RlDElVZVgGnACAiovqLIYmqjJNJEhFRfcaQRFUihOC924iIqF5jSKIqyStSQqkSANgniYiI6ieGJKoSRV5JK5KJVAJLmYmeqyEiItI9hiSqkgeH/0skEj1XQ0REpHsMSVQlCg7/JyKieo4hiapE3ZIkZ6dtIiKqnxiSqEo4kSQREdV3DElUJRz+T0RE9R1DElVJ6eU2TiRJRET1Vb0KSb6+vpBIJBpf8+bN01jn9OnTCA8Ph7m5Oby8vLBgwQI9VVu38XIbERHVd/XuDPfxxx9j3Lhx6sc2Njbq7xUKBXr16oWePXtixYoVOHPmDEaPHg17e3uMHz9eH+XWWYrSliQLXm4jIqL6qd6FJBsbG7i7u2t9bv369SgsLMTq1ashk8nQrFkzxMTEYPHixQxJlcSWJCIiqu/q1eU2AJg3bx6cnJzQpk0bLFy4EMXFxernoqOj0blzZ8hkMvWyiIgIXLx4EXfv3tVHuXXW/ckk2ZJERET1U71qBnjjjTfQtm1bODo64siRI5g+fTqSk5OxePFiAEBKSgr8/Pw0XuPm5qZ+zsHBocw2CwoKUFBQoH6sUChq8CeoOziZJBER1XcG35L07rvvlumM/fBXXFwcAGDq1Kno2rUrWrZsiQkTJmDRokX48ssvNUJOZc2dOxd2dnbqLy8vL139aHUapwAgIqL6zuCbAaZNm4aRI0eWu46/v7/W5aGhoSguLkZCQgKCgoLg7u6O1NRUjXVKHz+qH9P06dMxdepU9WOFQsGgBM17txEREdVHBn+Gc3FxgYuLS5VeGxMTA6lUCldXVwBAWFgY3n//fRQVFcHMrKQFZPfu3QgKCtJ6qQ0A5HI55HJ51Yqvx0pbkjhPEhER1VcGf7mtoqKjo7F06VLExsbiypUrWL9+PaZMmYIXX3xRHYCGDx8OmUyGMWPG4Ny5c/j555/x+eefa7QU0eMJIdhxm4iI6r160wwgl8uxYcMGfPTRRygoKICfnx+mTJmiEYDs7Ozw119/YeLEiQgODoazszNmzJjB4f+VlFOohEqUfG/LkERERPVUvQlJbdu2xdGjRx+7XsuWLREVFVULFdVfpa1IplIJzM3qTWMkERGRBp7hqNIenEhSIpHouRoiIqKawZBElcb+SEREZAwYkqjSOJEkEREZA4YkqjTet42IiIwBQxJVGi+3ERGRMWBIokpjSxIRERkDhiSqNEVeSUsS50giIqL6jCGJKo23JCEiImPAkESVxj5JRERkDBiSqNLYJ4mIiIwBQxJV2v2QxJYkIiKqvxiSqNIU6sttbEkiIqL6iyGJKo2X24iIyBgwJFGlseM2EREZA4YkqhSVSiCrgFMAEBFR/ceQRJWSU1gMIUq+t7VgSxIREdVfDElUKaX9kcxMJJCb8vAhIqL6i2c5qpQHh/9LJBI9V0NERFRzqhSSiouLsWfPHqxcuRJZWVkAgKSkJGRnZ+u0ODI8WRz+T0RERqLSZ7pr166hd+/eSExMREFBAZ566inY2Nhg/vz5KCgowIoVK2qiTjIQHP5PRETGotItSZMnT0a7du1w9+5dWFhYqJcPGjQIf//9t06LI8OjnkhSzk7bRERUv1W6OSAqKgpHjhyBTCbTWO7r64ubN2/qrDAyTGxJIiIiY1HpliSVSgWlUllm+Y0bN2BjY6OToshwKTiRJBERGYlKh6RevXph6dKl6scSiQTZ2dmYOXMm+vbtq8vayACVtiTZWrAliYiI6rdKn+kWLVqEiIgING3aFPn5+Rg+fDguXboEZ2dn/PTTTzVRIxkQ3pKEiIiMRaVDUsOGDREbG4sNGzbg9OnTyM7OxpgxYzBixAiNjtxUP6lbktgniYiI6rkqnelMTU3x4osv6roWqgPYcZuIiIxFpc903333XbnPv/zyy1UuhgwfL7cREZGxqHRImjx5ssbjoqIi5ObmQiaTwdLSkiGpnmNLEhERGYtKj267e/euxld2djYuXryITp06seO2EXjw3m1ERET1mU5ucNuoUSPMmzevTCsT1T+KPN67jYiIjINOQhJQ0pk7KSlJV5sjA6RSCWQXlo5uY0sSERHVb5VuDtiyZYvGYyEEkpOT8dVXX6Fjx446K4wMT3ZhMYQo+Z4tSUREVN9V+kw3cOBAjccSiQQuLi7o3r07Fi1apKu6yACV9keSmUhhbmai52qIiIhqVqVDkkqlqok6qA64P/yfrUhERFT/6axPEtV/HP5PRETGpEJnu6lTp1Z4g4sXL65yMWTYOJEkEREZkwqFpH///bdCG5NIJNUqhgwbW5KIiMiYVOhst2/fvpqug+oAzpFERETGhH2SqMIU+ZwjiYiIjEeVmgT++ecf/PLLL0hMTERhYaHGc7/99ptOCiPDw1uSEBGRMal0S9KGDRvQoUMHXLhwAZs3b0ZRURHOnTuHvXv3ws7OriZqJAPBKQCIiMiYVDokzZkzB0uWLMHWrVshk8nw+eefIy4uDsOGDYO3t3dN1EgGgh23iYjImFQ6JF2+fBn9+vUDAMhkMuTk5EAikWDKlClYtWqVzgskw1HaksQ+SUREZAwqHZIcHByQlZUFAGjQoAHOnj0LAMjIyEBubq5uqyODwpYkIiIyJhUOSaVhqHPnzti9ezcAYOjQoZg8eTLGjRuHF154AT169KiZKskgsOM2EREZkwo3CbRs2RLt27fHwIEDMXToUADA+++/DzMzMxw5cgSDBw/GBx98UGOFkv4p2HGbiIiMSIXPdgcOHMCaNWswd+5czJ49G4MHD8bYsWPx7rvv1mR9ZEBKW5JsLdiSRERE9V+FL7eFh4dj9erVSE5OxpdffomEhAR06dIFTzzxBObPn4+UlJSarJP0TKkSyC5gnyQiIjIele64bWVlhVGjRuHAgQP477//MHToUCxbtgze3t4YMGBATdRIBqA0IAEMSUREZByqdVuSwMBAvPfee/jggw9gY2OD7du366ouMjClw/9lplLITU30XA0REVHNq3KTwMGDB7F69Wr8+uuvkEqlGDZsGMaMGaPL2siAqPsjsRWJiIiMRKXOeElJSVi7di3Wrl2L+Ph4dOjQAV988QWGDRsGKyurmqqRDACH/xMRkbGpcEjq06cP9uzZA2dnZ7z88ssYPXo0goKCarI2MiC8bxsRERmbCp/xzMzMsGnTJjz99NMwMWGfFGPDOZKIiMjYVPiMt2XLlpqsgwzc/T5JvNxGRETGoVqj28h48L5tRERkbBiSqELuX25jSxIRERkHhiSqELYkERGRsWFIogrhFABERGRsGJKoQjgFABERGRuGJKoQzrhNRETGhiGJKkSRx47bRERkXBiSqEI4TxIRERkbhiSqEPZJIiIiY8OQRI+lVAnkFCoBMCQREZHxYEiix8q+d6kNYJ8kIiIyHgxJ9Fils23LTaWQmfKQISIi48AzHj0WJ5IkIiJjxJBEj1XaaZtzJBERkTGpMyFp9uzZ6NChAywtLWFvb691ncTERPTr1w+WlpZwdXXF22+/jeLiYo119u/fj7Zt20IulyMwMBBr166t+eLrOAXv20ZEREaozoSkwsJCDB06FK+++qrW55VKJfr164fCwkIcOXIE69atw9q1azFjxgz1OlevXkW/fv3QrVs3xMTE4M0338TYsWOxa9eu2vox6iR1S5IFL7cREZHxqDNNA7NmzQKAR7b8/PXXXzh//jz27NkDNzc3tG7dGp988gn+97//4aOPPoJMJsOKFSvg5+eHRYsWAQCaNGmCQ4cOYcmSJYiIiKitH6XOyWJLEhERGaE605L0ONHR0WjRogXc3NzUyyIiIqBQKHDu3Dn1Oj179tR4XUREBKKjo2u11rpGPZGknC1JRERkPOpN00BKSopGQAKgfpySklLuOgqFAnl5ebCwsCiz3YKCAhQUFKgfKxQKXZdu8NiSRERExkivLUnvvvsuJBJJuV9xcXH6LBFz586FnZ2d+svLy0uv9eiDglMAEBGREdJr08C0adMwcuTIctfx9/ev0Lbc3d1x/PhxjWWpqanq50r/LV324Dq2trZaW5EAYPr06Zg6dar6sUKhMLqgxPu2ERGRMdLrWc/FxQUuLi462VZYWBhmz56NtLQ0uLq6AgB2794NW1tbNG3aVL3Ojh07NF63e/duhIWFPXK7crkccrlcJzXWVbzcRkRExqjOdNxOTExETEwMEhMToVQqERMTg5iYGGRnZwMAevXqhaZNm+Kll15CbGwsdu3ahQ8++AATJ05Uh5wJEybgypUreOeddxAXF4f/+7//wy+//IIpU6bo80czeAp1SxIvtxERkfGoM00DM2bMwLp169SP27RpAwDYt28funbtChMTE2zbtg2vvvoqwsLCYGVlhcjISHz88cfq1/j5+WH79u2YMmUKPv/8czRs2BDffPMNh/8/RmlLkq1FnTlciIiIqk0ihBD6LqIuUSgUsLOzQ2ZmJmxtbfVdTq0InbMHqYoCbJvUCc0b2Om7HCIiokqryvm7zlxuI/1hnyQiIjJGDElUrmKlCrmFSgDsk0RERMaFIYnKlV1w/wbBbEkiIiJjwpBE5Sq91GZuJoWZCQ8XIiIyHjzrUbk4/J+IiIwVQxKVS5HHTttERGScGJKoXKW3JLFlSxIRERkZhiQqF4f/ExGRsWJIonKxJYmIiIwVQxKViy1JRERkrBiSqFxZBQxJRERknBiSqFxZnAKAiIiMFEMSlUvBy21ERGSkGJKoXIo8tiQREZFxYkiicpV23LZlSxIRERkZhiQqF/skERGRsWJIonJxCgAiIjJWDElUrvuX29iSRERExoUhiR6pSKlCXpESAFuSiIjI+DAk0SNl32tFAgBrhiQiIjIyDEn0SKWX2izMTGBmwkOFiIiMC8989EgK9cg2tiIREZHxYUiiR2JIIiIiY8aQRI+kHtlmwZFtRERkfBiS6JHuz5HEkERERMaHIYkeKYuX24iIyIgxJNEj8b5tRERkzBiS6JF43zYiIjJmDEn0SOo+SXK2JBERkfFhSKJH4hQARERkzBiS6JE4uo2IiIwZQxI9koLzJBERkRFjSKJH4hQARERkzBiS6JHuX25jSCIiIuPDkESPVNqSZMs+SUREZIQYkkirIqUK+UUqAGxJIiIi48SQRFqVXmoDAGvOk0REREaIIYm0UuSVXGqzlJnA1ISHCRERGR+e/UgrdtomIiJjx5BEWrHTNhERGTuGJNJKwZYkIiIycgxJpNX9iSTZkkRERMaJIYm0Yp8kIiIydgxJpBVvbktERMaOIYm0ut9xmy1JRERknBiSSCsFb25LRERGjiGJtOLlNiIiMnYMSaRVaUiytWBLEhERGSeGJNJKPQWAnC1JRERknBiSSCtOAUBERMaOIYm0UrBPEhERGTmGJNIqi6PbiIjIyDEkURkFxUoUFKsA8Aa3RERkvBiSqIzS/kgAYM2WJCIiMlIMSVRGaUiykpnARCrRczVERET6wZBEZahvSWLBS21ERGS8GJKoDA7/JyIiYkgiLe6PbGNLEhERGS+GJCpDwZYkIiIihiQqize3JSIiYkgiLTiRJBEREUMSaaHI4+U2IiIihiQqQz0FAC+3ERGREWNIojJK+yTZsiWJiIiMGEMSlZFVwCkAiIiIGJKoDE4mSURExJBEWnAKACIiIoYk0oJTABARETEkkRaccZuIiIghiR6SX6REYbEKAC+3ERGRcaszIWn27Nno0KEDLC0tYW9vr3UdiURS5mvDhg0a6+zfvx9t27aFXC5HYGAg1q5dW/PF1yGl/ZEAwFrOliQiIjJedSYkFRYWYujQoXj11VfLXW/NmjVITk5Wfw0cOFD93NWrV9GvXz9069YNMTExePPNNzF27Fjs2rWrhquvO9T9keSmMJFK9FwNERGR/tSZpoJZs2YBwGNbfuzt7eHu7q71uRUrVsDPzw+LFi0CADRp0gSHDh3CkiVLEBERodN66yoO/yciIipRZ1qSKmrixIlwdnZGSEgIVq9eDSGE+rno6Gj07NlTY/2IiAhER0fXdpkGi8P/iYiIStSr5oKPP/4Y3bt3h6WlJf766y+89tpryM7OxhtvvAEASElJgZubm8Zr3NzcoFAokJeXBwsLizLbLCgoQEFBgfqxQqGo2R9Czzj8n4iIqIReW5LeffddrZ2tH/yKi4ur8PY+/PBDdOzYEW3atMH//vc/vPPOO1i4cGG1apw7dy7s7OzUX15eXtXanqHj5TYiIqISej0TTps2DSNHjix3HX9//ypvPzQ0FJ988gkKCgogl8vh7u6O1NRUjXVSU1Nha2urtRUJAKZPn46pU6eqHysUinodlBT5vG8bERERoOeQ5OLiAhcXlxrbfkxMDBwcHCCXywEAYWFh2LFjh8Y6u3fvRlhY2CO3IZfL1a83BmxJIiIiKlFnzoSJiYm4c+cOEhMToVQqERMTAwAIDAyEtbU1tm7ditTUVDz55JMwNzfH7t27MWfOHLz11lvqbUyYMAFfffUV3nnnHYwePRp79+7FL7/8gu3bt+vppzI8bEkiIiIqUWdC0owZM7Bu3Tr14zZt2gAA9u3bh65du8LMzAzLli3DlClTIIRAYGAgFi9ejHHjxqlf4+fnh+3bt2PKlCn4/PPP0bBhQ3zzzTcc/v+A0pYkW4s6c2gQERHVCIl4cIw8PZZCoYCdnR0yMzNha2ur73J07pXv/8Guc6n4ZGBzvPSkj77LISIi0omqnL/r3TxJVD3qliT2SSIiIiPHkEQa2HGbiIioBEMSachix20iIiIADEn0ELYkERERlWBIIjUhBO/dRkREdA9DEqkVFKtQqFQBYEsSERERQxKplU4kKZEA1jKGJCIiMm4MSaRWeqnNWm4KqVSi52qIiIj0iyGJ1O7PkcT+SERERAxJpHZ/+D8vtRERETEkkRqH/xMREd3HkERqnEiSiIjoPoYkUmNLEhER0X0MSaSmyGOfJCIiolIMSaSm4Og2IiIiNYYkUuMtSYiIiO5jSCI1TgFARER0H0MSqbHjNhER0X0MSaSWVVDSksQ+SURERAxJ9AC2JBEREd3HkERq7LhNRER0H0MSAQCEEJwniYiI6AEMSQQAyC9SoVglAAC2FmxJIiIiYkgiAPeH/0slgJXMRM/VEBER6R9DEgG4P9u2tdwUEolEz9UQERHpH0OSgShSqnDgv3SkZxXo5f3vTyTJS21EREQAwB66BuJyejYiVx8HALjayNHU0xbNPG3R1MMOzTxt4e1oCam05lp4OPyfiIhIE8+IBiIztwj+Lla4eisHaVkFSLuYjv0X09XPW8tN0cTDBk09bO8FKDs0crOG3FQ3/YeyeHNbIiIiDQxJBiLU3wl7p3VFTkEx4lKycD5ZgfNJmTifpEBcShayC4pxIuEuTiTcVb/GVCpBoKu1OjS19rJDW2+HKvUp4n3biIiINPGMaGCs5KYI9nFAsI+DelmxUoUrt3Jw7l5oOpekwPlkBTJyixCXkoW4lCz8duomAKBXUzfMH9wSDlaySr2vgiGJiIhIA8+IdYCpiRRPuNngCTcbDGpTskwIgeTM/JLAlKTAuaRM7LuYhr/OpyL2xkEsHtYaHQOdK/wenG2biIhIE0NSHSWRSOBpbwFPews81dQNAHD2ZiYmb/gXl9Nz8OK3xzA+3B/TegVBZvr4QYzqPkkWPCSIiIgATgFQrzRvYIdtk8IxPNQbQgArD17B4OVHcDk9+7GvVXAKACIiIg0MSfWMhcwEcwa1wMqXgmFvaYYzNzPx9BeHsOF4IoQQj3wdpwAgIiLSxJBUT0U0c8fOyZ3RIcAJeUVKvPvbGby2/hQycgu1rs/JJImIiDQxJNVj7nbm+GFMKKb3aQxTqQR/nk1B76VRiL58u8y6bEkiIiLSxJBUz0mlErzSJQCbX+sIf2crpCjyMfybo5i/Mw5FSpV6vfuTSTIkERERAQxJRqNFQztse6MTnm/vBSGA5fsvY8jyI0i4lQOAHbeJiIgexpBkRCxlppg3uCWWj2gLOwszxN7IRN8vovDLP9eRzcttREREGhiSjFCfFh74c3I4nvR3RG6hEu9sOo1iVcnIN967jYiIqARDkpHytLfA+rFP4u2IIJhKS+71JpUAljLd3DCXiIioruO1FSNmIpVgYrdAdAx0xge/n8ETrjZVujkuERFRfcSQRGjtZY9tk8L1XQYREZFB4eU2IiIiIi0YkoiIiIi0YEgiIiIi0oIhiYiIiEgLhiQiIiIiLRiSiIiIiLRgSCIiIiLSgiGJiIiISAuGJCIiIiItGJKIiIiItGBIIiIiItKCIYmIiIhIC4YkIiIiIi0YkoiIiIi0MNV3AXWNEAIAoFAo9FwJERERVVTpebv0PF4RDEmVlJWVBQDw8vLScyVERERUWVlZWbCzs6vQuhJRmUhFUKlUSEpKgo2NDSQSiU63rVAo4OXlhevXr8PW1lan267PuN8qj/usarjfqob7rWq43yqvvH0mhEBWVhY8PT0hlVastxFbkipJKpWiYcOGNfoetra2/IOoAu63yuM+qxrut6rhfqsa7rfKe9Q+q2gLUil23CYiIiLSgiGJiIiISAuGJAMil8sxc+ZMyOVyfZdSp3C/VR73WdVwv1UN91vVcL9Vnq73GTtuExEREWnBliQiIiIiLRiSiIiIiLRgSCIiIiLSgiGJiIiISAuGJAOxbNky+Pr6wtzcHKGhoTh+/Li+SzJoH330ESQSicZX48aN9V2WwTl48CD69+8PT09PSCQS/P777xrPCyEwY8YMeHh4wMLCAj179sSlS5f0U6wBedx+GzlyZJnjr3fv3vop1kDMnTsX7du3h42NDVxdXTFw4EBcvHhRY538/HxMnDgRTk5OsLa2xuDBg5Gamqqnig1DRfZb165dyxxvEyZM0FPFhmH58uVo2bKletLIsLAw/Pnnn+rndXWsMSQZgJ9//hlTp07FzJkzcerUKbRq1QoRERFIS0vTd2kGrVmzZkhOTlZ/HTp0SN8lGZycnBy0atUKy5Yt0/r8ggUL8MUXX2DFihU4duwYrKysEBERgfz8/Fqu1LA8br8BQO/evTWOv59++qkWKzQ8Bw4cwMSJE3H06FHs3r0bRUVF6NWrF3JyctTrTJkyBVu3bsXGjRtx4MABJCUl4dlnn9Vj1fpXkf0GAOPGjdM43hYsWKCnig1Dw4YNMW/ePJw8eRL//PMPunfvjmeeeQbnzp0DoMNjTZDehYSEiIkTJ6ofK5VK4enpKebOnavHqgzbzJkzRatWrfRdRp0CQGzevFn9WKVSCXd3d7Fw4UL1soyMDCGXy8VPP/2khwoN08P7TQghIiMjxTPPPKOXeuqKtLQ0AUAcOHBACFFybJmZmYmNGzeq17lw4YIAIKKjo/VVpsF5eL8JIUSXLl3E5MmT9VdUHeHg4CC++eYbnR5rbEnSs8LCQpw8eRI9e/ZUL5NKpejZsyeio6P1WJnhu3TpEjw9PeHv748RI0YgMTFR3yXVKVevXkVKSorGsWdnZ4fQ0FAeexWwf/9+uLq6IigoCK+++ipu376t75IMSmZmJgDA0dERAHDy5EkUFRVpHG+NGzeGt7c3j7cHPLzfSq1fvx7Ozs5o3rw5pk+fjtzcXH2UZ5CUSiU2bNiAnJwchIWF6fRY4w1u9ezWrVtQKpVwc3PTWO7m5oa4uDg9VWX4QkNDsXbtWgQFBSE5ORmzZs1CeHg4zp49CxsbG32XVyekpKQAgNZjr/Q50q5379549tln4efnh8uXL+O9995Dnz59EB0dDRMTE32Xp3cqlQpvvvkmOnbsiObNmwMoOd5kMhns7e011uXxdp+2/QYAw4cPh4+PDzw9PXH69Gn873//w8WLF/Hbb7/psVr9O3PmDMLCwpCfnw9ra2ts3rwZTZs2RUxMjM6ONYYkqpP69Omj/r5ly5YIDQ2Fj48PfvnlF4wZM0aPlZExeP7559Xft2jRAi1btkRAQAD279+PHj166LEywzBx4kScPXuW/QQr6VH7bfz48ervW7RoAQ8PD/To0QOXL19GQEBAbZdpMIKCghATE4PMzExs2rQJkZGROHDggE7fg5fb9MzZ2RkmJiZlet2npqbC3d1dT1XVPfb29njiiScQHx+v71LqjNLji8de9fn7+8PZ2ZnHH4DXX38d27Ztw759+9CwYUP1cnd3dxQWFiIjI0NjfR5vJR6137QJDQ0FAKM/3mQyGQIDAxEcHIy5c+eiVatW+Pzzz3V6rDEk6ZlMJkNwcDD+/vtv9TKVSoW///4bYWFheqysbsnOzsbly5fh4eGh71LqDD8/P7i7u2scewqFAseOHeOxV0k3btzA7du3jfr4E0Lg9ddfx+bNm7F37174+flpPB8cHAwzMzON4+3ixYtITEw06uPtcftNm5iYGAAw6uNNG5VKhYKCAp0ea7zcZgCmTp2KyMhItGvXDiEhIVi6dClycnIwatQofZdmsN566y30798fPj4+SEpKwsyZM2FiYoIXXnhB36UZlOzsbI3/bV69ehUxMTFwdHSEt7c33nzzTXz66ado1KgR/Pz88OGHH8LT0xMDBw7UX9EGoLz95ujoiFmzZmHw4MFwd3fH5cuX8c477yAwMBARERF6rFq/Jk6ciB9//BF//PEHbGxs1H0/7OzsYGFhATs7O4wZMwZTp06Fo6MjbG1tMWnSJISFheHJJ5/Uc/X687j9dvnyZfz444/o27cvnJyccPr0aUyZMgWdO3dGy5Yt9Vy9/kyfPh19+vSBt7c3srKy8OOPP2L//v3YtWuXbo813Q7Ao6r68ssvhbe3t5DJZCIkJEQcPXpU3yUZtOeee054eHgImUwmGjRoIJ577jkRHx+v77IMzr59+wSAMl+RkZFCiJJpAD788EPh5uYm5HK56NGjh7h48aJ+izYA5e233Nxc0atXL+Hi4iLMzMyEj4+PGDdunEhJSdF32XqlbX8BEGvWrFGvk5eXJ1577TXh4OAgLC0txaBBg0RycrL+ijYAj9tviYmJonPnzsLR0VHI5XIRGBgo3n77bZGZmanfwvVs9OjRwsfHR8hkMuHi4iJ69Ogh/vrrL/XzujrWJEIIUd1ER0RERFTfsE8SERERkRYMSURERERaMCQRERERacGQRERERKQFQxIRERGRFgxJRERERFowJBERERFpwZBERPVWQkICJBKJ+jYONWHkyJFGP0M5UX3FkEREBmvkyJGQSCRlvnr37l2h13t5eSE5ORnNmzev4UqJqD7ivduIyKD17t0ba9as0Vgml8sr9FoTExPeYZ6IqowtSURk0ORyOdzd3TW+HBwcAAASiQTLly9Hnz59YGFhAX9/f2zatEn92ocvt929excjRoyAi4sLLCws0KhRI40AdubMGXTv3h0WFhZwcnLC+PHjkZ2drX5eqVRi6tSpsLe3h5OTE9555x08fGcnlUqFuXPnws/PDxYWFmjVqpVGTY+rgYgMB0MSEdVpH374IQYPHozY2FiMGDECzz//PC5cuPDIdc+fP48///wTFy5cwPLly+Hs7AwAyMnJQUREBBwcHHDixAls3LgRe/bsweuvv65+/aJFi7B27VqsXr0ahw4dwp07d7B582aN95g7dy6+++47rFixAufOncOUKVPw4osv4sCBA4+tgYgMjM5uyUtEpGORkZHCxMREWFlZaXzNnj1bCFFyB/UJEyZovCY0NFS8+uqrQgghrl69KgCIf//9VwghRP/+/cWoUaO0vteqVauEg4ODyM7OVi/bvn27kEqlIiUlRQghhIeHh1iwYIH6+aKiItGwYUPxzDPPCCGEyM/PF5aWluLIkSMa2x4zZox44YUXHlsDERkW9kkiIoPWrVs3LF++XGOZo6Oj+vuwsDCN58LCwh45mu3VV1/F4MGDcerUKfTq1QsDBw5Ehw4dAAAXLlxAq1atYGVlpV6/Y8eOUKlUuHjxIszNzZGcnIzQ0FD186ampmjXrp36klt8fDxyc3Px1FNPabxvYWEh2rRp89gaiMiwMCQRkUGzsrJCYGCgTrbVp08fXLt2DTt27MDu3bvRo0cPTJw4EZ999plOtl/af2n79u1o0KCBxnOlnc1rugYi0h32SSKiOu3o0aNlHjdp0uSR67u4uCAyMhI//PADli5dilWrVgEAmjRpgtjYWOTk5KjXPXz4MKRSKYKCgmBnZwcPDw8cO3ZM/XxxcTFOnjypfty0aVPI5XIkJiYiMDBQ48vLy+uxNRCRYWFLEhEZtIKCAqSkpGgsMzU1VXd23rhxI9q1a4dOnTph/fr1OH78OL799lut25oxYwaCg4PRrFkzFBQUYNu2bepANWLECMycORORkZH46KOPkJ6ejkmTJuGll16Cm5sbAGDy5MmYN28eGjVqhMaNG2Px4sXIyMhQb9/GxgZvvfUWpkyZApVKhU6dOiEzMxOHDx+Gra0tIiMjy62BiAwLQxIRGbSdO3fCw8NDY1lQUBDi4uIAALNmzcKGDRvw2muvwcPDAz/99BOaNm2qdVsymQzTp09HQkICLCwsEB4ejg0bNgAALC0tsWvXLkyePBnt27eHpaUlBg8ejMWLF6tfP23aNCQnJyMyMhJSqRSjR4/GoEGDkJmZqV7nk08+gYuLC+bOnYsrV67A3t4ebdu2xXvvvffYGojIsEiEeGiSDyKiOkIikWDz5s28LQgR1Qj2SSIiIiLSgiGJiIiISAv2SSKiOou9BYioJrEliYiIiEgLhiQiIiIiLRiSiIiIiLRgSCIiIiLSgiGJiIiISAuGJCIiIiItGJKIiIiItGBIIiIiItKCIYmIiIhIi/8H5vPHVK7t1O4AAAAASUVORK5CYII=" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(R2, label='R2')\n", + "plt.legend()\n", + "\n", + "plt.xlabel('Episodes')\n", + "plt.ylabel('Value')\n", + "plt.title('Slow agent | Changing reward function R2')\n", + "plt.savefig('../plots/slow_agent_changing_reward_R2.png')" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2023-12-12T02:04:47.922828Z", + "start_time": "2023-12-12T02:04:47.658752Z" + } + } + }, + { + "cell_type": "code", + "execution_count": 11, + "outputs": [ + { + "data": { + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmMAAAHHCAYAAADzrV8YAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACDDUlEQVR4nO3deViUVfsH8O/MwAzrDPumiKAm7iYKYpqaFpq/yjTbC820TMvENntN28yyTFN7s01tsSzbXjOzTC0tUcstNSV3XFhFtgFmYOb8/oDngRFUlhlm4fu5rrl0njnzzOFhYG7uc59zFEIIASIiIiKyC6W9O0BERETUkjEYIyIiIrIjBmNEREREdsRgjIiIiMiOGIwRERER2RGDMSIiIiI7YjBGREREZEcMxoiIiIjsiMEYERERkR0xGKMWpW3bthg7dqy9u+GSxo4di0GDBln9vG3btsX//d//Wf281nTy5EkoFAqsWLHC3l1xCb/++isUCgV+/fXXK7b9888/0a9fP3h7e0OhUGDv3r02719j8HcPXQ6DMXIJ+/fvx2233YaoqCh4eHigVatWuP7667F48WJ7d81pvfLKK/juu+9sdv6srCw88cQTiI2NhZeXF7y9vREXF4eXX34Z+fn5Nntdch3l5eUYM2YM8vLysGDBAnzyySeIioqyW3+2bduG559/3qHevytWrIBCoZBvbm5uaNWqFcaOHYuzZ8/Wav/+++9j4MCBCA0NhUajQXR0NMaNG4eTJ082f+dbEDd7d4CoqbZt24bBgwejTZs2mDBhAsLCwnD69Gls374db731Fh599FF7d9EpvfLKK7jtttswcuRIq5/7zz//xI033oji4mLce++9iIuLAwD89ddfePXVV7Flyxb8/PPPVn9dW4mKikJpaSnc3d3t3ZUW5dixYzh16hTef/99PPjgg/buDrZt24YXXngBY8eOhZ+fn8VjaWlpUCrtl/948cUXER0djbKyMmzfvh0rVqzA77//jgMHDsDDw0Nut2fPHkRHR+Pmm2+Gv78/Tpw4gffffx9r167Fvn37EBERYbevwZUxGCOnN2fOHOh0Ovz555+1fgFmZ2fbp1N0Sfn5+bj11luhUqmwZ88exMbGWjw+Z84cvP/++3bqXeMoFAqLDzR70+v18Pb2tnc3LkkIgbKyMnh6ejbpPNLP98U/945Io9HY9fWHDx+O3r17AwAefPBBBAUF4bXXXsOaNWtw++23y+3++9//1nruyJEj0bt3b3z88cd45plnmq3PLQmHKcnpHTt2DF26dKnzF3JISMgVn3/8+HGMGTMGAQEB8PLyQt++ffHDDz/IjwshEBQUhJSUFPmY2WyGn58fVCqVxZDEa6+9Bjc3NxQXF1/y9fLy8vDEE0+gW7du8PHxgVarxfDhw7Fv375abU+dOoWbb74Z3t7eCAkJwbRp0/DTTz/VWU+zY8cODBs2DDqdDl5eXhg4cCD++OMPizbPP/88FAoFjh49Kv/1rtPpMG7cOJSUlMjtFAoF9Ho9PvroI3l4w1r1Lu+++y7Onj2LN998s1YgBgChoaGYOXNmreO///474uPj4eHhgZiYGHz88ccWj9f3ukr1SF9++SXmzJmD1q1bw8PDA0OGDMHRo0drve7bb7+NmJgYeHp6Ij4+Hlu3bsWgQYMs6uPqqhkbO3YsfHx8cPbsWYwcORI+Pj4IDg7GE088AZPJZPEa58+fx3333QetVgs/Pz8kJydj37599apDk4ahfvvtNzzyyCMICQlB69at5cd//PFHDBgwAN7e3vD19cWIESNw8OBB+fE1a9ZAoVDg77//lo99/fXXUCgUGDVqlMVrderUCXfccYd8f/ny5bjuuusQEhICjUaDzp0745133qnVR6nu76effkLv3r3h6emJd999FwBw5swZjBw50uI9bjAYLvs1S9d34MCBAIAxY8ZAoVDI35OLvz81n9O2bVv5vvR9e+ONN/Dee++hXbt20Gg06NOnD/78889azz98+DBuv/12BAcHw9PTEx07dsR//vMfAJU/W08++SQAIDo6Wv65kYb36qoZu9LvHqDh79f6GjBgAIDK359XIl0zRxp+dTXMjJHTi4qKQmpqKg4cOICuXbs26LlZWVno168fSkpK8NhjjyEwMBAfffQRbr75Znz11Ve49dZboVAocM0112DLli3y8/7++28UFBRAqVTijz/+wIgRIwAAW7duxdVXXw0fH59Lvubx48fx3XffYcyYMYiOjkZWVhbeffddDBw4EP/88488DKDX63HdddchIyMDU6dORVhYGD777DNs3ry51jk3bdqE4cOHIy4uDrNnz4ZSqZQ/KLdu3Yr4+HiL9rfffjuio6Mxd+5c7N69Gx988AFCQkLw2muvAQA++eQTPPjg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ZQtuuukmREREQKFQ4LvvvrN4XAiBWbNmITw8HJ6enhg6dCiOHDlin846kCtdt7Fjx9Z67w0bNsw+nXUQc+fORZ8+feDr64uQkBCMHDkSaWlpFm3KysowefJkBAYGwsfHB6NHj0ZWVpadeuwY6nPdBg0aVOv99vDDD9upx47hnXfeQffu3eWFXRMTE/Hjjz/Kj1vrvcZgrIX54osvkJKSgtmzZ2P37t3o0aMHkpKSkJ2dbe+uObQuXbogIyNDvv3+++/27pJD0ev16NGjB95+++06H583bx4WLVqEpUuXYseOHfD29kZSUhLKysqauaeO5UrXDQCGDRtm8d77/PPPm7GHjue3337D5MmTsX37dmzYsAHl5eW44YYboNfr5TbTpk3D999/j9WrV+O3337DuXPnMGrUKDv22v7qc90AYMKECRbvt3nz5tmpx46hdevWePXVV7Fr1y789ddfuO6663DLLbfg4MGDAKz4XhPUosTHx4vJkyfL900mk4iIiBBz5861Y68c2+zZs0WPHj3s3Q2nAUB8++238n2z2SzCwsLE66+/Lh/Lz88XGo1GfP7553booWO6+LoJIURycrK45ZZb7NIfZ5GdnS0AiN9++00IUfnecnd3F6tXr5bbHDp0SAAQqamp9uqmw7n4ugkhxMCBA8XUqVPt1ykn4e/vLz744AOrvteYGWtBjEYjdu3ahaFDh8rHlEolhg4ditTUVDv2zPEdOXIEERERiImJwT333IP09HR7d8lpnDhxApmZmRbvO51Oh4SEBL7v6uHXX39FSEgIOnbsiEmTJuH8+fP27pJDKSgoAAAEBAQAAHbt2oXy8nKL91tsbCzatGnD91sNF183ycqVKxEUFISuXbtixowZKCkpsUf3HJLJZMKqVaug1+uRmJho1fcaNwpvQXJzc2EymRAaGmpxPDQ0FIcPH7ZTrxxfQkICVqxYgY4dOyIjIwMvvPACBgwYgAMHDsDX19fe3XN4mZmZAFDn+056jOo2bNgwjBo1CtHR0Th27BieffZZDB8+HKmpqVCpVPbunt2ZzWY8/vjjuOaaa9C1a1cAle83tVoNPz8/i7Z8v1Wr67oBwN13342oqChERETg77//xtNPP420tDR88803duyt/e3fvx+JiYkoKyuDj48Pvv32W3Tu3Bl79+612nuNwRjRFQwfPlz+f/fu3ZGQkICoqCh8+eWXGD9+vB17Rq7uzjvvlP/frVs3dO/eHe3atcOvv/6KIUOG2LFnjmHy5Mk4cOAAazgb6FLXbeLEifL/u3XrhvDwcAwZMgTHjh1Du3btmrubDqNjx47Yu3cvCgoK8NVXXyE5ORm//fabVV+Dw5QtSFBQEFQqVa2ZHllZWQgLC7NTr5yPn58frrrqKhw9etTeXXEK0nuL77umi4mJQVBQEN97AKZMmYK1a9di8+bNaN26tXw8LCwMRqMR+fn5Fu35fqt0qetWl4SEBABo8e83tVqN9u3bIy4uDnPnzkWPHj3w1ltvWfW9xmCsBVGr1YiLi8PGjRvlY2azGRs3bkRiYqIde+ZciouLcezYMYSHh9u7K04hOjoaYWFhFu+7wsJC7Nixg++7Bjpz5gzOnz/fot97QghMmTIF3377LTZt2oTo6GiLx+Pi4uDu7m7xfktLS0N6enqLfr9d6brVZe/evQDQot9vdTGbzTAYDFZ9r3GYsoVJSUlBcnIyevfujfj4eCxcuBB6vR7jxo2zd9cc1hNPPIGbbroJUVFROHfuHGbPng2VSoW77rrL3l1zGMXFxRZ/PZ84cQJ79+5FQEAA2rRpg8cffxwvv/wyOnTogOjoaDz33HOIiIjAyJEj7ddpB3C56xYQEIAXXngBo0ePRlhYGI4dO4annnoK7du3R1JSkh17bV+TJ0/GZ599hv/973/w9fWVa3N0Oh08PT2h0+kwfvx4pKSkICAgAFqtFo8++igSExPRt29fO/fefq503Y4dO4bPPvsMN954IwIDA/H3339j2rRpuPbaa9G9e3c7995+ZsyYgeHDh6NNmzYoKirCZ599hl9//RU//fSTdd9r1p3wSc5g8eLFok2bNkKtVov4+Hixfft2e3fJod1xxx0iPDxcqNVq0apVK3HHHXeIo0eP2rtbDmXz5s0CQK1bcnKyEKJyeYvnnntOhIaGCo1GI4YMGSLS0tLs22kHcLnrVlJSIm644QYRHBws3N3dRVRUlJgwYYLIzMy0d7ftqq7rBUAsX75cblNaWioeeeQR4e/vL7y8vMStt94qMjIy7NdpB3Cl65aeni6uvfZaERAQIDQajWjfvr148sknRUFBgX07bmcPPPCAiIqKEmq1WgQHB4shQ4aIn3/+WX7cWu81hRBCNDVyJCIiIqLGYc0YERERkR0xGCMiIiKyIwZjRERERHbEYIyIiIjIjhiMEREREdkRgzEiIiIiO2IwRkRERGRHDMaIiJro5MmTUCgU8vYxtjB27NgWv2MBkatiMEZELd7YsWOhUChq3YYNG1av50dGRiIjIwNdu3a1cU+JyBVxb0oiIgDDhg3D8uXLLY5pNJp6PVelUiEsLMwW3SKiFoCZMSIiVAZeYWFhFjd/f38AgEKhwDvvvIPhw4fD09MTMTEx+Oqrr+TnXjxMeeHCBdxzzz0IDg6Gp6cnOnToYBHo7d+/H9dddx08PT0RGBiIiRMnori4WH7cZDIhJSUFfn5+CAwMxFNPPYWLd64zm82YO3cuoqOj4enpiR49elj06Up9ICLHwWCMiKgennvuOYwePRr79u3DPffcgzvvvBOHDh26ZNt//vkHP/74Iw4dOoR33nkHQUFBAAC9Xo+kpCT4+/vjzz//xOrVq/HLL79gypQp8vPnz5+PFStWYNmyZfj999+Rl5eHb7/91uI15s6di48//hhLly7FwYMHMW3aNNx777347bffrtgHInIwVtvanIjISSUnJwuVSiW8vb0tbnPmzBFCCAFAPPzwwxbPSUhIEJMmTRJCCHHixAkBQOzZs0cIIcRNN90kxo0bV+drvffee8Lf318UFxfLx3744QehVCpFZmamEEKI8PBwMW/ePPnx8vJy0bp1a3HLLbcIIYQoKysTXl5eYtu2bRbnHj9+vLjrrruu2AciciysGSMiAjB48GC88847FscCAgLk/ycmJlo8lpiYeMnZk5MmTcLo0aOxe/du3HDDDRg5ciT69esHADh06BB69OgBb29vuf0111wDs9mMtLQ0eHh4ICMjAwkJCfLjbm5u6N27tzxUefToUZSUlOD666+3eF2j0Yirr776in0gIsfCYIyICIC3tzfat29vlXMNHz4cp06dwrp167BhwwYMGTIEkydPxhtvvGGV80v1ZT/88ANatWpl8Zg06cDWfSAi62HNGBFRPWzfvr3W/U6dOl2yfXBwMJKTk/Hpp59i4cKFeO+99wAAnTp1wr59+6DX6+W2f/zxB5RKJTp27AidTofw8HDs2LFDfryiogK7du2S73fu3BkajQbp6elo3769xS0yMvKKfSAix8LMGBERAIPBgMzMTItjbm5uctH76tWr0bt3b/Tv3x8rV67Ezp078eGHH9Z5rlmzZiEuLg5dunSBwWDA2rVr5cDtnnvuwezZs5GcnIznn38eOTk5ePTRR3HfffchNDQUADB16lS8+uqr6NChA2JjY/Hmm28iPz9fPr+vry+eeOIJTJs2DWazGf3790dBQQH++OMPaLVaJCcnX7YPRORYGIwREQFYv349wsPDLY517NgRhw8fBgC88MILWLVqFR555BGEh4fj888/R+fOnes8l1qtxowZM3Dy5El4enpiwIABWLVqFQDAy8sLP/30E6ZOnYo+ffrAy8sLo0ePxptvvik/f/r06cjIyEBycjKUSiUeeOAB3HrrrSgoKJDbvPTSSwgODsbcuXNx/Phx+Pn5oVevXnj22Wev2AciciwKIS5avIaIiCwoFAp8++233I6IiGyCNWNEREREdsRgjIiIiMiOWDNGRHQFrOYgIltiZoyIiIjIjhiMEREREdkRgzEiIiIiO2IwRkRERGRHDMaIiIiI7IjBGBEREZEdMRgjIiIisiMGY0RERER2xGCMiIiIyI7+H9bo7OvQ1v5fAAAAAElFTkSuQmCC" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(R3, label='R3')\n", + "plt.legend()\n", + "# plt.ylim(-2000,1000)\n", + "\n", + "plt.xlabel('Episodes')\n", + "plt.ylabel('Value')\n", + "plt.title('Slow agent | Changing reward function R3')\n", + "plt.savefig('../plots/slow_agent_changing_reward_R3.png')" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2023-12-12T02:04:53.242383Z", + "start_time": "2023-12-12T02:04:52.968188Z" + } + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "\n", + "FAFL1,_,FAFL1t =recent_rewards('../learning_curves/slow_agent.50.0.01.128.1.0.FA.FL')\n", + "FANFL1,_,FANFL1t =recent_rewards('../learning_curves/slow_agent.50.0.01.128.1.0.FA.NFL')\n", + "NFANFL1,_,NFANFL1t =recent_rewards('../learning_curves/slow_agent.50.0.01.128.1.0.NFA.NFL')\n", + "NFAFL1,_,NFAFL1t =recent_rewards('../learning_curves/slow_agent.50.0.01.128.1.0.NFA.FL')\n", + "FAFL,_,FAFLt = recent_rewards('../learning_curves/slow_agent.50.0.01.128.0.95.FA.FL', valid=False)\n", + "FANFL,_,FANFLt = recent_rewards('../learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL', valid=False)\n", + "NFANFL,_,NFANFLt = recent_rewards('../learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL', valid=False)\n", + "NFAFL,_,NFAFLt = recent_rewards('../learning_curves/slow_agent.50.0.01.128.0.95.NFA.FL', valid=False)\n", + "FAFL1_I1,_,FAFL1t =recent_rewards('../learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.FL')\n", + "FANFL1_I1,_,FANFL1t =recent_rewards('../learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.NFL')\n", + "NFANFL1_I1,_,NFANFL1t =recent_rewards('../learning_curves/slow_agent_I1.50.0.01.128.1.0.NFA.NFL')\n", + "NFAFL1_I1,_,NFAFL1t =recent_rewards('../learning_curves/slow_agent_I1.50.0.01.128.1.0.NFA.FL')" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "\n", + "# Now you can plot the data\n", + "# For example, plot the rewards\n", + "plt.figure(figsize=(10, 5))\n", + "plt.plot(FAFL, label='FAFL')\n", + "plt.plot(FANFL, label= 'FANFL')\n", + "plt.plot(NFANFL, label= 'NFANFL')\n", + "plt.plot(NFAFL, label='NFAFL')\n", + "\n", + "# plt.ylim(-20,0)\n", + "plt.legend()\n", + "plt.xlabel('Episodes')\n", + "plt.ylabel('Value')\n", + "plt.title('Slow agent | Changing fixed nature')\n", + "plt.savefig('../plots/slow_agent_changing_fixed_nature.png')\n", + "plt.show()" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "plt.figure(figsize=(10, 5))\n", + "plt.plot(FAFL, label='FAFL - 0.95')\n", + "plt.plot(FANFL, label= 'FANFL - 0.95')\n", + "plt.plot(NFANFL, label= 'NFANFL- 0.95')\n", + "plt.plot(NFAFL, label='NFAFL - 0.95')\n", + "plt.plot(FAFL1, label='FAFL - 1')\n", + "plt.plot(FANFL1, label= 'FANFL - 1')\n", + "plt.plot(NFANFL1, label= 'NFANFL - 1')\n", + "plt.plot(NFAFL1, label='NFAFL - 1')\n", + "\n", + "\n", + "# plt.ylim(-20,0)\n", + "plt.legend()\n", + "plt.xlabel('Episodes')\n", + "plt.ylabel('Value')\n", + "plt.title('Slow agent')\n", + "\n", + "plt.show()" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "\n", + "category_names = ['FAFL', 'FANFL', 'NFANFL', 'NFAFL']\n", + "results = {\n", + " 'FAFL': np.sum(FAFL1t),\n", + " 'FANFL': np.sum(FANFL1t),\n", + " 'NFANFL': np.sum(NFANFL1t),\n", + " 'NFAFL': np.sum(NFAFL1t)\n", + "}\n", + "plt.bar(category_names, results.values(), color=['red', 'green', 'blue', 'orange'])\n", + "plt.ylim(0, 1000)\n", + "plt.legend()\n", + "plt.xlabel('Episodes')\n", + "plt.ylabel('Value')\n", + "plt.title('Slow agent with L1 location | Amount of time slow agent reaches landmark')\n", + "plt.savefig('../plots/slow_agent_L1_success.png')\n" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "FANFL32 = recent_rewards('../learning_curves/slow_agent.50.0.01.32.0.95.FA.NFL')\n", + "FANFL64 = recent_rewards('../learning_curves/slow_agent.50.0.01.64.1.0.FA.NFL')\n", + "FANFL128 = recent_rewards('../learning_curves/slow_agent.50.0.01.128.1.0.FA.NFL')\n", + "FANFL256 = recent_rewards('../learning_curves/slow_agent.50.0.01.256.1.0.FA.NFL')" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "plt.figure(figsize=(10, 5))\n", + "plt.plot(FANFL32[0], label= 'FANFL - 32')\n", + "plt.plot(FANFL64[0], label= 'FANFL - 64')\n", + "plt.plot(FANFL128[0], label= 'FANFL - 128')\n", + "plt.plot(FANFL256[0], label= 'FANFL - 256')\n", + "\n", + "# plt.ylim(-20,0)\n", + "plt.legend()\n", + "plt.xlabel('Episodes')\n", + "plt.ylabel('Value')\n", + "plt.title('Slow agent')\n", + "plt.savefig('../plots/FANFL_nwsize.png')" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "plt.plot(NFANFL1_I1, label= 'NFANFL - I1')\n", + "plt.plot(NFANFL1, label= 'NFANFL - I0')\n", + "\n", + "plt.legend()\n", + "plt.xlabel('Episodes')\n", + "plt.ylabel('Value')\n", + "plt.title('Slow agent')\n", + "plt.savefig('../plots/location/NFANFL_I1vOG.png')" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "plt.plot(NFAFL1_I1, label= 'NFAFL - I1')\n", + "plt.plot(NFAFL1, label= 'NFAFL - I0')\n", + "\n", + "plt.legend()\n", + "plt.xlabel('Episodes')\n", + "plt.ylabel('Value')\n", + "plt.title('Slow agent')\n", + "plt.savefig('../plots/location/NFAFL_I1vOG.png')" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "plt.plot(FANFL1_I1, label= 'FANFL - I1')\n", + "plt.plot(FANFL1, label= 'FANFL - I0')\n", + "\n", + "plt.legend()\n", + "plt.xlabel('Episodes')\n", + "plt.ylabel('Value')\n", + "plt.title('Slow agent')\n", + "plt.savefig('../plots/location/FANFL_I1vOG.png')\n" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "plt.plot(FAFL1_I1, label= 'FAFL - I1')\n", + "plt.plot(FAFL1, label= 'FAFL - I0')\n", + "# plt.plot(FAFL, label= 'FAFL - 0.95')\n", + "\n", + "plt.legend()\n", + "plt.xlabel('Episodes')\n", + "plt.ylabel('Value')\n", + "plt.title('Slow agent')\n", + "plt.savefig('../plots/location/FAFL_I1vOG.png')" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "R0OG,_,R0OGt = recent_rewards('../learning_curves/slow_agent.50.0.01.128.1.0.FA.FL')\n", + "R0,_,R0t = recent_rewards('../learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.FL')\n", + "R1,_,R1t = recent_rewards('../learning_curves/slow_agent_I1_R1.50.0.01.128.1.0.FA.FL')\n", + "R2,_,R2t = recent_rewards('../learning_curves/slow_agent_I1_R2.50.0.01.128.1.0.FA.FL')\n" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "plt.figure(figsize=(10, 5))\n", + "plt.plot(R0OG, label= 'R0OG')\n", + "plt.plot(R0, label= 'R0')\n", + "\n", + "# plt.ylim(-20,0)\n", + "plt.legend()\n", + "plt.xlabel('Episodes')\n", + "plt.ylabel('Value')\n", + "plt.title('Slow agent')\n" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "plt.plot(R1, label= 'R1')\n", + "plt.plot(R2, label= 'R2')\n", + "\n", + "# plt.ylim(-20,0)\n", + "plt.legend()\n", + "plt.xlabel('Episodes')\n", + "plt.ylabel('Value')\n", + "plt.title('Slow agent')" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "categories = ['R0OG', 'R0', 'R1', 'R2']\n", + "results = {\n", + " 'R0OG': np.sum(R0OGt),\n", + " 'R0': np.sum(R0t),\n", + " 'R1': np.sum(R1t),\n", + " 'R2': np.sum(R2t)\n", + "}\n", + "plt.bar(categories, results.values(), color=['red', 'green', 'blue', 'orange'])\n", + "plt.legend()\n", + "plt.xlabel('Episodes')\n", + "plt.ylabel('Value')\n", + "plt.title('Slow agent with L1 location | Amount of time slow agent reaches landmark')\n" + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [], + "metadata": { + "collapsed": false + } + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/experiments/Analysis/utils.py b/experiments/Analysis/utils.py new file mode 100644 index 00000000..0c3c77d9 --- /dev/null +++ b/experiments/Analysis/utils.py @@ -0,0 +1,276 @@ +import os +from datetime import datetime +import pickle +import matplotlib.pyplot as plt +import numpy as np +import scipy.stats as stats + +def get_directories(base_path): + """Get a list of all directories in the base path.""" + return [d for d in os.listdir(base_path) if os.path.isdir(os.path.join(base_path, d))] + +def filter_and_sort_directories_by_date(directories, date_format): + """Filter out directories that match the date and time pattern and sort them.""" + filtered_and_sorted_directories = [] + for directory in directories: + try: + # Parse the directory name into a datetime object + date = datetime.strptime(directory, date_format) + filtered_and_sorted_directories.append((directory, date)) + except ValueError: + continue + # Sort directories by date + filtered_and_sorted_directories.sort(key=lambda x: x[1]) + return [directory for directory, date in filtered_and_sorted_directories] + +def get_rewards_for_last_n_runs(base_path, n, date_format='%Y%m%d-%H%M%S', aggrew=True, valid=True, time=False, malfunction_agent = None): + """Get the rewards for the last n runs.""" + directories = get_directories(base_path) + date_directories = filter_and_sort_directories_by_date(directories, date_format) + + # Select the last n directories + recent_n_directories = date_directories[-n:] + + all_rewards = [] + for directory in recent_n_directories: + full_path = os.path.join(base_path, directory) + rewards_data = [] + if malfunction_agent is not None: + with open(os.path.join(full_path, 'test_'+ malfunction_agent + 'rewards.pkl'), 'rb') as f: + rewards = pickle.load(f) + rewards_data.append(rewards) + + if aggrew: + with open(os.path.join(full_path, 'test_'+ malfunction_agent + '_agrewards.pkl'), 'rb') as f: + agrewards = pickle.load(f) + rewards_data.append(agrewards) + else: + rewards_data.append(None) + + if time: + with open(os.path.join(full_path, 'test_'+ malfunction_agent + '_timesteps.pkl'), 'rb') as f: + time = pickle.load(f) + rewards_data.append(time) + else: + rewards_data.append(None) + else: + with open(os.path.join(full_path, 'test_rewards.pkl'), 'rb') as f: + rewards = pickle.load(f) + rewards_data.append(rewards) + + if aggrew: + with open(os.path.join(full_path, 'test_agrewards.pkl'), 'rb') as f: + agrewards = pickle.load(f) + rewards_data.append(agrewards) + else: + rewards_data.append(None) + + if time: + with open(os.path.join(full_path, 'test_timesteps.pkl'), 'rb') as f: + time = pickle.load(f) + rewards_data.append(time) + else: + rewards_data.append(None) + + all_rewards.append(tuple(rewards_data)) + + return all_rewards + +def calculate_mean_and_confidence_interval(data): + """ + Calculate the mean and 95% confidence interval for each timestep. + + :param data: A list of lists, where each inner list represents a run and contains values for each timestep. + :return: A tuple of two numpy arrays - one for the mean and one for the 95% confidence interval. + """ + data = np.array(data) + mean = np.mean(data, axis=0) + stderr = stats.sem(data, axis=0, nan_policy='omit') + confidence_interval = stderr * stats.t.ppf((1 + 0.95) / 2., len(data) - 1) + + return mean, confidence_interval + + +def average_and_confidence(run_info): + """ + Calculate the average and 95% confidence interval for rewards at each timestep. + + :param output of get_rewards_for_last_n_runs + :return: A tuple of four numpy arrays - mean rewards, confidence interval for rewards, mean timesteps, confidence interval for timesteps. + """ + rewards = [] + timesteps = [] + for rewards_data, agrewards_data, time_data in run_info: + rewards.append(rewards_data) + # timesteps.append(time_data) + mean_rewards, conf_rewards = calculate_mean_and_confidence_interval(rewards) + # mean_timesteps, conf_timesteps = calculate_mean_and_confidence_interval(timesteps) + + return mean_rewards, conf_rewards #, mean_timesteps, conf_timesteps + + + +def plot_with_confidence_interval(mean_values, confidence_interval, timesteps, title="Plot with Confidence Interval", xlabel="Timestep", ylabel="Value", + ylim = None, save=False, save_path='/Users/Hunter/Development/Academic/UML/RL/Hasenfus-RL/Multi-Agent/maddpg/experiments/plots'): + """ + Plot mean values with confidence interval using matplotlib. + + :param mean_values: Array of mean values. + :param confidence_interval: Array of confidence interval values. + :param timesteps: Array of timesteps. + :param title: Title of the plot. + :param xlabel: Label for the x-axis. + :param ylabel: Label for the y-axis. + """ + + upper_bound = mean_values + confidence_interval + lower_bound = mean_values - confidence_interval + + plt.figure(figsize=(10, 6)) + plt.plot(timesteps, mean_values, label="Mean", color="blue") + plt.fill_between(timesteps, lower_bound, upper_bound, color="blue", alpha=0.2, label="95% Confidence Interval") + + plt.title(title) + plt.xlabel(xlabel) + plt.ylabel(ylabel) + if ylim: + plt.ylim(ylim) + + plt.legend() + if save: + plt.savefig(os.path.join(save_path, title + '.png')) + plt.show() + +def plot_multiple_with_confidence_intervals(mean_values_list, confidence_intervals_list, timesteps, labels, title="Comparison Plot", xlabel="Timestep", ylabel="Value", save=False, + save_path='/Users/Hunter/Development/Academic/UML/RL/Hasenfus-RL/Multi-Agent/maddpg/experiments/plots', ylim=None): + """ + Plot multiple sets of mean values with their confidence intervals. + + :param mean_values_list: List of arrays of mean values for each algorithm. + :param confidence_intervals_list: List of arrays of confidence intervals for each algorithm. + :param timesteps: Array of timesteps. + :param labels: List of labels for each algorithm. + :param title: Title of the plot. + :param xlabel: Label for the x-axis. + :param ylabel: Label for the y-axis. + """ + plt.figure(figsize=(10, 6)) + + for mean_values, confidence_interval, label in zip(mean_values_list, confidence_intervals_list, labels): + upper_bound = mean_values + confidence_interval + lower_bound = mean_values - confidence_interval + + plt.plot(timesteps, mean_values, label=f"Mean - {label}") + plt.fill_between(timesteps, lower_bound, upper_bound, alpha=0.2, label=f"95% CI - {label}") + + plt.title(title) + plt.xlabel(xlabel) + plt.ylabel(ylabel) + if ylim: + plt.ylim(ylim) + + plt.legend() + if save: + plt.savefig(os.path.join(save_path, title+'.png')) + plt.show() + +def plot_trajectories(trajectories, title="Agent Trajectories", xlabel="X Position", ylabel="Y Position", + save=False, save_path='/Users/Hunter/Development/Academic/UML/RL/Hasenfus-RL/Multi-Agent/maddpg/experiments/plots'): + """ + Plot a series of x, y pairs as trajectories on an xy-plane. + + :param trajectories: A list of trajectories, where each trajectory is a list of (x, y) pairs. + """ + plt.figure(figsize=(8, 6)) + + for i, traj in enumerate(trajectories): + # Assuming each trajectory is a list of (x, y) tuples + x_coords, y_coords = zip(*traj) + plt.plot(x_coords, y_coords, 'r-') + + plt.title(title) + plt.xlabel(xlabel) + plt.ylabel(ylabel) + plt.grid(True) + if save: + plt.savefig(os.path.join(save_path, title+'.png')) + plt.show() + +def get_trajectories_and_distances(base_path, healthy = True, mal = False, distances = True, date_format='%Y%m%d-%H%M%S'): + """Get the rewards for the last n runs.""" + directories = get_directories(base_path) + date_directories = filter_and_sort_directories_by_date(directories, date_format) + + # recent_directory = date_directories[-1] + # + # full_path = os.path.join(base_path, recent_directory) + # print(full_path) + directories2 = get_directories(base_path) + # print(directories2) + date_directories2 = filter_and_sort_directories_by_date(directories2, date_format) + # print(date_directories2) + recent_directory2 = date_directories2[-1] + + full_path2 = os.path.join(base_path, recent_directory2) + + returnable = [] + if healthy: + with open(os.path.join(full_path2, 'test_healthy_trajectories.pkl'), 'rb') as f: + healthy_trajectories = pickle.load(f) + returnable.append(healthy_trajectories) + else: + returnable.append(None) + if mal: + with open(os.path.join(full_path2, 'test_mal_trajectories.pkl'), 'rb') as f: + mal_trajectories = pickle.load(f) + returnable.append(mal_trajectories) + else: + returnable.append(None) + if distances: + with open(os.path.join(full_path2, 'test_healthy_distances.pkl'), 'rb') as f: + distances = pickle.load(f) + returnable.append(distances) + else: + returnable.append(None) + + return returnable + + +def plot_distance_distribution(distances, interval_width, save=False,title='alg1', save_path='/Users/Hunter/Development/Academic/UML/RL/Hasenfus-RL/Multi-Agent/maddpg/experiments/plots'): + """ + Plot the distribution of distances as a bar graph with specified interval widths. + + :param distances: A NumPy array of distances. + :param interval_width: The width of each interval (e.g., 5 for 15-20, 20-25, etc.). + """ + # Determine the range of distances + min_distance = np.min(distances) + max_distance = np.max(distances) + + # Create intervals + bins = np.arange(min_distance, max_distance + interval_width, interval_width) + + # Calculate the histogram + counts, _ = np.histogram(distances, bins=bins) + + # Calculate percentages + percentages = (counts / counts.sum()) * 100 + + # Define labels for the x-axis + labels = [f'{int(bins[i])}-{int(bins[i + 1])}' for i in range(len(bins) - 1)] + + # Plotting + plt.figure(figsize=(10, 6)) + plt.bar(labels, percentages, width=0.8, color='skyblue', edgecolor='black') + + plt.title('Distribution of Distances') + plt.xlabel('Distance Intervals') + plt.ylabel('Percentage of Runs (%)') + + plt.xticks(rotation=45) # Rotate labels to improve readability + plt.grid(axis='y', linestyle='--') + + plt.show() + if save: + plt.savefig(os.path.join(save_path, 'distance_distribution.png')) + diff --git a/experiments/Ant_mal.sh b/experiments/Ant_mal.sh new file mode 100644 index 00000000..8d85c66f --- /dev/null +++ b/experiments/Ant_mal.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +# Function to train a model with a given configuration +commit_changes () { + learning_curve_path=$1 + policy_path=$2 + git add $learning_curve_path $policy_path + git commit -m "Updated models on $(date)" +} + + +train_model () { + config_path=$1 + script=$2 + data=$3 + model=$4 + agent=$5 + iters=$6 + for i in $(seq 1 $iters) + do + echo "Training run $i for configuration: $config_path" + /home/pearl0/miniconda3/envs/MMJC-maddpg/bin/python $script --config $config_path --train True --mal_agent $agent + done + commit_changes $data $model + git push origin UNITYxMaMuJuCo +} + +# Training models with different configurations +#train_model ./configs/ant_config_4.yaml ./Training/train_mujuco.py ./learning_curves/Ant.2x4.0.001.350.0.99/ ./tmp/policy/Ant.2x4.0.001.350.0.99/ 0 +# Train malfunction +train_model ./configs/ant_config_4.yaml ./Training/train_mujuco_malfunction.py ./learning_curves/Ant.2x4.0.001.350.0.99/malfunction/ ./tmp/policy/Ant.2x4.0.001.350.0.99malfunction/ 0 1 +train_model ./configs/ant_config_4.yaml ./Training/train_mujuco_malfunction.py ./learning_curves/Ant.2x4.0.001.350.0.99/malfunction/ ./tmp/policy/Ant.2x4.0.001.350.0.99malfunction/ 2 4 + diff --git a/experiments/Ant_mal_transfer.sh b/experiments/Ant_mal_transfer.sh new file mode 100644 index 00000000..2d406f5c --- /dev/null +++ b/experiments/Ant_mal_transfer.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# Function to train a model with a given configuration +commit_changes () { + learning_curve_path=$1 + policy_path=$2 + git add $learning_curve_path $policy_path + git commit -m "Updated models on $(date)" +} + + +train_model () { + config_path=$1 + script=$2 + data=$3 + model=$4 + agent1=$5 + agent2=$6 + iters=$7 + for i in $(seq 1 $iters) + do + echo "Training run $i for configuration: $config_path" + /home/pearl0/miniconda3/envs/MMJC-maddpg/bin/python $script --config $config_path --train True --mal_agent_prev $agent1 --mal_agent_new $agent2 + done + commit_changes $data $model + git push origin UNITYxMaMuJuCo +} + +# Training models with different configurations +#train_model ./configs/ant_config_4.yaml ./Training/train_mujuco.py ./learning_curves/Ant.2x4.0.001.350.0.99/ ./tmp/policy/Ant.2x4.0.001.350.0.99/ 0 +# Train malfunction +train_model ./configs/ant_config_4_transfer.yaml ./Training/train_mujuco_malfunction_transfer.py ./learning_curves/Ant.2x4.0.001.350.0.99/malfunction/ ./tmp/policy/Ant.2x4.0.001.350.0.99malfunction/ 0 1 5 +train_model ./configs/ant_config_4_transfer.yaml ./Training/train_mujuco_malfunction_transfer.py ./learning_curves/Ant.2x4.0.001.350.0.99/malfunction/ ./tmp/policy/Ant.2x4.0.001.350.0.99malfunction/ 2 3 5 + diff --git a/experiments/Cheetah.sh b/experiments/Cheetah.sh new file mode 100644 index 00000000..a2690ed0 --- /dev/null +++ b/experiments/Cheetah.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# Function to train a model with a given configuration +commit_changes () { + learning_curve_path=$1 + policy_path=$2 + git add $learning_curve_path $policy_path + git commit -m "Updated models on $(date)" +} + + +train_model () { + config_path=$1 + script=$2 + data=$3 + model=$4 + agent=$5 + + for i in {1..5} + do + echo "Training run $i for configuration: $config_path" + /home/pearl0/miniconda3/envs/MMJC-maddpg/bin/python $script --config $config_path --train True --mal_agent $agent + done + commit_changes $data $model + git push origin UNITYxMaMuJuCo +} + +# Training models with different configurations +train_model ./configs/cheetah_config_6.yaml ./Training/train_mujuco.py ./learning_curves/HalfCheetah.6x1.0.001.350.0.99/ ./tmp/policy/HalfCheetah.6x1.0.001.350.0.99/ 0 + +# Train malfunction +train_model ./configs/cheetah_config_6.yaml ./Training/train_mujuco_malfunction.py ./learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/ ./tmp/policy/HalfCheetah.6x1.0.001.350.0.99malfunction/ 0 +train_model ./configs/cheetah_config_6.yaml ./Training/train_mujuco_malfunction.py ./learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/ ./tmp/policy/HalfCheetah.6x1.0.001.350.0.99malfunction/ 1 +train_model ./configs/cheetah_config_6.yaml ./Training/train_mujuco_malfunction.py ./learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/ ./tmp/policy/HalfCheetah.6x1.0.001.350.0.99malfunction/ 2 +train_model ./configs/cheetah_config_6.yaml ./Training/train_mujuco_malfunction.py ./learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/ ./tmp/policy/HalfCheetah.6x1.0.001.350.0.99malfunction/ 3 +train_model ./configs/cheetah_config_6.yaml ./Training/train_mujuco_malfunction.py ./learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/ ./tmp/policy/HalfCheetah.6x1.0.001.350.0.99malfunction/ 4 +train_model ./configs/cheetah_config_6.yaml ./Training/train_mujuco_malfunction.py ./learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/ ./tmp/policy/HalfCheetah.6x1.0.001.350.0.99malfunction/ 5 + diff --git a/experiments/Testing/test_mujuco.py b/experiments/Testing/test_mujuco.py new file mode 100644 index 00000000..d2405115 --- /dev/null +++ b/experiments/Testing/test_mujuco.py @@ -0,0 +1,428 @@ +import argparse +import numpy as np +import tensorflow.compat.v1 as tf +# import tensorflow as tf +tf.disable_v2_behavior() +import maddpg.common.tf_util as U +from maddpg.trainer.maddpg import MADDPGAgentTrainer +# import tensorflow.contrib.layers as layers +import tensorflow.keras.layers as layers +from datetime import datetime + +import yaml +import os +import shutil +import math +import time +import pickle +import random +import gymnasium_robotics +current_time = datetime.now() + +# Format the date and time in the format you prefer, e.g., 'YYYYMMDD-HHMMSS' +directory_name_with_time = current_time.strftime('%Y%m%d-%H%M%S') + + +# Replace 'base_directory_path' with the base path where your directories are located + +# Define the date and time format that your directories are using +# This should match the format used when creating the directories +date_time_format = '%Y%m%d-%H%M%S' +def get_directories(base_path): + """Get a list of all directories in the base path.""" + return [d for d in os.listdir(base_path) if os.path.isdir(os.path.join(base_path, d))] +def filter_directories_by_date(directories, date_format): + """Filter out directories that match the date and time pattern.""" + filtered_directories = [] + for directory in directories: + try: + # If the directory name can be parsed into a datetime object, it matches the pattern + datetime.strptime(directory, date_format) + filtered_directories.append(directory) + except ValueError: + # If a ValueError is raised, it means the directory name doesn't match the pattern + continue + return filtered_directories +def find_most_recent_directory(base_path,directories, date_format): + """Find the most recent directory based on the date and time pattern.""" + if not directories: + return None + # Parse the directory names to get the corresponding datetime objects + dates = [datetime.strptime(directory, date_format) for directory in directories] + # Get the most recent date + most_recent_date = max(dates) + # Find the directory that corresponds to the most recent date + most_recent_directory = directories[dates.index(most_recent_date)] + # return most_recent_directory + return os.path.join(base_path, most_recent_directory, most_recent_directory), most_recent_directory + + +def parse_args_n_config(): + parser = argparse.ArgumentParser("Reinforcement Learning experiments for multiagent environments") + parser.add_argument("--config", default='ant_config_2.yaml') + parser.add_argument("--starting_run", default=0, type=int) + parser.add_argument("--final_run", default=int(1e6), type=int) + parser.add_argument("--train", default=True, type=bool) + # Environment + parser.add_argument("--max-episode-len", type=int, default=25, help="maximum episode length") + parser.add_argument("--lr", type=float, default=1e-3, help="learning rate for Adam optimizer") + parser.add_argument("--num-units", type=int, default=350, help="number of units in the mlp") + parser.add_argument("--gamma", type=float, default=0.99, help="discount factor") + parser.add_argument("--partition", type=str, default="2x4", help="agent configuration file") + + parser.add_argument("--num-episodes", type=int, default=30000, help="number of episodes") + parser.add_argument("--num-adversaries", type=int, default=1, help="number of adversaries") + parser.add_argument("--good-policy", type=str, default="maddpg", help="policy for good agents") + parser.add_argument("--adv-policy", type=str, default="maddpg", help="policy of adversaries") + + # Core training parameters + parser.add_argument("--batch-size", type=int, default=100, help="number of episodes to optimize at the same time") + parser.add_argument("--buffer_size", type=int, default=int(1e6), help="buffer size") + parser.add_argument("--malfunction", action="store_true", help="malfunction") + parser.add_argument("--mal_agent", type=int, default=0, help="malfunctioning agent") + parser.add_argument("--reward_func", type=str, default="default", help="reward function") + #Checkpointing + # parser.add_argument("--save-rate", type=int, default=1000, + # help="save model once every time this many episodes are completed") + # parser.add_argument("--benchmark", action="store_true", default=False) + # parser.add_argument("--benchmark-iters", type=int, default=100000) + # # Evaluation + # parser.add_argument("--restore", action="store_true", default=False) + # parser.add_argument("--display", action="store_true", default=False) + + + + known_args, _ = parser.parse_known_args() + config = yaml.safe_load(open(known_args.config, 'r')) + + # Now we can use the scenario in setting default values + scenario = config['domain']['name'] + if config['domain']['factorization'] == '9|8': + adjugate = '9x8' + else: + adjugate = config['domain']['factorization'] + lr = known_args.lr if known_args.lr else "1e-2" + numunits = known_args.num_units if known_args.num_units else "128" + gamma = known_args.gamma if known_args.gamma else "0.95" + reward_func = known_args.reward_func if known_args.reward_func else "default" + + if known_args.malfunction: + base_directory_path = f"./tmp/policy/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}malfunction/Agent_{known_args.mal_agent}/" + else: + base_directory_path = f"./tmp/policy/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}/" + if not os.path.exists(base_directory_path): + os.makedirs(base_directory_path) + directories = get_directories(base_directory_path) + date_directories = filter_directories_by_date(directories, date_time_format) + model_most_recent_directory, mrd = find_most_recent_directory(base_directory_path, date_directories, date_time_format) + + if model_most_recent_directory is None: + print("No previous directories found") + most_recent_directory = "" + if known_args.malfunction: + plot_directory_path = f"./learning_curves/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}/malfunction/Agent_{known_args.mal_agent}/" + mrd + "/" + else: + plot_directory_path = f"./learning_curves/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}/R2/" + mrd + "/" + print(plot_directory_path) + # load_dir = f"./tmp/policy/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}/" + + # print("Base directory path: ", base_directory_path) + # print("Most recent directory: ", most_recent_directory) + # print("Plot directory path: ", plot_directory_path) + # print("Load directory: ", load_dir) + # print(config['maddpg']['save_dir']) + # print(config['maddpg']['load_dir']) + if not os.path.exists(plot_directory_path): + os.makedirs(plot_directory_path) + # Checkpointing + # parser.add_argument("--exp-name", type=str, default='test', help="name of the experiment") + # parser.add_argument("--save-dir", type=str, default=base_directory_path, + # help="directory in which training state and model should be saved") + # parser.add_argument("--load-dir", type=str, default=most_recent_directory, + # help="directory in which training state and model are loaded") + # parser.add_argument("--benchmark_files", type=str, default="./benchmark_files/", + # help="directory where benchmark data is saved") + # parser.add_argument("--plots-dir", type=str, default=plot_directory_path, + # help="directory where plot data is saved") + args = parser.parse_args() + # if (args.restore or args.display or args.benchmark) and args.load_dir == "": + # args.load_dir = load_dir + + # if (config['maddpg']['restore'] or config['maddpg']['display'] or config['maddpg']['benchmark']) or config['maddpg']['load_dir'] == "": + if args.malfunction: + config['maddpg']['plots_dir'] = plot_directory_path + config['maddpg']['load_dir'] = model_most_recent_directory + config['maddpg']['save_dir'] = base_directory_path + else: + config['maddpg']['load_dir'] = model_most_recent_directory + config['maddpg']['save_dir'] = base_directory_path + config['maddpg']['plots_dir'] = plot_directory_path + return args, config # return both args and config + +def mlp_model_actor(input, num_outputs, scope, reuse=False, num_units=64, rnn_cell=None): + with tf.variable_scope(scope, reuse=reuse): + out = input + # Use tf.compat.v1.layers or tf.layers for fully_connected layers + out = tf.compat.v1.layers.dense(out, units=num_units, activation=tf.nn.tanh) + out = tf.compat.v1.layers.dense(out, units=num_units, activation=tf.nn.tanh) + out = tf.compat.v1.layers.dense(out, units=num_outputs, activation=tf.nn.tanh) + return out +def mlp_model_critic(input, num_outputs, scope, reuse=False, num_units=64, rnn_cell=None): + with tf.variable_scope(scope, reuse=reuse): + out = input + # Use tf.compat.v1.layers or tf.layers for fully_connected layers + out = tf.compat.v1.layers.dense(out, units=num_units, activation=tf.nn.relu) + out = tf.compat.v1.layers.dense(out, units=num_units, activation=tf.nn.relu) + out = tf.compat.v1.layers.dense(out, units=num_outputs, activation=None) + return out + +def make_env(arglist, config, show=False): + if show: + if config['domain']['name'] == 'Ant': + env = gymnasium_robotics.mamujoco_v0.parallel_env(scenario=config['domain']['name'], agent_conf=config['domain']['factorization'],healthy_reward=0.1, + max_episode_steps=config['domain']['max_episode_len'], + agent_obsk=config['domain']['obsk'], render_mode='human', terminate_when_unhealthy=False) + else: + env = gymnasium_robotics.mamujoco_v0.parallel_env(scenario=config['domain']['name'], agent_conf=config['domain']['factorization'], + agent_obsk=config['domain']['obsk'], render_mode='human') + # include_cfrc_ext_in_observation=False) + else: + if config['domain']['name'] == 'Ant': + env = gymnasium_robotics.mamujoco_v0.parallel_env(scenario=config['domain']['name'], agent_conf=config['domain']['factorization'],healthy_reward=0.1, + max_episode_steps=config['domain']['max_episode_len'], + agent_obsk=config['domain']['obsk'], terminate_when_unhealthy=False) + else: + env = gymnasium_robotics.mamujoco_v0.parallel_env(scenario=config['domain']['name'], agent_conf=config['domain']['factorization'], + agent_obsk=config['domain']['obsk']) + return env + +def get_trainers(env, num_adversaries, obs_shape_n, action_shape_n, config, arglist): + trainers = [] + actor_model = mlp_model_actor + critic_model = mlp_model_critic + trainer = MADDPGAgentTrainer + # for i in range(num_adversaries): + # trainers.append(trainer( + # "agent_%d" % i, model, obs_shape_n, env.action_space, i, arglist, + # local_q_func=(config['maddpg']['adv_policy']=='ddpg'))) + for i in range(num_adversaries, len(env.possible_agents)): + trainers.append(trainer( + "agent_%d" % i, actor_model, critic_model, obs_shape_n, action_shape_n, i, arglist, + local_q_func=(config['maddpg']['good_policy']=='ddpg'))) + return trainers + + +def test(arglist, config): + all_ep_runs = [] + all_time_steps = [] + all_trajectories = [] + all_tot_dist = [] + all_last_x = [] + all_last_xy = [] + with U.single_threaded_session(): + # Create environment + env = make_env(arglist, config, show=False) + # Create agent trainers + n_agents = len(env.possible_agents) + actions_spaces = [env.action_space(agent) for agent in env.possible_agents] + + observations_spaces = [env.observation_space(agent).shape for agent in env.possible_agents] + # print("Observation space: ", observations_spaces) + # print("Action space: ", actions_spaces) + trainers = get_trainers(env, 0, observations_spaces, actions_spaces, config, arglist) + print('Using good policy {} and adv policy {}'.format(config['maddpg']['good_policy'], config['maddpg']['adv_policy'])) + + # Initialize + U.initialize() + + # Load previous results, if necessary + # if config['maddpg']['load_dir'] == "": + # config['maddpg']['load_dir'] = config['maddpg']['save_dir'] + # if config['maddpg']['display'] or config['maddpg']['restore'] or config['maddpg']['benchmark']: + print('Loading previous state...') + print(config['maddpg']['load_dir']) + U.load_state(config['maddpg']['load_dir']) + # else: + # print("Exiting... No model to test") + # exit(0) + + episode_rewards = [0.0] # sum of rewards for all agents + agent_rewards = [[0.0] for _ in range(n_agents)] # individual agent reward + final_ep_rewards = [] # sum of rewards for training curve + final_ep_ag_rewards = [] # agent rewards for training curve + trajectory = [] + time_steps = [] + validation_success = [] + agent_info = [[[]]] # placeholder for benchmarking info + saver = tf.train.Saver() + + cur_state_dict, xypos = env.reset() + cur_state = [np.array(state, dtype=np.float32) for state in cur_state_dict.values()] + episode_step = 0 + train_step = 0 + t_start = time.time() + t_total = time.time() + tot_steps = 0 + + episode_count = 0 + print(str(config['domain']['name'])) + print('Starting iterations...') + + while True: + # cur_state_full = torch.tensor(env.state(), dtype=torch.float32, device=TORCH_DEVICE) + # cur_state_full = np.array(env.state(), dtype=np.float32) + # get action + # print("N-agents: ", n_agents) + # print("cur_state: ", cur_state[0]) + # print("cur_state_dict: ", cur_state_dict) + # print("cur_state_keys: ", cur_state_dict.keys()) + # print("cur_position: ", xypos) + # print("cur_state_values: ", cur_state_dict.values()) + # print(len(cur_state), len(cur_state_dict.values())) + # print(cur_state[0].shape, cur_state_full.shape, env.state().shape) + + actions = [agent.action(obs) for agent, obs in zip(trainers,cur_state)] + # environment step + actions_dict = {env.possible_agents[agent_id]: actions[agent_id] for agent_id in + range(len(env.possible_agents))} + actions_dict_numpy = {env.possible_agents[agent_id]: actions[agent_id].tolist() for agent_id in + range(len(env.possible_agents))} + + # step + # new_obs_n, rew_n, done_n, info_n = env.step(action_n) + new_state_dict, reward_dict, is_terminal_dict, is_truncated_dict, info_dict = env.step(actions_dict_numpy) + next_state = [np.array(state, dtype=np.float32) for state in new_state_dict.values()] + trajectory.append((info_dict['agent_0']['x_position'], info_dict['agent_0']['y_position'])) + + terminal = (episode_step >= arglist.max_episode_len) + + # store to ERB + # a = np.array(env.map_local_actions_to_global_action(actions_dict_numpy)) + # print(actions_dict, a) + for i, agent in enumerate(trainers): + agent.experience(cur_state[i], actions_dict[agent.name], reward_dict[agent.name], next_state[i], is_terminal_dict[agent.name], terminal) + # model.erb.add_experience(old_state=cur_state_full, + # actions=torch.tensor(env.map_local_actions_to_global_action(actions_dict_numpy), + # dtype=torch.float32, device=TORCH_DEVICE), + # reward=reward_dict[env.possible_agents[0]], + # new_state=torch.tensor(env.state(), dtype=torch.float32, device=TORCH_DEVICE), + # is_terminal=is_terminal_dict[env.possible_agents[0]]) + + # update cur_state + # obs_n = new_obs_n + # new_state = [torch.tensor(state, dtype=torch.float32, device=TORCH_DEVICE) for state in + # new_state_dict.values()] + new_state = [np.array(state, dtype=np.float32) for state in new_state_dict.values()] + cur_state = new_state + + done = all(is_terminal_dict.values()) or all(is_truncated_dict.values()) + + # collect experience + for i, rew in enumerate(reward_dict.values()): + episode_rewards[-1] += rew + agent_rewards[i][-1] += rew + + # increment global step counter + train_step += 1 + + if done or terminal: + episode_count += 1 + if (episode_count % config['domain']['display_rate'] < config['domain']['render_dur']): + env = make_env(arglist, config, show=True) + # time.sleep(0.1) + # env.render() + else: + env = make_env(arglist, config, show=False) + # for displaying learned policies + cur_state_dict = env.reset()[0] + cur_state = [np.array(state, dtype=np.float32) for state in cur_state_dict.values()] + episode_step = 0 + episode_rewards.append(0) + all_trajectories.append(trajectory) + all_last_x.append(info_dict['agent_0']['x_position']) + all_last_xy.append((info_dict['agent_0']['x_position'], info_dict['agent_0']['y_position'])) + all_tot_dist.append(info_dict['agent_0']['distance_from_origin']) + trajectory = [] + for a in agent_rewards: + a.append(0) + agent_info.append([[]]) + + # Check if the current episode is within the rendering span + + + + + + + # for benchmarking learned policies + # if arglist.benchmark: + # for i, info in enumerate(info_n): + # agent_info[-1][i].append(info_n['n']) + # if train_step > arglist.benchmark_iters and (done or terminal): + # file_name = arglist.benchmark_dir + arglist.exp_name + '.pkl' + # print('Finished benchmarking, now saving...') + # with open(file_name, 'wb') as fp: + # pickle.dump(agent_info[:-1], fp) + # break + # continue + + + # update all trainers, if not in display or benchmark mode + # loss = None + # for agent in trainers: + # agent.preupdate() + # for agent in trainers: + # loss = agent.update(trainers, train_step) + + + # save model, display training output + if (done or terminal) and (len(episode_rewards) % config['domain']['display_rate'] == 0): + + print("steps: {}, episodes: {}, mean episode reward: {}, agent episode reward: {}, time: {}".format( + train_step, len(episode_rewards), np.mean(episode_rewards[-config['domain']['display_rate']:]), + [np.mean(rew[-config['domain']['display_rate']:]) for rew in agent_rewards], round(time.time()-t_start, 3))) + t_start = time.time() + # Keep track of final episode reward + final_ep_rewards.append(np.mean(episode_rewards[-config['domain']['display_rate']:])) + for rew in agent_rewards: + final_ep_ag_rewards.append(np.mean(rew[-config['domain']['display_rate']:])) + time_steps.append(train_step) + + + # saves final episode reward for plotting training curve later + # if len(episode_rewards) > arglist.num_episodes: + # if config['domain']['total_timesteps'] < train_step: + if len(episode_rewards) > config['domain']['test_episodes']: + print('...Finished total of {} episodes. Time: {}'.format(len(episode_rewards), time.time() - t_total)) + # tf.reset_default_graph() + break + cur_state = next_state + + full_directory_path = os.path.join(config['maddpg']['plots_dir'], directory_name_with_time) + # print(full_directory_path) + if not os.path.exists(full_directory_path): + os.makedirs(full_directory_path) # Create the directory since it does not exist + rew_file_name = os.path.join(full_directory_path, config['maddpg']['exp_name'] + '_healthy_rewards.pkl') + with open(rew_file_name, 'wb') as fp: + pickle.dump(final_ep_rewards, fp) + trajectories_file_name = os.path.join(full_directory_path, config['maddpg']['exp_name'] + '_healthy_trajectories.pkl') + with open(trajectories_file_name, 'wb') as fp: + pickle.dump(all_trajectories, fp) + distances_file_name = os.path.join(full_directory_path, + config['maddpg']['exp_name'] + '_healthy_distances.pkl') + with open(distances_file_name, 'wb') as fp: + pickle.dump(all_tot_dist, fp) + # agrew_file_name = os.path.join(full_directory_path, config['maddpg']['exp_name'] + '_agrewards.pkl') + # with open(agrew_file_name, 'wb') as fp: + # pickle.dump(all_ag_runs, fp) + # agrew_file_name = os.path.join(full_directory_path, config['maddpg']['exp_name'] + '_timesteps.pkl') + # with open(agrew_file_name, 'wb') as fp: + # pickle.dump(all_time_steps, fp) + # validation_success_file_name = os.path.join(full_directory_path, + # config['maddpg']['exp_name'] + '_validation_success.pkl') + # with open(validation_success_file_name, 'wb') as fp: + # pickle.dump(validation_success, fp) + env.close() +if __name__ == '__main__': + arglist, config = parse_args_n_config() + test(arglist, config) diff --git a/experiments/Testing/test_mujuco_mal.py b/experiments/Testing/test_mujuco_mal.py new file mode 100644 index 00000000..472798e8 --- /dev/null +++ b/experiments/Testing/test_mujuco_mal.py @@ -0,0 +1,432 @@ +import argparse +import numpy as np +import tensorflow.compat.v1 as tf +# import tensorflow as tf +tf.disable_v2_behavior() +import maddpg.common.tf_util as U +from maddpg.trainer.maddpg import MADDPGAgentTrainer +# import tensorflow.contrib.layers as layers +import tensorflow.keras.layers as layers +from datetime import datetime + +import yaml +import os +import shutil +import math +import time +import pickle +import random +import gymnasium_robotics +current_time = datetime.now() + +# Format the date and time in the format you prefer, e.g., 'YYYYMMDD-HHMMSS' +directory_name_with_time = current_time.strftime('%Y%m%d-%H%M%S') + + +# Replace 'base_directory_path' with the base path where your directories are located + +# Define the date and time format that your directories are using +# This should match the format used when creating the directories +date_time_format = '%Y%m%d-%H%M%S' +def get_directories(base_path): + """Get a list of all directories in the base path.""" + return [d for d in os.listdir(base_path) if os.path.isdir(os.path.join(base_path, d))] +def filter_directories_by_date(directories, date_format): + """Filter out directories that match the date and time pattern.""" + filtered_directories = [] + for directory in directories: + try: + # If the directory name can be parsed into a datetime object, it matches the pattern + datetime.strptime(directory, date_format) + filtered_directories.append(directory) + except ValueError: + # If a ValueError is raised, it means the directory name doesn't match the pattern + continue + return filtered_directories +def find_most_recent_directory(base_path,directories, date_format): + """Find the most recent directory based on the date and time pattern.""" + if not directories: + return None + # Parse the directory names to get the corresponding datetime objects + dates = [datetime.strptime(directory, date_format) for directory in directories] + # Get the most recent date + most_recent_date = max(dates) + # Find the directory that corresponds to the most recent date + most_recent_directory = directories[dates.index(most_recent_date)] + # return most_recent_directory + return os.path.join(base_path, most_recent_directory, most_recent_directory), most_recent_directory + + +def parse_args_n_config(): + parser = argparse.ArgumentParser("Reinforcement Learning experiments for multiagent environments") + parser.add_argument("--config", default='ant_config_2.yaml') + parser.add_argument("--starting_run", default=0, type=int) + parser.add_argument("--final_run", default=int(1e6), type=int) + parser.add_argument("--train", default=True, type=bool) + # Environment + parser.add_argument("--max-episode-len", type=int, default=25, help="maximum episode length") + parser.add_argument("--lr", type=float, default=1e-3, help="learning rate for Adam optimizer") + parser.add_argument("--num-units", type=int, default=350, help="number of units in the mlp") + parser.add_argument("--gamma", type=float, default=0.99, help="discount factor") + parser.add_argument("--partition", type=str, default="2x4", help="agent configuration file") + + parser.add_argument("--num-episodes", type=int, default=30000, help="number of episodes") + parser.add_argument("--num-adversaries", type=int, default=1, help="number of adversaries") + parser.add_argument("--good-policy", type=str, default="maddpg", help="policy for good agents") + parser.add_argument("--adv-policy", type=str, default="maddpg", help="policy of adversaries") + + # Core training parameters + parser.add_argument("--batch-size", type=int, default=100, help="number of episodes to optimize at the same time") + parser.add_argument("--buffer_size", type=int, default=int(1e6), help="buffer size") + parser.add_argument("--malfunction", type=bool, default=False, help="malfunction") + parser.add_argument("--reward_func", type=str, default="default", help="reward function") + #Checkpointing + # parser.add_argument("--save-rate", type=int, default=1000, + # help="save model once every time this many episodes are completed") + # parser.add_argument("--benchmark", action="store_true", default=False) + # parser.add_argument("--benchmark-iters", type=int, default=100000) + # # Evaluation + # parser.add_argument("--restore", action="store_true", default=False) + # parser.add_argument("--display", action="store_true", default=False) + + + + known_args, _ = parser.parse_known_args() + config = yaml.safe_load(open(known_args.config, 'r')) + + # Now we can use the scenario in setting default values + scenario = config['domain']['name'] + if config['domain']['factorization'] == '9|8': + adjugate = '9x8' + else: + adjugate = config['domain']['factorization'] + lr = known_args.lr if known_args.lr else "1e-2" + numunits = known_args.num_units if known_args.num_units else "128" + gamma = known_args.gamma if known_args.gamma else "0.95" + reward_func = known_args.reward_func if known_args.reward_func else "default" + + if known_args.malfunction: + base_directory_path = f"./tmp/policy/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}malfunction/{reward_func}" + else: + base_directory_path = f"./tmp/policy/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}/{reward_func}" + if not os.path.exists(base_directory_path): + os.makedirs(base_directory_path) + directories = get_directories(base_directory_path) + date_directories = filter_directories_by_date(directories, date_time_format) + model_most_recent_directory, mrd = find_most_recent_directory(base_directory_path, date_directories, date_time_format) + + if model_most_recent_directory is None: + print("No previous directories found") + most_recent_directory = "" + if known_args.malfunction: + plot_directory_path = f"./learning_curves/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}/malfunction/{reward_func}/" + mrd + "/" + else: + plot_directory_path = f"./learning_curves/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}/{reward_func}/" + mrd + "/" + + # load_dir = f"./tmp/policy/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}/" + + # print("Base directory path: ", base_directory_path) + # print("Most recent directory: ", most_recent_directory) + # print("Plot directory path: ", plot_directory_path) + # print("Load directory: ", load_dir) + # print(config['maddpg']['save_dir']) + # print(config['maddpg']['load_dir']) + if not os.path.exists(plot_directory_path): + os.makedirs(plot_directory_path) + # Checkpointing + # parser.add_argument("--exp-name", type=str, default='test', help="name of the experiment") + # parser.add_argument("--save-dir", type=str, default=base_directory_path, + # help="directory in which training state and model should be saved") + # parser.add_argument("--load-dir", type=str, default=most_recent_directory, + # help="directory in which training state and model are loaded") + # parser.add_argument("--benchmark_files", type=str, default="./benchmark_files/", + # help="directory where benchmark data is saved") + # parser.add_argument("--plots-dir", type=str, default=plot_directory_path, + # help="directory where plot data is saved") + args = parser.parse_args() + # if (args.restore or args.display or args.benchmark) and args.load_dir == "": + # args.load_dir = load_dir + + # if (config['maddpg']['restore'] or config['maddpg']['display'] or config['maddpg']['benchmark']) or config['maddpg']['load_dir'] == "": + if args.malfunction: + config['maddpg']['plots_dir'] = plot_directory_path + config['maddpg']['load_dir'] = model_most_recent_directory + config['maddpg']['save_dir'] = base_directory_path + else: + config['maddpg']['load_dir'] = model_most_recent_directory + config['maddpg']['save_dir'] = base_directory_path + config['maddpg']['plots_dir'] = plot_directory_path + return args, config # return both args and config + +def mlp_model_actor(input, num_outputs, scope, reuse=False, num_units=64, rnn_cell=None): + with tf.variable_scope(scope, reuse=reuse): + out = input + # Use tf.compat.v1.layers or tf.layers for fully_connected layers + out = tf.compat.v1.layers.dense(out, units=num_units, activation=tf.nn.tanh) + out = tf.compat.v1.layers.dense(out, units=num_units, activation=tf.nn.tanh) + out = tf.compat.v1.layers.dense(out, units=num_outputs, activation=tf.nn.tanh) + return out +def mlp_model_critic(input, num_outputs, scope, reuse=False, num_units=64, rnn_cell=None): + with tf.variable_scope(scope, reuse=reuse): + out = input + # Use tf.compat.v1.layers or tf.layers for fully_connected layers + out = tf.compat.v1.layers.dense(out, units=num_units, activation=tf.nn.relu) + out = tf.compat.v1.layers.dense(out, units=num_units, activation=tf.nn.relu) + out = tf.compat.v1.layers.dense(out, units=num_outputs, activation=None) + return out + +def make_env(arglist, config, show=False): + if show: + if config['domain']['name'] == 'Ant': + env = gymnasium_robotics.mamujoco_v0.parallel_env(scenario=config['domain']['name'], agent_conf=config['domain']['factorization'],healthy_reward=0.1, + max_episode_steps=config['domain']['max_episode_len'], + agent_obsk=config['domain']['obsk'], render_mode='human', terminate_when_unhealthy=False) + else: + env = gymnasium_robotics.mamujoco_v0.parallel_env(scenario=config['domain']['name'], agent_conf=config['domain']['factorization'], + agent_obsk=config['domain']['obsk'], render_mode='human') + # include_cfrc_ext_in_observation=False) + else: + if config['domain']['name'] == 'Ant': + env = gymnasium_robotics.mamujoco_v0.parallel_env(scenario=config['domain']['name'], agent_conf=config['domain']['factorization'],healthy_reward=0.1, + max_episode_steps=config['domain']['max_episode_len'], + agent_obsk=config['domain']['obsk'], terminate_when_unhealthy=False) + else: + env = gymnasium_robotics.mamujoco_v0.parallel_env(scenario=config['domain']['name'], agent_conf=config['domain']['factorization'], + agent_obsk=config['domain']['obsk']) + return env + +def get_trainers(env, num_adversaries, obs_shape_n, action_shape_n, config, arglist): + trainers = [] + actor_model = mlp_model_actor + critic_model = mlp_model_critic + trainer = MADDPGAgentTrainer + # for i in range(num_adversaries): + # trainers.append(trainer( + # "agent_%d" % i, model, obs_shape_n, env.action_space, i, arglist, + # local_q_func=(config['maddpg']['adv_policy']=='ddpg'))) + for i in range(num_adversaries, len(env.possible_agents)): + trainers.append(trainer( + "agent_%d" % i, actor_model, critic_model, obs_shape_n, action_shape_n, i, arglist, + local_q_func=(config['maddpg']['good_policy']=='ddpg'))) + return trainers + + +def test(arglist, config): + all_ep_runs = [] + all_time_steps = [] + all_trajectories = [] + all_tot_dist = [] + + + + with U.single_threaded_session(): + # Create environment + env = make_env(arglist, config, show=False) + # Create agent trainers + n_agents = len(env.possible_agents) + actions_spaces = [env.action_space(agent) for agent in env.possible_agents] + + observations_spaces = [env.observation_space(agent).shape for agent in env.possible_agents] + # print("Observation space: ", observations_spaces) + # print("Action space: ", actions_spaces) + trainers = get_trainers(env, 0, observations_spaces, actions_spaces, config, arglist) + print('Using good policy {} and adv policy {}'.format(config['maddpg']['good_policy'], config['maddpg']['adv_policy'])) + + # Initialize + U.initialize() + + # Load previous results, if necessary + # if config['maddpg']['load_dir'] == "": + # config['maddpg']['load_dir'] = config['maddpg']['save_dir'] + # if config['maddpg']['display'] or config['maddpg']['restore'] or config['maddpg']['benchmark']: + print('Loading previous state...') + print(config['maddpg']['load_dir']) + U.load_state(config['maddpg']['load_dir']) + # else: + # print("Exiting... No model to test") + # exit(0) + + episode_rewards = [0.0] # sum of rewards for all agents + agent_rewards = [[0.0] for _ in range(n_agents)] # individual agent reward + final_ep_rewards = [] # sum of rewards for training curve + final_ep_ag_rewards = [] # agent rewards for training curve + trajectory = [] + time_steps = [] + validation_success = [] + agent_info = [[[]]] # placeholder for benchmarking info + saver = tf.train.Saver() + + cur_state_dict, xypos = env.reset() + cur_state = [np.array(state, dtype=np.float32) for state in cur_state_dict.values()] + episode_step = 0 + train_step = 0 + t_start = time.time() + t_total = time.time() + tot_steps = 0 + + mal_agent = config['domain']['mal_agent'] + + episode_count = 0 + print(str(config['domain']['name'])) + print('Starting iterations...') + + while True: + # cur_state_full = torch.tensor(env.state(), dtype=torch.float32, device=TORCH_DEVICE) + # cur_state_full = np.array(env.state(), dtype=np.float32) + # get action + # print("N-agents: ", n_agents) + # print("cur_state: ", cur_state[0]) + # print("cur_state_dict: ", cur_state_dict) + # print("cur_state_keys: ", cur_state_dict.keys()) + # print("cur_position: ", xypos) + # print("cur_state_values: ", cur_state_dict.values()) + # print(len(cur_state), len(cur_state_dict.values())) + # print(cur_state[0].shape, cur_state_full.shape, env.state().shape) + + actions = [agent.action(obs) for agent, obs in zip(trainers,cur_state)] + + actions[mal_agent] = np.zeros_like(actions[mal_agent]) + + # environment step + actions_dict = {env.possible_agents[agent_id]: actions[agent_id] for agent_id in + range(len(env.possible_agents))} + actions_dict_numpy = {env.possible_agents[agent_id]: actions[agent_id].tolist() for agent_id in + range(len(env.possible_agents))} + + # step + # new_obs_n, rew_n, done_n, info_n = env.step(action_n) + new_state_dict, reward_dict, is_terminal_dict, is_truncated_dict, info_dict = env.step(actions_dict_numpy) + next_state = [np.array(state, dtype=np.float32) for state in new_state_dict.values()] + trajectory.append((info_dict['agent_0']['x_position'], info_dict['agent_0']['y_position'])) + + terminal = (episode_step >= arglist.max_episode_len) + + # store to ERB + # a = np.array(env.map_local_actions_to_global_action(actions_dict_numpy)) + # print(actions_dict, a) + for i, agent in enumerate(trainers): + agent.experience(cur_state[i], actions_dict[agent.name], reward_dict[agent.name], next_state[i], is_terminal_dict[agent.name], terminal) + # model.erb.add_experience(old_state=cur_state_full, + # actions=torch.tensor(env.map_local_actions_to_global_action(actions_dict_numpy), + # dtype=torch.float32, device=TORCH_DEVICE), + # reward=reward_dict[env.possible_agents[0]], + # new_state=torch.tensor(env.state(), dtype=torch.float32, device=TORCH_DEVICE), + # is_terminal=is_terminal_dict[env.possible_agents[0]]) + + # update cur_state + # obs_n = new_obs_n + # new_state = [torch.tensor(state, dtype=torch.float32, device=TORCH_DEVICE) for state in + # new_state_dict.values()] + new_state = [np.array(state, dtype=np.float32) for state in new_state_dict.values()] + cur_state = new_state + + done = all(is_terminal_dict.values()) or all(is_truncated_dict.values()) + + # collect experience + for i, rew in enumerate(reward_dict.values()): + episode_rewards[-1] += rew + agent_rewards[i][-1] += rew + + # increment global step counter + train_step += 1 + + if done or terminal: + episode_count += 1 + if (episode_count % config['domain']['display_rate'] < config['domain']['render_dur']): + env = make_env(arglist, config, show=True) + # time.sleep(0.1) + # env.render() + else: + env = make_env(arglist, config, show=False) + # for displaying learned policies + cur_state_dict = env.reset()[0] + cur_state = [np.array(state, dtype=np.float32) for state in cur_state_dict.values()] + episode_step = 0 + episode_rewards.append(0) + all_trajectories.append(trajectory) + all_tot_dist.append(info_dict['agent_0']['distance_from_origin']) + + trajectory = [] + for a in agent_rewards: + a.append(0) + agent_info.append([[]]) + + # Check if the current episode is within the rendering span + + + + + + + # for benchmarking learned policies + # if arglist.benchmark: + # for i, info in enumerate(info_n): + # agent_info[-1][i].append(info_n['n']) + # if train_step > arglist.benchmark_iters and (done or terminal): + # file_name = arglist.benchmark_dir + arglist.exp_name + '.pkl' + # print('Finished benchmarking, now saving...') + # with open(file_name, 'wb') as fp: + # pickle.dump(agent_info[:-1], fp) + # break + # continue + + + # update all trainers, if not in display or benchmark mode + # loss = None + # for agent in trainers: + # agent.preupdate() + # for agent in trainers: + # loss = agent.update(trainers, train_step) + + + # save model, display training output + if (done or terminal) and (len(episode_rewards) % config['domain']['display_rate'] == 0): + + print("steps: {}, episodes: {}, mean episode reward: {}, agent episode reward: {}, time: {}".format( + train_step, len(episode_rewards), np.mean(episode_rewards[-config['domain']['display_rate']:]), + [np.mean(rew[-config['domain']['display_rate']:]) for rew in agent_rewards], round(time.time()-t_start, 3))) + t_start = time.time() + # Keep track of final episode reward + final_ep_rewards.append(np.mean(episode_rewards[-config['domain']['display_rate']:])) + for rew in agent_rewards: + final_ep_ag_rewards.append(np.mean(rew[-config['domain']['display_rate']:])) + time_steps.append(train_step) + + + # saves final episode reward for plotting training curve later + # if len(episode_rewards) > arglist.num_episodes: + # if config['domain']['total_timesteps'] < train_step: + if len(episode_rewards) > config['domain']['test_episodes']: + print('...Finished total of {} episodes. Time: {}'.format(len(episode_rewards), time.time() - t_total)) + # tf.reset_default_graph() + break + cur_state = next_state + + full_directory_path = os.path.join(config['maddpg']['plots_dir'], directory_name_with_time) + # print(full_directory_path) + if not os.path.exists(full_directory_path): + os.makedirs(full_directory_path) # Create the directory since it does not exist + rew_file_name = os.path.join(full_directory_path, config['maddpg']['exp_name'] + '_mal_rewards.pkl') + with open(rew_file_name, 'wb') as fp: + pickle.dump(final_ep_rewards, fp) + trajectories_file_name = os.path.join(full_directory_path, config['maddpg']['exp_name'] + '_mal_trajectories.pkl') + with open(trajectories_file_name, 'wb') as fp: + pickle.dump(all_trajectories, fp) + distances_file_name = os.path.join(full_directory_path, + config['maddpg']['exp_name'] + '_healthy_distances.pkl') + with open(distances_file_name, 'wb') as fp: + pickle.dump(all_tot_dist, fp) + # agrew_file_name = os.path.join(full_directory_path, config['maddpg']['exp_name'] + '_agrewards.pkl') + # with open(agrew_file_name, 'wb') as fp: + # pickle.dump(all_ag_runs, fp) + # agrew_file_name = os.path.join(full_directory_path, config['maddpg']['exp_name'] + '_timesteps.pkl') + # with open(agrew_file_name, 'wb') as fp: + # pickle.dump(all_time_steps, fp) + # validation_success_file_name = os.path.join(full_directory_path, + # config['maddpg']['exp_name'] + '_validation_success.pkl') + # with open(validation_success_file_name, 'wb') as fp: + # pickle.dump(validation_success, fp) + env.close() +if __name__ == '__main__': + arglist, config = parse_args_n_config() + test(arglist, config) diff --git a/experiments/Training/UNITY-train.py b/experiments/Training/UNITY-train.py new file mode 100644 index 00000000..d539ed81 --- /dev/null +++ b/experiments/Training/UNITY-train.py @@ -0,0 +1,280 @@ + +from mlagents_envs.registry import default_registry +from mlagents_envs.environment import UnityEnvironment + +import argparse +import numpy as np +import tensorflow as tf +import time +import pickle +import os +import maddpg.common.tf_util as U +from maddpg.trainer.maddpg import MADDPGAgentTrainer +import tensorflow.keras.layers as layers +from datetime import datetime +from mlagents_envs.envs import PettingZooEnvFactory +current_time = datetime.now() + +# Format the date and time in the format you prefer, e.g., 'YYYYMMDD-HHMMSS' +directory_name_with_time = current_time.strftime('%Y%m%d-%H%M%S') + + +import os +from datetime import datetime + +# Replace 'base_directory_path' with the base path where your directories are located + +# Define the date and time format that your directories are using +# This should match the format used when creating the directories +date_time_format = '%Y%m%d-%H%M%S' +def get_directories(base_path): + """Get a list of all directories in the base path.""" + return [d for d in os.listdir(base_path) if os.path.isdir(os.path.join(base_path, d))] +def filter_directories_by_date(directories, date_format): + """Filter out directories that match the date and time pattern.""" + filtered_directories = [] + for directory in directories: + try: + # If the directory name can be parsed into a datetime object, it matches the pattern + datetime.strptime(directory, date_format) + filtered_directories.append(directory) + except ValueError: + # If a ValueError is raised, it means the directory name doesn't match the pattern + continue + return filtered_directories +def find_most_recent_directory(base_path,directories, date_format): + """Find the most recent directory based on the date and time pattern.""" + if not directories: + return None + # Parse the directory names to get the corresponding datetime objects + dates = [datetime.strptime(directory, date_format) for directory in directories] + # Get the most recent date + most_recent_date = max(dates) + # Find the directory that corresponds to the most recent date + most_recent_directory = directories[dates.index(most_recent_date)] + return os.path.join(base_path, most_recent_directory, most_recent_directory) + + + +def parse_args(): + parser = argparse.ArgumentParser("Reinforcement Learning experiments for multiagent environments") + # Environment + parser.add_argument("--scenario", type=str, help="name of the scenario script") + parser.add_argument("--max-episode-len", type=int, default=25, help="maximum episode length") + parser.add_argument("--lr", type=float, default=1e-2, help="learning rate for Adam optimizer") + parser.add_argument("--num-units", type=int, default=128, help="number of units in the mlp") + parser.add_argument("--discount", type=float, default=0.95, help="discount factor") + parser.add_argument("--gamma", type=float, default=0.95, help="discount factor") + known_args, _ = parser.parse_known_args() + + # Now we can use the scenario in setting default values + scenario = known_args.scenario if known_args.scenario else "basic" + maxep = known_args.max_episode_len if known_args.max_episode_len else "25" + lr = known_args.lr if known_args.lr else "1e-2" + numunits = known_args.num_units if known_args.num_units else "128" + gamma = known_args.gamma if known_args.gamma else "0.95" + + base_directory_path = f"./tmp/policy/{scenario}.{maxep}.{lr}.{numunits}.{gamma}" + if not os.path.exists(base_directory_path): + os.makedirs(base_directory_path) + directories = get_directories(base_directory_path) + date_directories = filter_directories_by_date(directories, date_time_format) + most_recent_directory = find_most_recent_directory(base_directory_path, date_directories, date_time_format) + if most_recent_directory is None: + print("No previous directories found") + most_recent_directory = "" + + plot_directory_path = f"./learning_curves/{scenario}.{maxep}.{lr}.{numunits}.{gamma}" + if not os.path.exists(plot_directory_path): + os.makedirs(plot_directory_path) + parser.add_argument("--num-episodes", type=int, default=30000, help="number of episodes") + parser.add_argument("--num-adversaries", type=int, default=1, help="number of adversaries") + parser.add_argument("--good-policy", type=str, default="maddpg", help="policy for good agents") + parser.add_argument("--adv-policy", type=str, default="maddpg", help="policy of adversaries") + # Core training parameters + + + parser.add_argument("--batch-size", type=int, default=1024, help="number of episodes to optimize at the same time") + + # Checkpointing + parser.add_argument("--exp-name", type=str, default='test', help="name of the experiment") + parser.add_argument("--save-dir", type=str, default=base_directory_path, help="directory in which training state and model should be saved") + parser.add_argument("--save-rate", type=int, default=500, help="save model once every time this many episodes are completed") + parser.add_argument("--load-dir", type=str, default=most_recent_directory, help="directory in which training state and model are loaded") + # Evaluation + parser.add_argument("--restore", action="store_true", default=False) + parser.add_argument("--display", action="store_true", default=False) + + + parser.add_argument("--benchmark", action="store_true", default=False) + parser.add_argument("--benchmark-iters", type=int, default=100000, help="number of iterations run for benchmarking") + parser.add_argument("--benchmark_files", type=str, default="./benchmark_files/", help="directory where benchmark data is saved") + parser.add_argument("--plots-dir", type=str, default=plot_directory_path, help="directory where plot data is saved") + return parser.parse_args() + +def mlp_model(input, num_outputs, scope, reuse=False, num_units=64, rnn_cell=None): + # This model takes as input an observation and returns values of all actions + with tf.variable_scope(scope, reuse=reuse): + out = input + out = layers.Dense(out, num_outputs=num_units, activation_fn=tf.nn.relu) + + out = layers.Dense(out, num_outputs=num_units, activation_fn=tf.nn.relu) + out = layers.Dense(out, num_outputs=num_outputs, activation_fn=None) + return out + +def make_env(scenario_name, arglist, benchmark=False): + env = PettingZooEnvFactory("StrikersVsGoalie").env() + return env + +def get_trainers(env, num_adversaries, obs_shape_n, arglist): + trainers = [] + model = mlp_model + trainer = MADDPGAgentTrainer + for i in range(num_adversaries): + trainers.append(trainer( + "agent_%d" % i, model, obs_shape_n, env.action_space, i, arglist, + local_q_func=(arglist.adv_policy=='ddpg'))) + for i in range(num_adversaries, env.n): + trainers.append(trainer( + "agent_%d" % i, model, obs_shape_n, env.action_space, i, arglist, + local_q_func=(arglist.good_policy=='ddpg'))) + return trainers + + +def train(arglist): + with U.single_threaded_session(): + # Create environment + env = make_env(arglist.scenario, arglist, arglist.benchmark) + # Create agent trainers + n = len(env.agents) + obs_shape_n = [env.observation_space[i].shape for i in range(n)] + # num_adversaries = min(n, arglist.num_adversaries) + num_adversaries = 0 + trainers = get_trainers(env, num_adversaries, obs_shape_n, arglist) + print('Using good policy {} and adv policy {}'.format(arglist.good_policy, arglist.adv_policy)) + + # Initialize + U.initialize() + + # Load previous results, if necessary + if arglist.load_dir == "": + arglist.load_dir = arglist.save_dir + if arglist.display or arglist.restore or arglist.benchmark: + print('Loading previous state...') + U.load_state(arglist.load_dir) + + episode_rewards = [0.0] # sum of rewards for all agents + agent_rewards = [[0.0] for _ in range(env.n)] # individual agent reward + final_ep_rewards = [] # sum of rewards for training curve + final_ep_ag_rewards = [] # agent rewards for training curve + validation_success = [] + agent_info = [[[]]] # placeholder for benchmarking info + saver = tf.train.Saver() + obs_n = env.reset() + episode_step = 0 + train_step = 0 + t_start = time.time() + + print('Starting iterations...') + while True: + # get action + action_n = [agent.action(obs) for agent, obs in zip(trainers,obs_n)] + # environment step + new_obs_n, rew_n, done_n, info_n = env.step(action_n) + episode_step += 1 + done = all(done_n) + terminal = (episode_step >= arglist.max_episode_len) + # collect experience + for i, agent in enumerate(trainers): + agent.experience(obs_n[i], action_n[i], rew_n[i], new_obs_n[i], done_n[i], terminal) + obs_n = new_obs_n + + for i, rew in enumerate(rew_n): + episode_rewards[-1] += rew + agent_rewards[i][-1] += rew + + if done or terminal: + if len(episode_rewards) > arglist.num_episodes - 1000: + if np.sum(np.square(env.world.agents[0].state.p_pos - env.world.landmarks[0].state.p_pos)) < 0.1: + validation_success.append(1) + else: + validation_success.append(0) + + obs_n = env.reset() + episode_step = 0 + episode_rewards.append(0) + for a in agent_rewards: + a.append(0) + agent_info.append([[]]) + + # increment global step counter + train_step += 1 + + # for benchmarking learned policies + if arglist.benchmark: + for i, info in enumerate(info_n): + agent_info[-1][i].append(info_n['n']) + if train_step > arglist.benchmark_iters and (done or terminal): + file_name = arglist.benchmark_dir + arglist.exp_name + '.pkl' + print('Finished benchmarking, now saving...') + with open(file_name, 'wb') as fp: + pickle.dump(agent_info[:-1], fp) + break + continue + + # for displaying learned policies + if arglist.display: + time.sleep(0.1) + env.render() + continue + + # update all trainers, if not in display or benchmark mode + loss = None + for agent in trainers: + agent.preupdate() + for agent in trainers: + loss = agent.update(trainers, train_step) + + # save model, display training output + if terminal and (len(episode_rewards) % arglist.save_rate == 0): + full_directory_path = os.path.join(arglist.save_dir, directory_name_with_time) + if not os.path.exists(full_directory_path): + os.makedirs(full_directory_path) # Create the directory since it does not exist + U.save_state(os.path.join(full_directory_path, directory_name_with_time), saver=saver) + # print statement depends on whether or not there are adversaries + if num_adversaries == 0: + print("steps: {}, episodes: {}, mean episode reward: {}, time: {}".format( + train_step, len(episode_rewards), np.mean(episode_rewards[-arglist.save_rate:]), round(time.time()-t_start, 3))) + else: + print("steps: {}, episodes: {}, mean episode reward: {}, agent episode reward: {}, time: {}".format( + train_step, len(episode_rewards), np.mean(episode_rewards[-arglist.save_rate:]), + [np.mean(rew[-arglist.save_rate:]) for rew in agent_rewards], round(time.time()-t_start, 3))) + t_start = time.time() + # Keep track of final episode reward + final_ep_rewards.append(np.mean(episode_rewards[-arglist.save_rate:])) + for rew in agent_rewards: + final_ep_ag_rewards.append(np.mean(rew[-arglist.save_rate:])) + + # saves final episode reward for plotting training curve later + if len(episode_rewards) > arglist.num_episodes: + full_directory_path = os.path.join(arglist.plots_dir, directory_name_with_time) + if not os.path.exists(full_directory_path): + os.makedirs(full_directory_path) # Create the directory since it does not exist + + rew_file_name = os.path.join(full_directory_path, arglist.exp_name + '_rewards.pkl') + with open(rew_file_name, 'wb') as fp: + pickle.dump(final_ep_rewards, fp) + agrew_file_name = os.path.join(full_directory_path, arglist.exp_name + '_agrewards.pkl') + with open(agrew_file_name, 'wb') as fp: + pickle.dump(final_ep_ag_rewards, fp) + validation_success_file_name = os.path.join(full_directory_path, arglist.exp_name + '_validation_success.pkl') + with open(validation_success_file_name, 'wb') as fp: + pickle.dump(validation_success, fp) + print('...Finished total of {} episodes.'.format(len(episode_rewards))) + break + +if __name__ == '__main__': + arglist = parse_args() + print("here") + + train(arglist) diff --git a/experiments/train.py b/experiments/Training/train.py similarity index 56% rename from experiments/train.py rename to experiments/Training/train.py index 9ac79243..114b9144 100644 --- a/experiments/train.py +++ b/experiments/Training/train.py @@ -1,39 +1,110 @@ import argparse import numpy as np -import tensorflow as tf +import tensorflow.compat.v1 as tf +tf.disable_v2_behavior() import time import pickle - +import os import maddpg.common.tf_util as U from maddpg.trainer.maddpg import MADDPGAgentTrainer import tensorflow.contrib.layers as layers +from datetime import datetime + +current_time = datetime.now() + +# Format the date and time in the format you prefer, e.g., 'YYYYMMDD-HHMMSS' +directory_name_with_time = current_time.strftime('%Y%m%d-%H%M%S') + + +import os +from datetime import datetime +# Replace 'base_directory_path' with the base path where your directories are located + +# Define the date and time format that your directories are using +# This should match the format used when creating the directories +date_time_format = '%Y%m%d-%H%M%S' +def get_directories(base_path): + """Get a list of all directories in the base path.""" + return [d for d in os.listdir(base_path) if os.path.isdir(os.path.join(base_path, d))] +def filter_directories_by_date(directories, date_format): + """Filter out directories that match the date and time pattern.""" + filtered_directories = [] + for directory in directories: + try: + # If the directory name can be parsed into a datetime object, it matches the pattern + datetime.strptime(directory, date_format) + filtered_directories.append(directory) + except ValueError: + # If a ValueError is raised, it means the directory name doesn't match the pattern + continue + return filtered_directories +def find_most_recent_directory(base_path,directories, date_format): + """Find the most recent directory based on the date and time pattern.""" + if not directories: + return None + # Parse the directory names to get the corresponding datetime objects + dates = [datetime.strptime(directory, date_format) for directory in directories] + # Get the most recent date + most_recent_date = max(dates) + # Find the directory that corresponds to the most recent date + most_recent_directory = directories[dates.index(most_recent_date)] + return os.path.join(base_path, most_recent_directory, most_recent_directory) def parse_args(): parser = argparse.ArgumentParser("Reinforcement Learning experiments for multiagent environments") # Environment - parser.add_argument("--scenario", type=str, default="simple", help="name of the scenario script") + parser.add_argument("--scenario", default = 'simple', type=str, help="name of the scenario script") parser.add_argument("--max-episode-len", type=int, default=25, help="maximum episode length") - parser.add_argument("--num-episodes", type=int, default=60000, help="number of episodes") - parser.add_argument("--num-adversaries", type=int, default=0, help="number of adversaries") + parser.add_argument("--lr", type=float, default=1e-2, help="learning rate for Adam optimizer") + parser.add_argument("--fixed-agent", default=False) + parser.add_argument("--fixed-landmark", default=False) + parser.add_argument("--num-units", type=int, default=128, help="number of units in the mlp") + parser.add_argument("--location", type=float, default=0.95, help="discount factor") + parser.add_argument("--gamma", type=float, default=0.95, help="discount factor") + known_args, _ = parser.parse_known_args() + + # Now we can use the scenario in setting default values + scenario = known_args.scenario if known_args.scenario else "default_scenario" + maxep = known_args.max_episode_len if known_args.max_episode_len else "25" + lr = known_args.lr if known_args.lr else "1e-2" + FA = "FA" if known_args.fixed_agent == 'True' else "NFA" + FL = "FL" if known_args.fixed_landmark == 'True' else "NFL" + numunits = known_args.num_units if known_args.num_units else "128" + gamma = known_args.gamma if known_args.gamma else "0.95" + + base_directory_path = f"./tmp/policy/{scenario}.{maxep}.{lr}.{numunits}.{gamma}.{FA}.{FL}" + if not os.path.exists(base_directory_path): + os.makedirs(base_directory_path) + directories = get_directories(base_directory_path) + date_directories = filter_directories_by_date(directories, date_time_format) + most_recent_directory = find_most_recent_directory(base_directory_path, date_directories, date_time_format) + if most_recent_directory is None: + print("No previous directories found") + most_recent_directory = "" + + plot_directory_path = f"./learning_curves/{scenario}.{maxep}.{lr}.{numunits}.{gamma}.{FA}.{FL}" + if not os.path.exists(plot_directory_path): + os.makedirs(plot_directory_path) + parser.add_argument("--num-episodes", type=int, default=15000, help="number of episodes") + parser.add_argument("--num-adversaries", type=int, default=1, help="number of adversaries") parser.add_argument("--good-policy", type=str, default="maddpg", help="policy for good agents") parser.add_argument("--adv-policy", type=str, default="maddpg", help="policy of adversaries") # Core training parameters - parser.add_argument("--lr", type=float, default=1e-2, help="learning rate for Adam optimizer") - parser.add_argument("--gamma", type=float, default=0.95, help="discount factor") parser.add_argument("--batch-size", type=int, default=1024, help="number of episodes to optimize at the same time") - parser.add_argument("--num-units", type=int, default=64, help="number of units in the mlp") # Checkpointing - parser.add_argument("--exp-name", type=str, default=None, help="name of the experiment") - parser.add_argument("--save-dir", type=str, default="/tmp/policy/", help="directory in which training state and model should be saved") - parser.add_argument("--save-rate", type=int, default=1000, help="save model once every time this many episodes are completed") - parser.add_argument("--load-dir", type=str, default="", help="directory in which training state and model are loaded") + parser.add_argument("--exp-name", type=str, default='test', help="name of the experiment") + parser.add_argument("--save-dir", type=str, default=base_directory_path, help="directory in which training state and model should be saved") + parser.add_argument("--save-rate", type=int, default=500, help="save model once every time this many episodes are completed") + parser.add_argument("--load-dir", type=str, default=most_recent_directory, help="directory in which training state and model are loaded") # Evaluation parser.add_argument("--restore", action="store_true", default=False) parser.add_argument("--display", action="store_true", default=False) + + parser.add_argument("--benchmark", action="store_true", default=False) parser.add_argument("--benchmark-iters", type=int, default=100000, help="number of iterations run for benchmarking") - parser.add_argument("--benchmark-dir", type=str, default="./benchmark_files/", help="directory where benchmark data is saved") - parser.add_argument("--plots-dir", type=str, default="./learning_curves/", help="directory where plot data is saved") + parser.add_argument("--benchmark_files", type=str, default="./benchmark_files/", help="directory where benchmark data is saved") + parser.add_argument("--plots-dir", type=str, default=plot_directory_path, help="directory where plot data is saved") return parser.parse_args() def mlp_model(input, num_outputs, scope, reuse=False, num_units=64, rnn_cell=None): @@ -99,16 +170,21 @@ def train(arglist): agent_rewards = [[0.0] for _ in range(env.n)] # individual agent reward final_ep_rewards = [] # sum of rewards for training curve final_ep_ag_rewards = [] # agent rewards for training curve + validation_success = [] agent_info = [[[]]] # placeholder for benchmarking info saver = tf.train.Saver() obs_n = env.reset() episode_step = 0 train_step = 0 t_start = time.time() - + print('obs_n', obs_n) + print('obs_shape_n', obs_shape_n) + print('env.action_space', env.action_space) + print('n_agents', env.n) print('Starting iterations...') while True: # get action + # print(obs_n[0].shape, obs_n.shape) action_n = [agent.action(obs) for agent, obs in zip(trainers,obs_n)] # environment step new_obs_n, rew_n, done_n, info_n = env.step(action_n) @@ -125,6 +201,12 @@ def train(arglist): agent_rewards[i][-1] += rew if done or terminal: + if len(episode_rewards) > arglist.num_episodes - 1000: + if np.sum(np.square(env.world.agents[0].state.p_pos - env.world.landmarks[0].state.p_pos)) < 0.1: + validation_success.append(1) + else: + validation_success.append(0) + obs_n = env.reset() episode_step = 0 episode_rewards.append(0) @@ -162,7 +244,10 @@ def train(arglist): # save model, display training output if terminal and (len(episode_rewards) % arglist.save_rate == 0): - U.save_state(arglist.save_dir, saver=saver) + full_directory_path = os.path.join(arglist.save_dir, directory_name_with_time) + if not os.path.exists(full_directory_path): + os.makedirs(full_directory_path) # Create the directory since it does not exist + U.save_state(os.path.join(full_directory_path, directory_name_with_time), saver=saver) # print statement depends on whether or not there are adversaries if num_adversaries == 0: print("steps: {}, episodes: {}, mean episode reward: {}, time: {}".format( @@ -179,12 +264,19 @@ def train(arglist): # saves final episode reward for plotting training curve later if len(episode_rewards) > arglist.num_episodes: - rew_file_name = arglist.plots_dir + arglist.exp_name + '_rewards.pkl' + full_directory_path = os.path.join(arglist.plots_dir, directory_name_with_time) + if not os.path.exists(full_directory_path): + os.makedirs(full_directory_path) # Create the directory since it does not exist + + rew_file_name = os.path.join(full_directory_path, arglist.exp_name + '_rewards.pkl') with open(rew_file_name, 'wb') as fp: pickle.dump(final_ep_rewards, fp) - agrew_file_name = arglist.plots_dir + arglist.exp_name + '_agrewards.pkl' + agrew_file_name = os.path.join(full_directory_path, arglist.exp_name + '_agrewards.pkl') with open(agrew_file_name, 'wb') as fp: pickle.dump(final_ep_ag_rewards, fp) + validation_success_file_name = os.path.join(full_directory_path, arglist.exp_name + '_validation_success.pkl') + with open(validation_success_file_name, 'wb') as fp: + pickle.dump(validation_success, fp) print('...Finished total of {} episodes.'.format(len(episode_rewards))) break diff --git a/experiments/Training/train_mujuco.py b/experiments/Training/train_mujuco.py new file mode 100644 index 00000000..0c8ecf67 --- /dev/null +++ b/experiments/Training/train_mujuco.py @@ -0,0 +1,401 @@ +import argparse +import numpy as np +import tensorflow.compat.v1 as tf +# import tensorflow as tf +tf.disable_v2_behavior() +import maddpg.common.tf_util as U +from maddpg.trainer.maddpg import MADDPGAgentTrainer +# import tensorflow.contrib.layers as layers +import tensorflow.keras.layers as layers +from datetime import datetime + +import yaml +import os +import shutil +import math +import time +import pickle +import random +import gymnasium_robotics +current_time = datetime.now() + +# Format the date and time in the format you prefer, e.g., 'YYYYMMDD-HHMMSS' +directory_name_with_time = current_time.strftime('%Y%m%d-%H%M%S') + + +# Replace 'base_directory_path' with the base path where your directories are located + +# Define the date and time format that your directories are using +# This should match the format used when creating the directories +date_time_format = '%Y%m%d-%H%M%S' +def get_directories(base_path): + """Get a list of all directories in the base path.""" + return [d for d in os.listdir(base_path) if os.path.isdir(os.path.join(base_path, d))] +def filter_directories_by_date(directories, date_format): + """Filter out directories that match the date and time pattern.""" + filtered_directories = [] + for directory in directories: + try: + # If the directory name can be parsed into a datetime object, it matches the pattern + datetime.strptime(directory, date_format) + filtered_directories.append(directory) + except ValueError: + # If a ValueError is raised, it means the directory name doesn't match the pattern + continue + return filtered_directories +def find_most_recent_directory(base_path,directories, date_format): + """Find the most recent directory based on the date and time pattern.""" + if not directories: + return None + # Parse the directory names to get the corresponding datetime objects + dates = [datetime.strptime(directory, date_format) for directory in directories] + # Get the most recent date + most_recent_date = max(dates) + # Find the directory that corresponds to the most recent date + most_recent_directory = directories[dates.index(most_recent_date)] + # return most_recent_directory + return os.path.join(base_path, most_recent_directory, most_recent_directory) + + +def parse_args_n_config(): + parser = argparse.ArgumentParser("Reinforcement Learning experiments for multiagent environments") + parser.add_argument("--config", default='ant_config_2.yaml') + parser.add_argument("--starting_run", default=0, type=int) + parser.add_argument("--final_run", default=int(1e6), type=int) + parser.add_argument("--train", default=True, type=bool) + # Environment + parser.add_argument("--max-episode-len", type=int, default=25, help="maximum episode length") + parser.add_argument("--lr", type=float, default=1e-3, help="learning rate for Adam optimizer") + parser.add_argument("--num-units", type=int, default=350, help="number of units in the mlp") + parser.add_argument("--gamma", type=float, default=0.99, help="discount factor") + parser.add_argument("--partition", type=str, default="2x4", help="agent configuration file") + + parser.add_argument("--num-episodes", type=int, default=30000, help="number of episodes") + parser.add_argument("--num-adversaries", type=int, default=1, help="number of adversaries") + parser.add_argument("--good-policy", type=str, default="maddpg", help="policy for good agents") + parser.add_argument("--adv-policy", type=str, default="maddpg", help="policy of adversaries") + + # Core training parameters + parser.add_argument("--batch-size", type=int, default=100, help="number of episodes to optimize at the same time") + parser.add_argument("--buffer_size", type=int, default=int(1e6), help="buffer size") + parser.add_argument("--mal_agent", type=int, default=0, help="mal agent") + #Checkpointing + # parser.add_argument("--save-rate", type=int, default=1000, + # help="save model once every time this many episodes are completed") + # parser.add_argument("--benchmark", action="store_true", default=False) + # parser.add_argument("--benchmark-iters", type=int, default=100000) + # # Evaluation + # parser.add_argument("--restore", action="store_true", default=False) + # parser.add_argument("--display", action="store_true", default=False) + + + + known_args, _ = parser.parse_known_args() + config = yaml.safe_load(open(known_args.config, 'r')) + + # Now we can use the scenario in setting default values + scenario = config['domain']['name'] + if config['domain']['factorization'] == '9|8': + adjugate = '9x8' + else: + adjugate = config['domain']['factorization'] + lr = known_args.lr if known_args.lr else "1e-2" + numunits = known_args.num_units if known_args.num_units else "128" + gamma = known_args.gamma if known_args.gamma else "0.95" + + base_directory_path = f"./tmp/policy/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}" + if not os.path.exists(base_directory_path): + os.makedirs(base_directory_path) + directories = get_directories(base_directory_path) + date_directories = filter_directories_by_date(directories, date_time_format) + most_recent_directory = find_most_recent_directory(base_directory_path, date_directories, date_time_format) + + if most_recent_directory is None: + print("No previous directories found") + most_recent_directory = "" + + plot_directory_path = f"./learning_curves/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}/" + load_dir = f"./tmp/policy/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}/" + + # print("Base directory path: ", base_directory_path) + # print("Most recent directory: ", most_recent_directory) + # print("Plot directory path: ", plot_directory_path) + # print("Load directory: ", load_dir) + # print(config['maddpg']['save_dir']) + # print(config['maddpg']['load_dir']) + if not os.path.exists(plot_directory_path): + os.makedirs(plot_directory_path) + # Checkpointing + # parser.add_argument("--exp-name", type=str, default='test', help="name of the experiment") + # parser.add_argument("--save-dir", type=str, default=base_directory_path, + # help="directory in which training state and model should be saved") + # parser.add_argument("--load-dir", type=str, default=most_recent_directory, + # help="directory in which training state and model are loaded") + # parser.add_argument("--benchmark_files", type=str, default="./benchmark_files/", + # help="directory where benchmark data is saved") + # parser.add_argument("--plots-dir", type=str, default=plot_directory_path, + # help="directory where plot data is saved") + args = parser.parse_args() + # if (args.restore or args.display or args.benchmark) and args.load_dir == "": + # args.load_dir = load_dir + + if (config['maddpg']['restore'] or config['maddpg']['display'] or config['maddpg']['benchmark']) or config['maddpg']['load_dir'] == "": + config['maddpg']['load_dir'] = most_recent_directory + config['maddpg']['save_dir'] = base_directory_path + config['maddpg']['plots_dir'] = plot_directory_path + return args, config # return both args and config + +def mlp_model_actor(input, num_outputs, scope, reuse=False, num_units=64, rnn_cell=None): + with tf.variable_scope(scope, reuse=reuse): + out = input + # Use tf.compat.v1.layers or tf.layers for fully_connected layers + out = tf.compat.v1.layers.dense(out, units=num_units, activation=tf.nn.tanh) + out = tf.compat.v1.layers.dense(out, units=num_units, activation=tf.nn.tanh) + out = tf.compat.v1.layers.dense(out, units=num_outputs, activation=tf.nn.tanh) + return out +def mlp_model_critic(input, num_outputs, scope, reuse=False, num_units=64, rnn_cell=None): + with tf.variable_scope(scope, reuse=reuse): + out = input + # Use tf.compat.v1.layers or tf.layers for fully_connected layers + out = tf.compat.v1.layers.dense(out, units=num_units, activation=tf.nn.relu) + out = tf.compat.v1.layers.dense(out, units=num_units, activation=tf.nn.relu) + out = tf.compat.v1.layers.dense(out, units=num_outputs, activation=None) + return out + +def make_env(arglist, config, show=False): + if config['domain']['name'] == 'Ant': + if config['domain']['factorization'] == '8x1': + from gymnasium_robotics.mamujoco_v0 import get_parts_and_edges + env = gymnasium_robotics.mamujoco_v0.parallel_env(scenario=config['domain']['name'], + agent_conf=config['domain']['factorization'], + healthy_reward=0.1, + max_episode_steps=config['domain']['max_episode_len'], + render_mode='rgb_array', terminate_when_unhealthy=False, + use_contact_forces=False) + else: + env = gymnasium_robotics.mamujoco_v0.parallel_env(scenario=config['domain']['name'], agent_conf=config['domain']['factorization'],healthy_reward=0.1, + max_episode_steps=config['domain']['max_episode_len'], + render_mode='rgb_array', terminate_when_unhealthy=False,use_contact_forces = False) + else: + env = gymnasium_robotics.mamujoco_v0.parallel_env(scenario=config['domain']['name'], agent_conf=config['domain']['factorization'], + render_mode='rgb_array') + return env + +def get_trainers(env, num_adversaries, obs_shape_n, action_shape_n, config, arglist): + trainers = [] + actor_model = mlp_model_actor + critic_model = mlp_model_critic + trainer = MADDPGAgentTrainer + # for i in range(num_adversaries): + # trainers.append(trainer( + # "agent_%d" % i, model, obs_shape_n, env.action_space, i, arglist, + # local_q_func=(config['maddpg']['adv_policy']=='ddpg'))) + for i in range(num_adversaries, len(env.possible_agents)): + trainers.append(trainer( + "agent_%d" % i, actor_model, critic_model, obs_shape_n, action_shape_n, i, arglist, + local_q_func=(config['maddpg']['good_policy']=='ddpg'))) + return trainers + + + +def train(arglist, config): + all_ep_runs = [] + all_ag_runs = [] + all_time_steps = [] + with U.single_threaded_session(): + # Create environment + env = make_env(arglist, config, show=False) + # Create agent trainers + n_agents = len(env.possible_agents) + actions_spaces = [env.action_space(agent) for agent in env.possible_agents] + + observations_spaces = [env.observation_space(agent).shape for agent in env.possible_agents] + # print("Observation space: ", observations_spaces) + # print("Action space: ", actions_spaces) + trainers = get_trainers(env, 0, observations_spaces, actions_spaces, config, arglist) + print('Using good policy {} and adv policy {}'.format(config['maddpg']['good_policy'], config['maddpg']['adv_policy'])) + + # Initialize + U.initialize() + + # Load previous results, if necessary + if config['maddpg']['load_dir'] == "": + config['maddpg']['load_dir'] = config['maddpg']['save_dir'] + if config['maddpg']['display'] or config['maddpg']['restore'] or config['maddpg']['benchmark']: + print('Loading previous state...') + print(config['maddpg']['load_dir']) + U.load_state(config['maddpg']['load_dir']) + + episode_rewards = [0.0] # sum of rewards for all agents + agent_rewards = [[0.0] for _ in range(n_agents)] # individual agent reward + final_ep_rewards = [] # sum of rewards for training curve + final_ep_ag_rewards = [] # agent rewards for training curve + time_steps = [] + validation_success = [] + agent_info = [[[]]] # placeholder for benchmarking info + saver = tf.train.Saver() + + cur_state_dict, xypos = env.reset() + cur_state = [np.array(state, dtype=np.float32) for state in cur_state_dict.values()] + episode_step = 0 + train_step = 0 + t_start = time.time() + t_total = time.time() + tot_steps = 0 + + print(str(config['domain']['name'])) + print('Starting iterations...') + + while True: + # cur_state_full = torch.tensor(env.state(), dtype=torch.float32, device=TORCH_DEVICE) + # cur_state_full = np.array(env.state(), dtype=np.float32) + # get action + # print("N-agents: ", n_agents) + # print("cur_state: ", cur_state[0]) + # print("cur_state_dict: ", cur_state_dict) + # print("cur_state_keys: ", cur_state_dict.keys()) + # print("cur_position: ", xypos) + # print("cur_state_values: ", cur_state_dict.values()) + # print(len(cur_state), len(cur_state_dict.values())) + # print(cur_state[0].shape, cur_state_full.shape, env.state().shape) + + actions = [agent.action(obs) for agent, obs in zip(trainers,cur_state)] + # environment step + actions_dict = {env.possible_agents[agent_id]: actions[agent_id] for agent_id in + range(len(env.possible_agents))} + actions_dict_numpy = {env.possible_agents[agent_id]: actions[agent_id].tolist() for agent_id in + range(len(env.possible_agents))} + + # step + # new_obs_n, rew_n, done_n, info_n = env.step(action_n) + new_state_dict, reward_dict, is_terminal_dict, is_truncated_dict, xypos = env.step(actions_dict_numpy) + next_state = [np.array(state, dtype=np.float32) for state in new_state_dict.values()] + + terminal = (episode_step >= arglist.max_episode_len) + + # store to ERB + # a = np.array(env.map_local_actions_to_global_action(actions_dict_numpy)) + # print(actions_dict, a) + for i, agent in enumerate(trainers): + agent.experience(cur_state[i], actions_dict[agent.name], reward_dict[agent.name], next_state[i], is_terminal_dict[agent.name], terminal) + # model.erb.add_experience(old_state=cur_state_full, + # actions=torch.tensor(env.map_local_actions_to_global_action(actions_dict_numpy), + # dtype=torch.float32, device=TORCH_DEVICE), + # reward=reward_dict[env.possible_agents[0]], + # new_state=torch.tensor(env.state(), dtype=torch.float32, device=TORCH_DEVICE), + # is_terminal=is_terminal_dict[env.possible_agents[0]]) + + # update cur_state + # obs_n = new_obs_n + # new_state = [torch.tensor(state, dtype=torch.float32, device=TORCH_DEVICE) for state in + # new_state_dict.values()] + new_state = [np.array(state, dtype=np.float32) for state in new_state_dict.values()] + cur_state = new_state + + done = all(is_terminal_dict.values()) or all(is_truncated_dict.values()) + + # collect experience + for i, rew in enumerate(reward_dict.values()): + episode_rewards[-1] += rew + agent_rewards[i][-1] += rew + + # increment global step counter + train_step += 1 + + if done or terminal: + final_ep_rewards.append(episode_rewards[-1]) + time_steps.append(train_step) + cur_state_dict = env.reset()[0] + cur_state = [np.array(state, dtype=np.float32) for state in cur_state_dict.values()] + episode_step = 0 + episode_rewards.append(0) + for a in agent_rewards: + a.append(0) + agent_info.append([[]]) + + + + # for benchmarking learned policies + # if arglist.benchmark: + # for i, info in enumerate(info_n): + # agent_info[-1][i].append(info_n['n']) + # if train_step > arglist.benchmark_iters and (done or terminal): + # file_name = arglist.benchmark_dir + arglist.exp_name + '.pkl' + # print('Finished benchmarking, now saving...') + # with open(file_name, 'wb') as fp: + # pickle.dump(agent_info[:-1], fp) + # break + # continue + + # for displaying learned policies + # if arglist.train and len(episode_rewards) % config['maddpg']['save_rate'] == 0 and config['maddpg']['display']: + # env = make_env(arglist, config, True) + # cur_state_dict = env.reset()[0] + # cur_state = [np.array(state, dtype=np.float32) for state in cur_state_dict.values()] + # if arglist.train and len(episode_rewards) % config['maddpg']['save_rate'] + 50 == 0 and config['maddpg']['display']: + # env = make_env(arglist, config, False) + + # if config['maddpg']['display']: + # time.sleep(0.1) + # env.render() + # continue + + # update all trainers, if not in display or benchmark mode + loss = None + for agent in trainers: + agent.preupdate() + for agent in trainers: + loss = agent.update(trainers, train_step) + + + # save model, display training output + if (done or terminal) and (len(episode_rewards) % config['maddpg']['save_rate'] == 0): + full_directory_path = os.path.join(config['maddpg']['save_dir'], directory_name_with_time) + # print(full_directory_path) + if not os.path.exists(full_directory_path): + os.makedirs(full_directory_path) # Create the directory since it does not exist + U.save_state(os.path.join(full_directory_path, directory_name_with_time), saver=saver) + # print statement depends on whether or not there are adversaries + # if num_adversaries == 0: + # print("steps: {}, episodes: {}, mean episode reward: {}, time: {}".format( + # train_step, len(episode_rewards), np.mean(episode_rewards[-arglist.save_rate:]), round(time.time()-t_start, 3))) + # else: + print("steps: {}, episodes: {}, mean episode reward: {}, agent episode reward: {}, time: {}".format( + train_step, len(episode_rewards), np.mean(episode_rewards[-config['maddpg']['save_rate']:]), + [np.mean(rew[-config['maddpg']['save_rate']:]) for rew in agent_rewards], round(time.time()-t_start, 3))) + t_start = time.time() + # Keep track of final episode reward + # final_ep_rewards.append(np.mean(episode_rewards[-config['maddpg']['save_rate']:])) + + + + # saves final episode reward for plotting training curve later + # if config['domain']['total_timesteps'] < train_step: + + if len(episode_rewards) > config['domain']['num_episodes']: + full_directory_path = os.path.join(config['maddpg']['plots_dir'], directory_name_with_time) + # print(full_directory_path) + if not os.path.exists(full_directory_path): + os.makedirs(full_directory_path) # Create the directory since it does not exist + rew_file_name = os.path.join(full_directory_path, config['maddpg']['exp_name'] + '_rewards.pkl') + with open(rew_file_name, 'wb') as fp: + pickle.dump(final_ep_rewards, fp) + agrew_file_name = os.path.join(full_directory_path, config['maddpg']['exp_name'] + '_agrewards.pkl') + with open(agrew_file_name, 'wb') as fp: + pickle.dump(final_ep_ag_rewards, fp) + agrew_file_name = os.path.join(full_directory_path, config['maddpg']['exp_name'] + '_timesteps.pkl') + with open(agrew_file_name, 'wb') as fp: + pickle.dump(time_steps, fp) + # validation_success_file_name = os.path.join(full_directory_path, + # config['maddpg']['exp_name'] + '_validation_success.pkl') + # with open(validation_success_file_name, 'wb') as fp: + # pickle.dump(validation_success, fp) + print('...Finished total of {} episodes. Time: {}'.format(len(episode_rewards), time.time() - t_total)) + # tf.reset_default_graph() + break + cur_state = next_state + + +if __name__ == '__main__': + arglist, config = parse_args_n_config() + train(arglist, config) diff --git a/experiments/Training/train_mujuco_malfunction.py b/experiments/Training/train_mujuco_malfunction.py new file mode 100644 index 00000000..9b3b64d3 --- /dev/null +++ b/experiments/Training/train_mujuco_malfunction.py @@ -0,0 +1,402 @@ +import argparse +import numpy as np +import tensorflow.compat.v1 as tf +# import tensorflow as tf +tf.disable_v2_behavior() +import maddpg.common.tf_util as U +from maddpg.trainer.maddpg import MADDPGAgentTrainer +# import tensorflow.contrib.layers as layers +import tensorflow.keras.layers as layers +from datetime import datetime + +import yaml +import os +import shutil +import math +import time +import pickle +import random +import gymnasium_robotics +current_time = datetime.now() + +# Format the date and time in the format you prefer, e.g., 'YYYYMMDD-HHMMSS' +directory_name_with_time = current_time.strftime('%Y%m%d-%H%M%S') + + +# Replace 'base_directory_path' with the base path where your directories are located + +# Define the date and time format that your directories are using +# This should match the format used when creating the directories +date_time_format = '%Y%m%d-%H%M%S' +def get_directories(base_path): + """Get a list of all directories in the base path.""" + return [d for d in os.listdir(base_path) if os.path.isdir(os.path.join(base_path, d))] +def filter_directories_by_date(directories, date_format): + """Filter out directories that match the date and time pattern.""" + filtered_directories = [] + for directory in directories: + try: + # If the directory name can be parsed into a datetime object, it matches the pattern + datetime.strptime(directory, date_format) + filtered_directories.append(directory) + except ValueError: + # If a ValueError is raised, it means the directory name doesn't match the pattern + continue + return filtered_directories +def find_most_recent_directory(base_path,directories, date_format): + """Find the most recent directory based on the date and time pattern.""" + if not directories: + return None + # Parse the directory names to get the corresponding datetime objects + dates = [datetime.strptime(directory, date_format) for directory in directories] + # Get the most recent date + most_recent_date = max(dates) + # Find the directory that corresponds to the most recent date + most_recent_directory = directories[dates.index(most_recent_date)] + # return most_recent_directory + return os.path.join(base_path, most_recent_directory, most_recent_directory) + + +def parse_args_n_config(): + parser = argparse.ArgumentParser("Reinforcement Learning experiments for multiagent environments") + parser.add_argument("--config", default='ant_config_2.yaml') + parser.add_argument("--starting_run", default=0, type=int) + parser.add_argument("--final_run", default=int(1e6), type=int) + parser.add_argument("--train", default=True, type=bool) + # Environment + parser.add_argument("--max-episode-len", type=int, default=25, help="maximum episode length") + parser.add_argument("--lr", type=float, default=1e-3, help="learning rate for Adam optimizer") + parser.add_argument("--num-units", type=int, default=350, help="number of units in the mlp") + parser.add_argument("--gamma", type=float, default=0.99, help="discount factor") + parser.add_argument("--partition", type=str, default="2x4", help="agent configuration file") + + parser.add_argument("--num-episodes", type=int, default=30000, help="number of episodes") + parser.add_argument("--num-adversaries", type=int, default=1, help="number of adversaries") + parser.add_argument("--good-policy", type=str, default="maddpg", help="policy for good agents") + parser.add_argument("--adv-policy", type=str, default="maddpg", help="policy of adversaries") + + # Core training parameters + parser.add_argument("--batch-size", type=int, default=100, help="number of episodes to optimize at the same time") + parser.add_argument("--buffer_size", type=int, default=int(1e6), help="buffer size") + parser.add_argument("--mal_agent", type=int, default=0, help="malfunctioning agent") + #Checkpointing + # parser.add_argument("--save-rate", type=int, default=1000, + # help="save model once every time this many episodes are completed") + # parser.add_argument("--benchmark", action="store_true", default=False) + # parser.add_argument("--benchmark-iters", type=int, default=100000) + # # Evaluation + # parser.add_argument("--restore", action="store_true", default=False) + # parser.add_argument("--display", action="store_true", default=False) + + + + known_args, _ = parser.parse_known_args() + config = yaml.safe_load(open(known_args.config, 'r')) + + # Now we can use the scenario in setting default values + scenario = config['domain']['name'] + if config['domain']['factorization'] == '9|8': + adjugate = '9x8' + else: + adjugate = config['domain']['factorization'] + lr = known_args.lr if known_args.lr else "1e-2" + numunits = known_args.num_units if known_args.num_units else "128" + gamma = known_args.gamma if known_args.gamma else "0.95" + + base_directory_path = f"./tmp/policy/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}" + if not os.path.exists(base_directory_path): + os.makedirs(base_directory_path) + directories = get_directories(base_directory_path) + date_directories = filter_directories_by_date(directories, date_time_format) + most_recent_directory = find_most_recent_directory(base_directory_path, date_directories, date_time_format) + + if most_recent_directory is None: + print("No previous directories found") + most_recent_directory = "" + + plot_directory_path = f"./learning_curves/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}/" + load_dir = f"./tmp/policy/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}/" + + # print("Base directory path: ", base_directory_path) + # print("Most recent directory: ", most_recent_directory) + # print("Plot directory path: ", plot_directory_path) + # print("Load directory: ", load_dir) + # print(config['maddpg']['save_dir']) + # print(config['maddpg']['load_dir']) + if not os.path.exists(plot_directory_path): + os.makedirs(plot_directory_path) + # Checkpointing + # parser.add_argument("--exp-name", type=str, default='test', help="name of the experiment") + # parser.add_argument("--save-dir", type=str, default=base_directory_path, + # help="directory in which training state and model should be saved") + # parser.add_argument("--load-dir", type=str, default=most_recent_directory, + # help="directory in which training state and model are loaded") + # parser.add_argument("--benchmark_files", type=str, default="./benchmark_files/", + # help="directory where benchmark data is saved") + # parser.add_argument("--plots-dir", type=str, default=plot_directory_path, + # help="directory where plot data is saved") + args = parser.parse_args() + # if (args.restore or args.display or args.benchmark) and args.load_dir == "": + # args.load_dir = load_dir + + if (config['maddpg']['restore'] or config['maddpg']['display'] or config['maddpg']['benchmark']) or config['maddpg']['load_dir'] == "": + config['maddpg']['load_dir'] = most_recent_directory + config['maddpg']['save_dir'] = base_directory_path + config['maddpg']['plots_dir'] = plot_directory_path + return args, config # return both args and config + +def mlp_model_actor(input, num_outputs, scope, reuse=False, num_units=64, rnn_cell=None): + with tf.variable_scope(scope, reuse=reuse): + out = input + # Use tf.compat.v1.layers or tf.layers for fully_connected layers + out = tf.compat.v1.layers.dense(out, units=num_units, activation=tf.nn.tanh) + out = tf.compat.v1.layers.dense(out, units=num_units, activation=tf.nn.tanh) + out = tf.compat.v1.layers.dense(out, units=num_outputs, activation=tf.nn.tanh) + return out +def mlp_model_critic(input, num_outputs, scope, reuse=False, num_units=64, rnn_cell=None): + with tf.variable_scope(scope, reuse=reuse): + out = input + # Use tf.compat.v1.layers or tf.layers for fully_connected layers + out = tf.compat.v1.layers.dense(out, units=num_units, activation=tf.nn.relu) + out = tf.compat.v1.layers.dense(out, units=num_units, activation=tf.nn.relu) + out = tf.compat.v1.layers.dense(out, units=num_outputs, activation=None) + return out + +def make_env(arglist, config, show=False): + if config['domain']['name'] == 'Ant': + env = gymnasium_robotics.mamujoco_v0.parallel_env(scenario=config['domain']['name'], agent_conf=config['domain']['factorization'],healthy_reward=0.1, + max_episode_steps=config['domain']['max_episode_len'], + agent_obsk=config['domain']['obsk'], terminate_when_unhealthy=False, use_contact_forces = False) + else: + env = gymnasium_robotics.mamujoco_v0.parallel_env(scenario=config['domain']['name'], agent_conf=config['domain']['factorization'], + agent_obsk=config['domain']['obsk']) + return env + +def get_trainers(env, num_adversaries, obs_shape_n, action_shape_n, config, arglist): + trainers = [] + actor_model = mlp_model_actor + critic_model = mlp_model_critic + trainer = MADDPGAgentTrainer + # for i in range(num_adversaries): + # trainers.append(trainer( + # "agent_%d" % i, model, obs_shape_n, env.action_space, i, arglist, + # local_q_func=(config['maddpg']['adv_policy']=='ddpg'))) + for i in range(num_adversaries, len(env.possible_agents)): + trainers.append(trainer( + "agent_%d" % i, actor_model, critic_model, obs_shape_n, action_shape_n, i, arglist, + local_q_func=(config['maddpg']['good_policy']=='ddpg'))) + return trainers + + +def train(arglist, config): + all_ep_runs = [] + all_ag_runs = [] + all_time_steps = [] + with U.single_threaded_session(): + # Create environment + env = make_env(arglist, config, show=False) + # Create agent trainers + n_agents = len(env.possible_agents) + actions_spaces = [env.action_space(agent) for agent in env.possible_agents] + + observations_spaces = [env.observation_space(agent).shape for agent in env.possible_agents] + # print("Observation space: ", observations_spaces) + # print("Action space: ", actions_spaces) + trainers = get_trainers(env, 0, observations_spaces, actions_spaces, config, arglist) + print('Using good policy {} and adv policy {}'.format(config['maddpg']['good_policy'], config['maddpg']['adv_policy'])) + + # Initialize + U.initialize() + + # Load previous results, if necessary + if config['maddpg']['load_dir'] == "": + config['maddpg']['load_dir'] = config['maddpg']['save_dir'] + if config['maddpg']['display'] or config['maddpg']['restore'] or config['maddpg']['benchmark']: + print('Loading previous state...') + print(config['maddpg']['load_dir']) + U.load_state(config['maddpg']['load_dir']) + + episode_rewards = [0.0] # sum of rewards for all agents + agent_rewards = [[0.0] for _ in range(n_agents)] # individual agent reward + final_ep_rewards = [] # sum of rewards for training curve + final_ep_ag_rewards = [] # agent rewards for training curve + time_steps = [] + validation_success = [] + agent_info = [[[]]] # placeholder for benchmarking info + saver = tf.train.Saver() + + cur_state_dict, xypos = env.reset() + cur_state = [np.array(state, dtype=np.float32) for state in cur_state_dict.values()] + episode_step = 0 + train_step = 0 + t_start = time.time() + t_total = time.time() + tot_steps = 0 + malfunction = False + + print(str(config['domain']['name'])) + print('Starting iterations...') + + while True: + # cur_state_full = torch.tensor(env.state(), dtype=torch.float32, device=TORCH_DEVICE) + # cur_state_full = np.array(env.state(), dtype=np.float32) + # get action + # print("N-agents: ", n_agents) + # print("cur_state: ", cur_state[0]) + # print("cur_state_dict: ", cur_state_dict) + # print("cur_state_keys: ", cur_state_dict.keys()) + # print("cur_position: ", xypos) + # print("cur_state_values: ", cur_state_dict.values()) + # print(len(cur_state), len(cur_state_dict.values())) + # print(cur_state[0].shape, cur_state_full.shape, env.state().shape) + + actions = [agent.action(obs) for agent, obs in zip(trainers,cur_state)] + + if malfunction: + actions[mal_agent] = np.zeros_like(actions[mal_agent]) + + # environment step + actions_dict = {env.possible_agents[agent_id]: actions[agent_id] for agent_id in + range(len(env.possible_agents))} + actions_dict_numpy = {env.possible_agents[agent_id]: actions[agent_id].tolist() for agent_id in + range(len(env.possible_agents))} + + # step + # new_obs_n, rew_n, done_n, info_n = env.step(action_n) + new_state_dict, reward_dict, is_terminal_dict, is_truncated_dict, xypos = env.step(actions_dict_numpy) + next_state = [np.array(state, dtype=np.float32) for state in new_state_dict.values()] + + terminal = (episode_step >= arglist.max_episode_len) + + # store to ERB + # a = np.array(env.map_local_actions_to_global_action(actions_dict_numpy)) + # print(actions_dict, a) + for i, agent in enumerate(trainers): + agent.experience(cur_state[i], actions_dict[agent.name], reward_dict[agent.name], next_state[i], is_terminal_dict[agent.name], terminal) + # model.erb.add_experience(old_state=cur_state_full, + # actions=torch.tensor(env.map_local_actions_to_global_action(actions_dict_numpy), + # dtype=torch.float32, device=TORCH_DEVICE), + # reward=reward_dict[env.possible_agents[0]], + # new_state=torch.tensor(env.state(), dtype=torch.float32, device=TORCH_DEVICE), + # is_terminal=is_terminal_dict[env.possible_agents[0]]) + + # update cur_state + # obs_n = new_obs_n + # new_state = [torch.tensor(state, dtype=torch.float32, device=TORCH_DEVICE) for state in + # new_state_dict.values()] + new_state = [np.array(state, dtype=np.float32) for state in new_state_dict.values()] + cur_state = new_state + + done = all(is_terminal_dict.values()) or all(is_truncated_dict.values()) + + # collect experience + for i, rew in enumerate(reward_dict.values()): + episode_rewards[-1] += rew + agent_rewards[i][-1] += rew + + # increment global step counter + train_step += 1 + + if done or terminal: + final_ep_rewards.append(episode_rewards[-1]) + time_steps.append(train_step) + cur_state_dict = env.reset()[0] + cur_state = [np.array(state, dtype=np.float32) for state in cur_state_dict.values()] + episode_step = 0 + episode_rewards.append(0) + for a in agent_rewards: + a.append(0) + agent_info.append([[]]) + + # Malfunction + if len(episode_rewards) == config['domain']['malfunction_episode']: + malfunction = True + mal_agent = arglist.mal_agent + + # for benchmarking learned policies + # if arglist.benchmark: + # for i, info in enumerate(info_n): + # agent_info[-1][i].append(info_n['n']) + # if train_step > arglist.benchmark_iters and (done or terminal): + # file_name = arglist.benchmark_dir + arglist.exp_name + '.pkl' + # print('Finished benchmarking, now saving...') + # with open(file_name, 'wb') as fp: + # pickle.dump(agent_info[:-1], fp) + # break + # continue + + # for displaying learned policies + # if arglist.train and len(episode_rewards) % config['maddpg']['save_rate'] == 0 and config['maddpg']['display']: + # env = make_env(arglist, config, True) + # cur_state_dict = env.reset()[0] + # cur_state = [np.array(state, dtype=np.float32) for state in cur_state_dict.values()] + # if arglist.train and len(episode_rewards) % config['maddpg']['save_rate'] + 50 == 0 and config['maddpg']['display']: + # env = make_env(arglist, config, False) + # + # if config['maddpg']['display']: + # time.sleep(0.1) + # env.render() + # continue + + # update all trainers, if not in display or benchmark mode + loss = None + for agent in trainers: + agent.preupdate() + for agent in trainers: + loss = agent.update(trainers, train_step) + + + # save model, display training output + if (done or terminal) and (len(episode_rewards) % config['maddpg']['save_rate'] == 0): + full_directory_path = os.path.join(config['maddpg']['save_dir'] + 'malfunction', directory_name_with_time) + # print(full_directory_path) + if not os.path.exists(full_directory_path): + os.makedirs(full_directory_path) # Create the directory since it does not exist + U.save_state(os.path.join(full_directory_path, directory_name_with_time), saver=saver) + # print statement depends on whether or not there are adversaries + # if num_adversaries == 0: + # print("steps: {}, episodes: {}, mean episode reward: {}, time: {}".format( + # train_step, len(episode_rewards), np.mean(episode_rewards[-arglist.save_rate:]), round(time.time()-t_start, 3))) + # else: + print("steps: {}, episodes: {}, mean episode reward: {}, agent episode reward: {}, time: {}".format( + train_step, len(episode_rewards), np.mean(episode_rewards[-config['maddpg']['save_rate']:]), + [np.mean(rew[-config['maddpg']['save_rate']:]) for rew in agent_rewards], round(time.time()-t_start, 3))) + t_start = time.time() + # Keep track of final episode reward + # final_ep_rewards.append(np.mean(episode_rewards[-config['maddpg']['save_rate']:])) + # for rew in agent_rewards: + # final_ep_ag_rewards.append(np.mean(rew[-config['maddpg']['save_rate']:])) + # time_steps.append(train_step) + + + # saves final episode reward for plotting training curve later + # if config['domain']['total_timesteps'] < train_step: + + if len(episode_rewards) > config['domain']['num_episodes']: + full_directory_path = os.path.join(config['maddpg']['plots_dir'] + 'malfunction', + directory_name_with_time) + # print(full_directory_path) + if not os.path.exists(full_directory_path): + os.makedirs(full_directory_path) # Create the directory since it does not exist + rew_file_name = os.path.join(full_directory_path, config['maddpg']['exp_name'] + '_' + str(arglist.mal_agent) + 'rewards.pkl') + with open(rew_file_name, 'wb') as fp: + pickle.dump(final_ep_rewards, fp) + agrew_file_name = os.path.join(full_directory_path, config['maddpg']['exp_name'] + '_' + str(arglist.mal_agent) + '_agrewards.pkl') + with open(agrew_file_name, 'wb') as fp: + pickle.dump(final_ep_ag_rewards, fp) + agrew_file_name = os.path.join(full_directory_path, config['maddpg']['exp_name'] + '_' + str(arglist.mal_agent) + '_timesteps.pkl') + with open(agrew_file_name, 'wb') as fp: + pickle.dump(time_steps, fp) + # validation_success_file_name = os.path.join(full_directory_path, + # config['maddpg']['exp_name'] + '_validation_success.pkl') + # with open(validation_success_file_name, 'wb') as fp: + # pickle.dump(validation_success, fp) + print('...Finished total of {} episodes. Time: {}'.format(len(episode_rewards), time.time() - t_total)) + # tf.reset_default_graph() + break + cur_state = next_state + + +if __name__ == '__main__': + arglist, config = parse_args_n_config() + train(arglist, config) diff --git a/experiments/Training/train_mujuco_malfunction_transfer.py b/experiments/Training/train_mujuco_malfunction_transfer.py new file mode 100644 index 00000000..723f30b1 --- /dev/null +++ b/experiments/Training/train_mujuco_malfunction_transfer.py @@ -0,0 +1,421 @@ +import argparse +import numpy as np +import tensorflow.compat.v1 as tf +# import tensorflow as tf +tf.disable_v2_behavior() +import maddpg.common.tf_util as U +from maddpg.trainer.maddpg import MADDPGAgentTrainer +# import tensorflow.contrib.layers as layers +import tensorflow.keras.layers as layers +from datetime import datetime + +import yaml +import os +import shutil +import math +import time +import pickle +import random +import gymnasium_robotics +current_time = datetime.now() + +# Format the date and time in the format you prefer, e.g., 'YYYYMMDD-HHMMSS' +directory_name_with_time = current_time.strftime('%Y%m%d-%H%M%S') + + +# Replace 'base_directory_path' with the base path where your directories are located + +# Define the date and time format that your directories are using +# This should match the format used when creating the directories +date_time_format = '%Y%m%d-%H%M%S' +def get_directories(base_path): + """Get a list of all directories in the base path.""" + return [d for d in os.listdir(base_path) if os.path.isdir(os.path.join(base_path, d))] +def filter_directories_by_date(directories, date_format): + """Filter out directories that match the date and time pattern.""" + filtered_directories = [] + for directory in directories: + try: + # If the directory name can be parsed into a datetime object, it matches the pattern + datetime.strptime(directory, date_format) + filtered_directories.append(directory) + except ValueError: + # If a ValueError is raised, it means the directory name doesn't match the pattern + continue + return filtered_directories +def find_most_recent_directory(base_path,directories, date_format): + """Find the most recent directory based on the date and time pattern.""" + if not directories: + return None + # Parse the directory names to get the corresponding datetime objects + dates = [datetime.strptime(directory, date_format) for directory in directories] + # Get the most recent date + most_recent_date = max(dates) + # Find the directory that corresponds to the most recent date + most_recent_directory = directories[dates.index(most_recent_date)] + # return most_recent_directory + return os.path.join(base_path, most_recent_directory, most_recent_directory) + + +def parse_args_n_config(): + parser = argparse.ArgumentParser("Reinforcement Learning experiments for multiagent environments") + parser.add_argument("--config", default='ant_config_2.yaml') + parser.add_argument("--starting_run", default=0, type=int) + parser.add_argument("--final_run", default=int(1e6), type=int) + parser.add_argument("--train", default=True, type=bool) + # Environment + parser.add_argument("--max-episode-len", type=int, default=25, help="maximum episode length") + parser.add_argument("--lr", type=float, default=1e-3, help="learning rate for Adam optimizer") + parser.add_argument("--num-units", type=int, default=350, help="number of units in the mlp") + parser.add_argument("--gamma", type=float, default=0.99, help="discount factor") + parser.add_argument("--partition", type=str, default="2x4", help="agent configuration file") + + parser.add_argument("--num-episodes", type=int, default=30000, help="number of episodes") + parser.add_argument("--num-adversaries", type=int, default=1, help="number of adversaries") + parser.add_argument("--good-policy", type=str, default="maddpg", help="policy for good agents") + parser.add_argument("--adv-policy", type=str, default="maddpg", help="policy of adversaries") + + # Core training parameters + parser.add_argument("--batch-size", type=int, default=100, help="number of episodes to optimize at the same time") + parser.add_argument("--buffer_size", type=int, default=int(1e6), help="buffer size") + parser.add_argument("--mal_agent_prev", type=int, default=0, help="malfunctioning agent") + parser.add_argument("--mal_agent_new", type=int, default=0, help="malfunctioning agent") + + + #Checkpointing + # parser.add_argument("--save-rate", type=int, default=1000, + # help="save model once every time this many episodes are completed") + # parser.add_argument("--benchmark", action="store_true", default=False) + # parser.add_argument("--benchmark-iters", type=int, default=100000) + # # Evaluation + # parser.add_argument("--restore", action="store_true", default=False) + # parser.add_argument("--display", action="store_true", default=False) + + + + known_args, _ = parser.parse_known_args() + config = yaml.safe_load(open(known_args.config, 'r')) + + # Now we can use the scenario in setting default values + scenario = config['domain']['name'] + if config['domain']['factorization'] == '9|8': + adjugate = '9x8' + else: + adjugate = config['domain']['factorization'] + lr = known_args.lr if known_args.lr else "1e-2" + numunits = known_args.num_units if known_args.num_units else "128" + gamma = known_args.gamma if known_args.gamma else "0.95" + if known_args.mal_agent_prev == -1: + base_directory_path = f"./tmp/policy/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}/R2/" + else: + base_directory_path = f"./tmp/policy/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}malfunction/R2/agent_{known_args.mal_agent_prev}" + + if not os.path.exists(base_directory_path): + os.makedirs(base_directory_path) + + directories = get_directories(base_directory_path) + + date_directories = filter_directories_by_date(directories, date_time_format) + + most_recent_directory = find_most_recent_directory(base_directory_path, date_directories, date_time_format) + + if most_recent_directory is None: + print("No previous directories found") + most_recent_directory = "" + + if known_args.mal_agent_prev == -1: + plot_directory_path = f"./learning_curves/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}/R2/" + load_dir = f"./tmp/policy/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}/R2/" + else: + plot_directory_path = f"./learning_curves/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}/malfunction/agent_{known_args.mal_agent_prev}" + load_dir = f"./tmp/policy/{scenario}.{adjugate}.{lr}.{numunits}.{gamma}malfunction/R2/agent_{known_args.mal_agent_prev}" + + # print("Base directory path: ", base_directory_path) + # print("Most recent directory: ", most_recent_directory) + # print("Plot directory path: ", plot_directory_path) + # print("Load directory: ", load_dir) + # print(config['maddpg']['save_dir']) + # print(config['maddpg']['load_dir']) + if not os.path.exists(plot_directory_path): + os.makedirs(plot_directory_path) + # Checkpointing + # parser.add_argument("--exp-name", type=str, default='test', help="name of the experiment") + # parser.add_argument("--save-dir", type=str, default=base_directory_path, + # help="directory in which training state and model should be saved") + # parser.add_argument("--load-dir", type=str, default=most_recent_directory, + # help="directory in which training state and model are loaded") + # parser.add_argument("--benchmark_files", type=str, default="./benchmark_files/", + # help="directory where benchmark data is saved") + # parser.add_argument("--plots-dir", type=str, default=plot_directory_path, + # help="directory where plot data is saved") + args = parser.parse_args() + # if (args.restore or args.display or args.benchmark) and args.load_dir == "": + # args.load_dir = load_dir + + # if (config['maddpg']['restore'] or config['maddpg']['display'] or config['maddpg']['benchmark']) or config['maddpg']['load_dir'] == "": + config['maddpg']['load_dir'] = most_recent_directory + config['maddpg']['save_dir'] = base_directory_path + "/" + f"agent_{known_args.mal_agent_new}" + config['maddpg']['plots_dir'] = plot_directory_path + "/" + f"agent_{known_args.mal_agent_new}" + return args, config # return both args and config + +def mlp_model_actor(input, num_outputs, scope, reuse=False, num_units=64, rnn_cell=None): + with tf.variable_scope(scope, reuse=reuse): + out = input + # Use tf.compat.v1.layers or tf.layers for fully_connected layers + out = tf.compat.v1.layers.dense(out, units=num_units, activation=tf.nn.tanh) + out = tf.compat.v1.layers.dense(out, units=num_units, activation=tf.nn.tanh) + out = tf.compat.v1.layers.dense(out, units=num_outputs, activation=tf.nn.tanh) + return out +def mlp_model_critic(input, num_outputs, scope, reuse=False, num_units=64, rnn_cell=None): + with tf.variable_scope(scope, reuse=reuse): + out = input + # Use tf.compat.v1.layers or tf.layers for fully_connected layers + out = tf.compat.v1.layers.dense(out, units=num_units, activation=tf.nn.relu) + out = tf.compat.v1.layers.dense(out, units=num_units, activation=tf.nn.relu) + out = tf.compat.v1.layers.dense(out, units=num_outputs, activation=None) + return out + +def make_env(arglist, config, show=False): + if config['domain']['name'] == 'Ant': + env = gymnasium_robotics.mamujoco_v0.parallel_env(scenario=config['domain']['name'], agent_conf=config['domain']['factorization'],healthy_reward=0.1, + max_episode_steps=config['domain']['max_episode_len'], + agent_obsk=config['domain']['obsk'], terminate_when_unhealthy=False, use_contact_forces = False) + else: + env = gymnasium_robotics.mamujoco_v0.parallel_env(scenario=config['domain']['name'], agent_conf=config['domain']['factorization'], + agent_obsk=config['domain']['obsk']) + return env + +def get_trainers(env, num_adversaries, obs_shape_n, action_shape_n, config, arglist): + trainers = [] + actor_model = mlp_model_actor + critic_model = mlp_model_critic + trainer = MADDPGAgentTrainer + # for i in range(num_adversaries): + # trainers.append(trainer( + # "agent_%d" % i, model, obs_shape_n, env.action_space, i, arglist, + # local_q_func=(config['maddpg']['adv_policy']=='ddpg'))) + for i in range(num_adversaries, len(env.possible_agents)): + trainers.append(trainer( + "agent_%d" % i, actor_model, critic_model, obs_shape_n, action_shape_n, i, arglist, + local_q_func=(config['maddpg']['good_policy']=='ddpg'))) + return trainers + + +def train(arglist, config): + all_ep_runs = [] + all_ag_runs = [] + all_time_steps = [] + with U.single_threaded_session(): + # Create environment + env = make_env(arglist, config, show=False) + # Create agent trainers + n_agents = len(env.possible_agents) + actions_spaces = [env.action_space(agent) for agent in env.possible_agents] + + observations_spaces = [env.observation_space(agent).shape for agent in env.possible_agents] + # print("Observation space: ", observations_spaces) + # print("Action space: ", actions_spaces) + trainers = get_trainers(env, 0, observations_spaces, actions_spaces, config, arglist) + print('Using good policy {} and adv policy {}'.format(config['maddpg']['good_policy'], config['maddpg']['adv_policy'])) + + # Initialize + U.initialize() + + # Load previous results, if necessary + print(f'Loading model {arglist.mal_agent_prev} state... for {arglist.mal_agent_new}') + print(config['maddpg']['load_dir']) + U.load_state(config['maddpg']['load_dir']) + + episode_rewards = [0.0] # sum of rewards for all agents + agent_rewards = [[0.0] for _ in range(n_agents)] # individual agent reward + final_ep_rewards = [] # sum of rewards for training curve + final_ep_ag_rewards = [] # agent rewards for training curve + time_steps = [] + validation_success = [] + agent_info = [[[]]] # placeholder for benchmarking info + saver = tf.train.Saver() + + cur_state_dict, xypos = env.reset() + cur_state = [np.array(state, dtype=np.float32) for state in cur_state_dict.values()] + episode_step = 0 + train_step = 0 + t_start = time.time() + t_total = time.time() + tot_steps = 0 + mal_agent_prev = arglist.mal_agent_prev + mal_agent_new = arglist.mal_agent_new + if mal_agent_prev == -1 and mal_agent_new == 1: + mal_agent_prev = 0 + mal_agent_new = 1 + if mal_agent_prev == -1 and mal_agent_new == 3: + mal_agent_prev = 2 + mal_agent_new = 3 + + print(str(config['domain']['name'])) + print('Starting iterations...') + + while True: + # cur_state_full = torch.tensor(env.state(), dtype=torch.float32, device=TORCH_DEVICE) + # cur_state_full = np.array(env.state(), dtype=np.float32) + # get action + # print("N-agents: ", n_agents) + # print("cur_state: ", cur_state[0]) + # print("cur_state_dict: ", cur_state_dict) + # print("cur_state_keys: ", cur_state_dict.keys()) + # print("cur_position: ", xypos) + # print("cur_state_values: ", cur_state_dict.values()) + # print(len(cur_state), len(cur_state_dict.values())) + # print(cur_state[0].shape, cur_state_full.shape, env.state().shape) + + actions = [] + + for agent, obs in zip(trainers, cur_state): + if agent.agent_index == mal_agent_prev: + actions.append(agent.action(cur_state[mal_agent_new])) + else: + actions.append(agent.action(obs)) + + actions[mal_agent_new] = np.zeros_like(actions[0]) + + # environment step + actions_dict = {env.possible_agents[agent_id]: actions[agent_id] for agent_id in + range(len(env.possible_agents))} + actions_dict_numpy = {env.possible_agents[agent_id]: actions[agent_id].tolist() for agent_id in + range(len(env.possible_agents))} + + # step + # new_obs_n, rew_n, done_n, info_n = env.step(action_n) + new_state_dict, reward_dict, is_terminal_dict, is_truncated_dict, xypos = env.step(actions_dict_numpy) + next_state = [np.array(state, dtype=np.float32) for state in new_state_dict.values()] + + terminal = (episode_step >= arglist.max_episode_len) + + # store to ERB + # a = np.array(env.map_local_actions_to_global_action(actions_dict_numpy)) + # print(actions_dict, a) + for i, agent in enumerate(trainers): + agent.experience(cur_state[i], actions_dict[agent.name], reward_dict[agent.name], next_state[i], is_terminal_dict[agent.name], terminal) + # model.erb.add_experience(old_state=cur_state_full, + # actions=torch.tensor(env.map_local_actions_to_global_action(actions_dict_numpy), + # dtype=torch.float32, device=TORCH_DEVICE), + # reward=reward_dict[env.possible_agents[0]], + # new_state=torch.tensor(env.state(), dtype=torch.float32, device=TORCH_DEVICE), + # is_terminal=is_terminal_dict[env.possible_agents[0]]) + + # update cur_state + # obs_n = new_obs_n + # new_state = [torch.tensor(state, dtype=torch.float32, device=TORCH_DEVICE) for state in + # new_state_dict.values()] + new_state = [np.array(state, dtype=np.float32) for state in new_state_dict.values()] + cur_state = new_state + + done = all(is_terminal_dict.values()) or all(is_truncated_dict.values()) + + # collect experience + for i, rew in enumerate(reward_dict.values()): + episode_rewards[-1] += rew + agent_rewards[i][-1] += rew + + # increment global step counter + train_step += 1 + + if done or terminal: + final_ep_rewards.append(episode_rewards[-1]) + time_steps.append(train_step) + cur_state_dict = env.reset()[0] + cur_state = [np.array(state, dtype=np.float32) for state in cur_state_dict.values()] + episode_step = 0 + episode_rewards.append(0) + for a in agent_rewards: + a.append(0) + agent_info.append([[]]) + + # Malfunction + + # for benchmarking learned policies + # if arglist.benchmark: + # for i, info in enumerate(info_n): + # agent_info[-1][i].append(info_n['n']) + # if train_step > arglist.benchmark_iters and (done or terminal): + # file_name = arglist.benchmark_dir + arglist.exp_name + '.pkl' + # print('Finished benchmarking, now saving...') + # with open(file_name, 'wb') as fp: + # pickle.dump(agent_info[:-1], fp) + # break + # continue + + # for displaying learned policies + # if arglist.train and len(episode_rewards) % config['maddpg']['save_rate'] == 0 and config['maddpg']['display']: + # env = make_env(arglist, config, True) + # cur_state_dict = env.reset()[0] + # cur_state = [np.array(state, dtype=np.float32) for state in cur_state_dict.values()] + # if arglist.train and len(episode_rewards) % config['maddpg']['save_rate'] + 50 == 0 and config['maddpg']['display']: + # env = make_env(arglist, config, False) + # + # if config['maddpg']['display']: + # time.sleep(0.1) + # env.render() + # continue + + # update all trainers, if not in display or benchmark mode + loss = None + for agent in trainers: + agent.preupdate() + for agent in trainers: + loss = agent.update(trainers, train_step) + + + # save model, display training output + if (done or terminal) and (len(episode_rewards) % config['maddpg']['save_rate'] == 0): + full_directory_path = os.path.join(config['maddpg']['save_dir'] + 'malfunction' + str(arglist.mal_agent_new), directory_name_with_time) + # print(full_directory_path) + if not os.path.exists(full_directory_path): + os.makedirs(full_directory_path) # Create the directory since it does not exist + U.save_state(os.path.join(full_directory_path, directory_name_with_time), saver=saver) + # print statement depends on whether or not there are adversaries + # if num_adversaries == 0: + # print("steps: {}, episodes: {}, mean episode reward: {}, time: {}".format( + # train_step, len(episode_rewards), np.mean(episode_rewards[-arglist.save_rate:]), round(time.time()-t_start, 3))) + # else: + print("steps: {}, episodes: {}, mean episode reward: {}, agent episode reward: {}, time: {}".format( + train_step, len(episode_rewards), np.mean(episode_rewards[-config['maddpg']['save_rate']:]), + [np.mean(rew[-config['maddpg']['save_rate']:]) for rew in agent_rewards], round(time.time()-t_start, 3))) + t_start = time.time() + # Keep track of final episode reward + # final_ep_rewards.append(np.mean(episode_rewards[-config['maddpg']['save_rate']:])) + # for rew in agent_rewards: + # final_ep_ag_rewards.append(np.mean(rew[-config['maddpg']['save_rate']:])) + # time_steps.append(train_step) + + + # saves final episode reward for plotting training curve later + # if config['domain']['total_timesteps'] < train_step: + + if len(episode_rewards) > config['domain']['num_episodes']: + full_directory_path = os.path.join(config['maddpg']['plots_dir'] + 'malfunction', + directory_name_with_time) + # print(full_directory_path) + if not os.path.exists(full_directory_path): + os.makedirs(full_directory_path) # Create the directory since it does not exist + rew_file_name = os.path.join(full_directory_path, config['maddpg']['exp_name'] + '_' + str(arglist.mal_agent_prev) + str(arglist.mal_agent_new) + 'rewards.pkl') + with open(rew_file_name, 'wb') as fp: + pickle.dump(final_ep_rewards, fp) + agrew_file_name = os.path.join(full_directory_path, config['maddpg']['exp_name'] + '_' + str(arglist.mal_agent_prev) + str(arglist.mal_agent_new) + '_agrewards.pkl') + with open(agrew_file_name, 'wb') as fp: + pickle.dump(final_ep_ag_rewards, fp) + agrew_file_name = os.path.join(full_directory_path, config['maddpg']['exp_name'] + '_' + str(arglist.mal_agent_prev) + str(arglist.mal_agent_new) + '_timesteps.pkl') + with open(agrew_file_name, 'wb') as fp: + pickle.dump(time_steps, fp) + # validation_success_file_name = os.path.join(full_directory_path, + # config['maddpg']['exp_name'] + '_validation_success.pkl') + # with open(validation_success_file_name, 'wb') as fp: + # pickle.dump(validation_success, fp) + print('...Finished total of {} episodes. Time: {}'.format(len(episode_rewards), time.time() - t_total)) + # tf.reset_default_graph() + break + cur_state = next_state + + +if __name__ == '__main__': + arglist, config = parse_args_n_config() + train(arglist, config) diff --git a/experiments/app_ma.py b/experiments/app_ma.py new file mode 100644 index 00000000..aac6d607 --- /dev/null +++ b/experiments/app_ma.py @@ -0,0 +1,169 @@ +from gymnasium_robotics import mamujoco_v1 +import torch +import argparse +import yaml +import os +import shutil +import math +import time +import pickle +import random +from icecream import ic +import copy + + +def m_deepcopy(self, excluded_keys: list[str]): + """similar to `copy.deepcopy`, but excludes copying the member variables in `excluded_keys`.""" + dct = self.__dict__.copy() + for key in excluded_keys: + del dct[key] + # we avoid the normal init. I *think* unpickling does something like this too? + other = type(self).__new__(type(self)) + other.__dict__ = copy.deepcopy(dct) + return other + +TORCH_DEVICE = torch.device("cuda" if torch.cuda.is_available() else "cpu") + + +# Runs policy for X episodes and returns return reward +# A fixed seed is used for the eval environment +def eval_policy(env_name: str, conf: str, obsk: int, seed: int = 256, eval_episodes: int = 10) -> float: + eval_env = mamujoco_v1.parallel_env(scenario=env_name, agent_conf=conf, agent_obsk=obsk, local_categories=[['qpos', 'qvel'], ['qpos']]) + + total_return = 0 + for i in range(eval_episodes): + cur_state_dict = eval_env.reset(seed=seed + i)[0] + terminated, truncated = 0, 0 + while not (terminated or truncated): + cur_state = [torch.tensor(local_state, dtype=torch.float32, device=TORCH_DEVICE) for local_state in cur_state_dict.values()] + actions = model.query_actor(cur_state, add_noise=False) + actions_dict_numpy = {eval_env.possible_agents[agent_id]: actions[agent_id].tolist() for agent_id in range(len(eval_env.possible_agents))} + cur_state_dict, reward_dict, is_terminal_dict, is_truncated_dict, info_dict = eval_env.step(actions_dict_numpy) + total_return += reward_dict['agent_0'] + terminated = is_terminal_dict['agent_0'] + truncated = is_truncated_dict['agent_0'] + + return total_return / eval_episodes + + +def generate_model(model_name: str, load_erb: str | None = None, load_q: str | None = None, load_pi: str | None = None): + match model_name: + case 'TD3': + model = MATD3.model(num_actions_spaces, num_observations_spaces, num_global_observation_space, min_action, max_action, config, torch_device=TORCH_DEVICE) + case 'TD3-cc': + model = MATD3_cc.model(num_actions_spaces, num_observations_spaces, num_global_observation_space, min_action, max_action, config, torch_device=TORCH_DEVICE) + case _: + assert False, 'invalid learning algorithm' + + if load_erb is not None: + model.erb = pickle.load(open(load_erb, 'wb')) + if load_q is not None: + model.twin_critic.load_state_dict(torch.load(load_q + "_twin_critic")) + model.twin_critic_optimizer.load_state_dict(torch.load(load_q + "_twin_critics_optimizer")) + model.target_twin_critic.load_state_dict(torch.load(load_q + "_target_twin_critic")) + if load_pi is not None: + assert False, "load_PI not implemented" + model.actors.load_state_dict(torch.load(load_pi + "_actor")) + model.actor_optimizer.load_state_dict(torch.load(load_pi + "_actor_optimizer")) + model.actors_target.load_state_dict(torch.load(load_pi + "_target_actor")) + + return model + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--config", default='ant_config_2.yaml') + parser.add_argument("--starting_run", default=0, type=int) + parser.add_argument("--final_run", default=int(1e6), type=int) + args = parser.parse_args() + config = yaml.safe_load(open(args.config, 'r')) + + if config['domain']['name'] == "Ant": + env = mamujoco_v1.parallel_env(scenario=config['domain']['name'], agent_conf=config['domain']['factorization'], agent_obsk=config['domain']['obsk'], local_categories=[['qpos', 'qvel'], ['qpos']], include_cfrc_ext_in_observation=False) + else: + env = mamujoco_v1.parallel_env(scenario=config['domain']['name'], agent_conf=config['domain']['factorization'], agent_obsk=config['domain']['obsk'], local_categories=[['qpos', 'qvel'], ['qpos']]) + + num_actions_spaces = [env.action_space(agent).shape[0] for agent in env.possible_agents] + num_observations_spaces = [env.observation_space(agent).shape[0] for agent in env.possible_agents] + num_global_observation_space = len(env.state()) + min_action = env.action_space(env.possible_agents[0]).low[0] + max_action = env.action_space(env.possible_agents[0]).high[0] + ic(num_actions_spaces) + ic(num_observations_spaces) + ic(num_global_observation_space) + + # create evaluate directory + eval_path = 'results/' + 'MA' + config['domain']['algo'] + '_' + str(config['domain']['factorization']) + '_' + config['domain']['name'] + '_' + str(time.time()) + os.makedirs(eval_path) + shutil.copyfile(args.config, eval_path + '/ant_config_2.yaml') + + for run in range(args.starting_run, min(config['domain']['runs'], args.final_run + 1)): + # seed all the things + torch.manual_seed(config['domain']['seed'] + run) + [act_space.seed(config['domain']['seed'] + indx + run * 1000) for indx, act_space in enumerate(env.action_spaces.values())] + random.seed(config['domain']['seed'] + run) + + # create model + model = generate_model(config['domain']['algo'], config['other']['load_erb'], config['other']['load_Q'], config['other']['load_PI']) + #model.twin_critics[0].load_state_dict(torch.load('best_run0_twin_critic_inv_d')) + #model.target_twin_critics[0].load_state_dict(torch.load('best_run0_target_twin_critic_inv_d')) + #model.target_actors[0].load_state_dict(torch.load('best_run0_target_actor_inv_d')) + #model.actors[0].load_state_dict(torch.load('best_run0_actor_inv_d')) + + #model.twin_critics[0].load_state_dict(torch.load('best_run0_twin_critic_hopper')) + #model.target_twin_critics[0].load_state_dict(torch.load('best_run0_twin_critic_hopper')) + #model.target_actors[0].load_state_dict(torch.load('best_run0_actor_hopper')) + #model.actors[0].load_state_dict(torch.load('best_run0_actor_hopper')) + + #model.actors[0].load_state_dict(torch.load('best_run0_actor_inv')) + #model.twin_critics[0].load_state_dict(torch.load('best_run0_critic_inv')) + + # create evaluation file + eval_file = open(eval_path + '/score' + str(run) + '.csv', 'w+') + eval_max_return = -math.inf + + cur_state_dict = env.reset(seed=config['domain']['seed'] + run)[0] + cur_state = [torch.tensor(state, dtype=torch.float32, device=TORCH_DEVICE) for state in cur_state_dict.values()] + for step in range(config['domain']['total_timesteps']): + cur_state_full = torch.tensor(env.state(), dtype=torch.float32, device=TORCH_DEVICE) + # sample actions + with torch.no_grad(): + if step >= config['domain']['init_learn_timestep']: + actions = model.query_actor(cur_state, add_noise=True) + else: + actions = [torch.Tensor(act_space.sample()) for act_space in env.action_spaces.values()] + actions_dict = {env.possible_agents[agent_id]: actions[agent_id].detach() for agent_id in range(len(env.possible_agents))} + actions_dict_numpy = {env.possible_agents[agent_id]: actions[agent_id].tolist() for agent_id in range(len(env.possible_agents))} + + # step + new_state_dict, reward_dict, is_terminal_dict, is_truncated_dict, info_dict = env.step(actions_dict_numpy) + + # store to ERB + model.erb.add_experience(old_state=cur_state_full, actions=torch.tensor(env.map_local_actions_to_global_action(actions_dict_numpy), dtype=torch.float32, device=TORCH_DEVICE), reward=reward_dict[env.possible_agents[0]], new_state=torch.tensor(env.state(), dtype=torch.float32, device=TORCH_DEVICE), is_terminal=is_terminal_dict[env.possible_agents[0]]) + + # update cur_state + new_state = [torch.tensor(state, dtype=torch.float32, device=TORCH_DEVICE) for state in new_state_dict.values()] + cur_state = new_state + + if step >= config['domain']['init_learn_timestep']: + model.train_model_step(env) + + if is_terminal_dict[env.possible_agents[0]] or is_truncated_dict[env.possible_agents[0]]: + cur_state_dict = env.reset()[0] + cur_state = [torch.tensor(state, dtype=torch.float32, device=TORCH_DEVICE) for state in cur_state_dict.values()] + + # evaluate + if step % config['domain']['evaluation_frequency'] == 0 and step >= config['domain']['init_learn_timestep']: # evaluate episode + total_evalution_return = eval_policy(config['domain']['name'], config['domain']['factorization'], config['domain']['obsk']) + print('Run: ' + str(run) + ' Training Step: ' + str(step) + ' return: ' + str(total_evalution_return)) + eval_file.write(str(total_evalution_return) + '\n') + if (eval_max_return < total_evalution_return): + eval_max_return = total_evalution_return + best_model = m_deepcopy(model, excluded_keys=['erb']) + + best_model.save(eval_path + '/' + 'best_run' + str(run)) + pickle.dump(model.erb, open(eval_path + '/' + 'best_run' + str(run) + '_erb', 'wb')) + print('Run: ' + str(run) + ' Max return: ' + str(eval_max_return)) + print('Finished score can be found at: ' + eval_path + '/score' + str(run) + '.csv') + + env.close() \ No newline at end of file diff --git a/experiments/config.yaml b/experiments/config.yaml new file mode 100644 index 00000000..20d823f8 --- /dev/null +++ b/experiments/config.yaml @@ -0,0 +1,49 @@ +maddpg: + scenario: Ant + max_episode_len: 25 + lr: 0.01 + fixed_agent: False + fixed_landmark: False + num_units: 128 + location: 0.95 + gamma: 0.95 + partition: None + num_episodes: 15000 + num_adversaries: 1 + good_policy: "maddpg" + adv_policy: "maddpg" + batch_size: 1024 + exp_name: "test" + save_rate: 500 + restore: False + display: False + benchmark: False + benchmark_iters: 100000 + benchmark_files: "./benchmark_files/" + plots_dir: "./learning_curves/" + load_dir: "./temp" +domain: + name: Ant + factorization: 2x4 # agent factorization used, check MaMuJoCo Doc for more info + obsk: 1 # check MaMuJoCo Doc for more info + total_timesteps: 2_000_000 # how many learn steps the agent should take + #episodes: 1000 + algo: TD3 # Valid values: 'DDPG', 'TD3', 'TD3-cc' + init_learn_timestep: 25001 # at which timestep should the agent start learning + #learning_starts_ep: 10 # Start Learning at episode X, before that fill the ERB with random actions + evaluation_frequency: 5000 # how ofter should the agent be evaluated + runs: 10 # number of statistical runs + seed: 64 # seeds the enviroment +DDPG: + gamma: 0.99 # Reward Discount rate + tau: 0.01 # Target Network Update rate + N: 100 # Experience Replay Buffer's mini match size + experience_replay_buffer_size: 1000000 + sigma: 0.1 # standard deviation of the action process for exploration + optimizer_gamma: 0.001 # the learning rate of the optimizers + mu_bias: True # Bias for the actor module + q_bias: True # Bias for the critic module +other: + load_erb: null # load the ERB into the model, (if `null` then no ERB is loaded) + load_Q: null # load the critic into the model, (if `null` then no critic is loaded) + load_PI: null \ No newline at end of file diff --git a/experiments/configs/ant_config_2.yaml b/experiments/configs/ant_config_2.yaml new file mode 100644 index 00000000..b13efbd8 --- /dev/null +++ b/experiments/configs/ant_config_2.yaml @@ -0,0 +1,33 @@ +maddpg: + good_policy: "maddpg" + adv_policy: "maddpg" + save_rate: 100 + restore: False + display: False + benchmark: False + benchmark_iters: 100000 + exp_name : "test" + benchmark_files: "./benchmark_files/" + plots_dir: "./learning_curves/" + load_dir: "./temp" + save_dir: "./tmp/policy/" +domain: + name: Ant + factorization: 2x4 # agent factorization used, check MaMuJoCo Doc for more info + obsk: 1 # check MaMuJoCo Doc for more info + total_timesteps: 1_000_000 # how many learn steps the agent should take + num_episodes: 60000 + malfunction: False + malfunction_episode: 30000 # at which episode should the agent start malfunctioning + #episodes: 1000 + algo: TD3 # Valid values: 'DDPG', 'TD3', 'TD3-cc' + init_learn_timestep: 25001 # at which timestep should the agent start learning + #learning_starts_ep: 10 # Start Learning at episode X, before that fill the ERB with random actions + evaluation_frequency: 5000 # how ofter should the agent be evaluated + max_episode_len: 100 # how many steps should the agent take per episode + runs: 5 # number of statistical runs + seed: 64 # seeds the enviroment + test_episodes: 30 + display_rate: 15 + render_dur: 2 + diff --git a/experiments/configs/ant_config_4.yaml b/experiments/configs/ant_config_4.yaml new file mode 100644 index 00000000..d54db375 --- /dev/null +++ b/experiments/configs/ant_config_4.yaml @@ -0,0 +1,32 @@ +maddpg: + good_policy: "maddpg" + adv_policy: "maddpg" + save_rate: 100 + restore: False + display: False + benchmark: False + benchmark_iters: 100000 + exp_name : "test" + benchmark_files: "./benchmark_files/" + plots_dir: "./learning_curves/" + load_dir: "/Users/Hunter/Development/Academic/UML/RL/Hasenfus-RL/Multi-Agent/maddpg/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/R2/20240210-074547" + save_dir: "./tmp/policy/" +domain: + name: Ant + factorization: 4x2 # agent factorization used, check MaMuJoCo Doc for more info + obsk: 1 # check MaMuJoCo Doc for more info + total_timesteps: 500_000 # how many learn steps the agent should take + num_episodes: 60000 + #episodes: 1000 + malfunction: False + malfunction_episode: 30000 # at which episode should the agent start malfunctioning + algo: TD3 # Valid values: 'DDPG', 'TD3', 'TD3-cc' + init_learn_timestep: 25001 # at which timestep should the agent start learning + #learning_starts_ep: 10 # Start Learning at episode X, before that fill the ERB with random actions + max_episode_len: 100 # how many steps should the agent take per episode + evaluation_frequency: 5000 # how ofter should the agent be evaluated + runs: 5 # number of statistical runs + seed: 64 # seeds the enviroment + test_episodes: 300 + display_rate: 150 + render_dur: 2 diff --git a/experiments/configs/cheetah_config_3.yaml b/experiments/configs/cheetah_config_3.yaml new file mode 100644 index 00000000..f2ed6300 --- /dev/null +++ b/experiments/configs/cheetah_config_3.yaml @@ -0,0 +1,30 @@ +maddpg: + good_policy: "maddpg" + adv_policy: "maddpg" + save_rate: 20 + restore: False + display: False + benchmark: False + benchmark_iters: 100000 + exp_name : "test" + benchmark_files: "./benchmark_files/" + plots_dir: "./learning_curves/" + load_dir: "./tmp/" + save_dir: "./tmp/policy/" +domain: + name: HalfCheetah + factorization: 2x3 # agent factorization used, check MaMuJoCo Doc for more info + obsk: 1 # check MaMuJoCo Doc for more info + total_timesteps: 1_000_000 # how many learn steps the agent should take + num_episodes: 6000 + #episodes: 1000 + malfunction: False + malfunction_episode: 1000 # at which episode should the agent start malfunctioning + algo: TD3 # Valid values: 'DDPG', 'TD3', 'TD3-cc' + init_learn_timestep: 25001 # at which timestep should the agent start learning + #learning_starts_ep: 10 # Start Learning at episode X, before that fill the ERB with random actions + evaluation_frequency: 5000 # how ofter should the agent be evaluated + runs: 5 # number of statistical runs + seed: 64 # seeds the enviroment + test_episodes: 1000 + display_rate: 100 diff --git a/experiments/configs/cheetah_config_6.yaml b/experiments/configs/cheetah_config_6.yaml new file mode 100644 index 00000000..81685536 --- /dev/null +++ b/experiments/configs/cheetah_config_6.yaml @@ -0,0 +1,30 @@ +maddpg: + good_policy: "maddpg" + adv_policy: "maddpg" + save_rate: 20 + restore: False + display: False + benchmark: False + benchmark_iters: 100000 + exp_name : "test" + benchmark_files: "./benchmark_files/" + plots_dir: "./learning_curves/" + load_dir: "./tmp/" + save_dir: "./tmp/policy/" +domain: + name: HalfCheetah + factorization: 6x1 # agent factorization used, check MaMuJoCo Doc for more info + obsk: 1 # check MaMuJoCo Doc for more info + total_timesteps: 1_000_000 # how many learn steps the agent should take + num_episodes: 60 + #episodes: 1000 + malfunction: False + malfunction_episode: 30 # at which episode should the agent start malfunctioning + algo: TD3 # Valid values: 'DDPG', 'TD3', 'TD3-cc' + init_learn_timestep: 25001 # at which timestep should the agent start learning + #learning_starts_ep: 10 # Start Learning at episode X, before that fill the ERB with random actions + evaluation_frequency: 5000 # how ofter should the agent be evaluated + runs: 5 # number of statistical runs + seed: 64 # seeds the enviroment + test_episodes: 1000 + display_rate: 100 diff --git a/experiments/configs/humanoid_config.yaml b/experiments/configs/humanoid_config.yaml new file mode 100644 index 00000000..da5f760d --- /dev/null +++ b/experiments/configs/humanoid_config.yaml @@ -0,0 +1,30 @@ +maddpg: + good_policy: "maddpg" + adv_policy: "maddpg" + save_rate: 20 + restore: False + display: False + benchmark: False + benchmark_iters: 100000 + exp_name : "test" + benchmark_files: "./benchmark_files/" + plots_dir: "./learning_curves/" + load_dir: "./tmp/" + save_dir: "./tmp/policy/" +domain: + name: Humanoid + factorization: 3x1 # agent factorization used, check MaMuJoCo Doc for more info + obsk: 1 # check MaMuJoCo Doc for more info + total_timesteps: 1_000_000 # how many learn steps the agent should take + num_episodes: 6000 + #episodes: 1000 + algo: TD3 # Valid values: 'DDPG', 'TD3', 'TD3-cc' + init_learn_timestep: 25001 # at which timestep should the agent start learning + #learning_starts_ep: 10 # Start Learning at episode X, before that fill the ERB with random actions + evaluation_frequency: 5000 # how ofter should the agent be evaluated + runs: 5 # number of statistical runs + seed: 64 # seeds the enviroment + malfunction: False + malfunction_episode: 1000 # at which episode should the agent start malfunctioning + test_episodes: 1000 + display_rate: 100 diff --git a/experiments/configs/humanoidstandup_config.yaml b/experiments/configs/humanoidstandup_config.yaml new file mode 100644 index 00000000..95d0d124 --- /dev/null +++ b/experiments/configs/humanoidstandup_config.yaml @@ -0,0 +1,30 @@ +maddpg: + good_policy: "maddpg" + adv_policy: "maddpg" + save_rate: 20 + restore: False + display: True + benchmark: False + benchmark_iters: 100000 + exp_name : "test" + benchmark_files: "./benchmark_files/" + plots_dir: "./learning_curves/" + load_dir: "./tmp/" + save_dir: "./tmp/policy/" +domain: + name: HumanoidStandup + factorization: 3x1 # agent factorization used, check MaMuJoCo Doc for more info + obsk: 1 # check MaMuJoCo Doc for more info + total_timesteps: 1_000_000 # how many learn steps the agent should take + num_episodes: 6000 + #episodes: 1000 + algo: TD3 # Valid values: 'DDPG', 'TD3', 'TD3-cc' + init_learn_timestep: 25001 # at which timestep should the agent start learning + #learning_starts_ep: 10 # Start Learning at episode X, before that fill the ERB with random actions + evaluation_frequency: 5000 # how ofter should the agent be evaluated + runs: 5 # number of statistical runs + seed: 64 # seeds the enviroment + malfunction: False + malfunction_episode: 1000 # at which episode should the agent start malfunctioning + test_episodes: 1000 + display_rate: 100 diff --git a/experiments/environment.yml b/experiments/environment.yml new file mode 100644 index 00000000..3bed0d3d --- /dev/null +++ b/experiments/environment.yml @@ -0,0 +1,36 @@ +name: MMJC-maddpg +channels: + - conda-forge + - defaults +dependencies: + - python=3.9 + - pip + - pip: + - absl-py==2.0.0 + - astunparse==1.6.3 + - cachetools==5.3.2 + - flatbuffers==23.5.26 + - gast==0.5.4 + - google-auth==2.23.3 + - google-auth-oauthlib==1.0.0 + - google-pasta==0.2.0 + - grpcio==1.59.0 + - gym==0.26.2 + - gym-notices==0.0.8 + - keras==2.14.0 + - libclang==16.0.6 + - ml-dtypes==0.2.0 + - numpy==1.26.1 + - numpy-stl==3.0.1 + - oauthlib==3.2.2 + - opt-einsum==3.3.0 + - protobuf==4.24.4 + - python-utils==3.8.1 + - requests-oauthlib==1.3.1 + - rsa==4.9 + - tensorboard==2.14.1 + - tensorboard-data-server==0.7.2 + - tensorflow==2.14.0 + - tensorflow-estimator==2.14.0 + - tensorflow-io-gcs-filesystem==0.34.0 + - termcolor==2.3.0 diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240119-124644/test_agrewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240119-124644/test_agrewards.pkl new file mode 100644 index 00000000..77c31391 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240119-124644/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240119-124644/test_rewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240119-124644/test_rewards.pkl new file mode 100644 index 00000000..0aecae7b Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240119-124644/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240119-124644/test_timesteps.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240119-124644/test_timesteps.pkl new file mode 100644 index 00000000..e2027562 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240119-124644/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240119-124644/test_validation_success.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240119-124644/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240119-124644/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240123-083123/test_agrewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240123-083123/test_agrewards.pkl new file mode 100644 index 00000000..26e473e5 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240123-083123/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240123-083123/test_rewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240123-083123/test_rewards.pkl new file mode 100644 index 00000000..3b3f4b17 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240123-083123/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240123-083123/test_timesteps.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240123-083123/test_timesteps.pkl new file mode 100644 index 00000000..cdf4caf4 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240123-083123/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240123-083123/test_validation_success.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240123-083123/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240123-083123/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-150203/test_agrewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-150203/test_agrewards.pkl new file mode 100644 index 00000000..090571b3 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-150203/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-150203/test_rewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-150203/test_rewards.pkl new file mode 100644 index 00000000..1542417d Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-150203/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-150203/test_timesteps.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-150203/test_timesteps.pkl new file mode 100644 index 00000000..2eed4340 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-150203/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-170203/test_agrewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-170203/test_agrewards.pkl new file mode 100644 index 00000000..c4e52784 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-170203/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-170203/test_rewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-170203/test_rewards.pkl new file mode 100644 index 00000000..d36897df Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-170203/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-170203/test_timesteps.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-170203/test_timesteps.pkl new file mode 100644 index 00000000..2eed4340 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-170203/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-190132/test_agrewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-190132/test_agrewards.pkl new file mode 100644 index 00000000..221ba0bf Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-190132/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-190132/test_rewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-190132/test_rewards.pkl new file mode 100644 index 00000000..52e12484 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-190132/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-190132/test_timesteps.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-190132/test_timesteps.pkl new file mode 100644 index 00000000..2eed4340 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-190132/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-210047/test_agrewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-210047/test_agrewards.pkl new file mode 100644 index 00000000..73664b47 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-210047/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-210047/test_rewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-210047/test_rewards.pkl new file mode 100644 index 00000000..a07af566 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-210047/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-210047/test_timesteps.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-210047/test_timesteps.pkl new file mode 100644 index 00000000..2eed4340 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-210047/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/20240130-120419/test_test_rewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/20240130-120419/test_test_rewards.pkl new file mode 100644 index 00000000..0fffc690 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/20240130-120419/test_test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/20240130-120419/test_test_trajectories.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/20240130-120419/test_test_trajectories.pkl new file mode 100644 index 00000000..8a2d4ef0 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/20240130-120419/test_test_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/20240130-122703/test_test_rewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/20240130-122703/test_test_rewards.pkl new file mode 100644 index 00000000..27fa3d0a Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/20240130-122703/test_test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/20240130-122703/test_test_trajectories.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/20240130-122703/test_test_trajectories.pkl new file mode 100644 index 00000000..4510bb11 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/20240130-122703/test_test_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/20240130-142409/test_test_rewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/20240130-142409/test_test_rewards.pkl new file mode 100644 index 00000000..81fe3f56 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/20240130-142409/test_test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/20240130-142409/test_test_trajectories.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/20240130-142409/test_test_trajectories.pkl new file mode 100644 index 00000000..2fcc3cc2 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/20240130-142409/test_test_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/test_agrewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/test_agrewards.pkl new file mode 100644 index 00000000..a9a57505 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/test_rewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/test_rewards.pkl new file mode 100644 index 00000000..273e6d33 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/test_timesteps.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/test_timesteps.pkl new file mode 100644 index 00000000..2eed4340 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/20240126-225958/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240127-200801/test_agrewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240127-200801/test_agrewards.pkl new file mode 100644 index 00000000..91c510da Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240127-200801/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240127-200801/test_rewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240127-200801/test_rewards.pkl new file mode 100644 index 00000000..d6e65294 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240127-200801/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240127-200801/test_timesteps.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240127-200801/test_timesteps.pkl new file mode 100644 index 00000000..2eed4340 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240127-200801/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240127-220920/test_agrewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240127-220920/test_agrewards.pkl new file mode 100644 index 00000000..7486a166 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240127-220920/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240127-220920/test_rewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240127-220920/test_rewards.pkl new file mode 100644 index 00000000..51606cf2 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240127-220920/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240127-220920/test_timesteps.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240127-220920/test_timesteps.pkl new file mode 100644 index 00000000..2eed4340 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240127-220920/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-001014/test_agrewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-001014/test_agrewards.pkl new file mode 100644 index 00000000..6f9176db Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-001014/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-001014/test_rewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-001014/test_rewards.pkl new file mode 100644 index 00000000..41cae274 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-001014/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-001014/test_timesteps.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-001014/test_timesteps.pkl new file mode 100644 index 00000000..2eed4340 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-001014/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-021112/test_agrewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-021112/test_agrewards.pkl new file mode 100644 index 00000000..0806e674 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-021112/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-021112/test_rewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-021112/test_rewards.pkl new file mode 100644 index 00000000..3e233680 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-021112/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-021112/test_timesteps.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-021112/test_timesteps.pkl new file mode 100644 index 00000000..2eed4340 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-021112/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-041211/20240130-145618/test_test_rewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-041211/20240130-145618/test_test_rewards.pkl new file mode 100644 index 00000000..8405834c Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-041211/20240130-145618/test_test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-041211/20240130-145618/test_test_trajectories.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-041211/20240130-145618/test_test_trajectories.pkl new file mode 100644 index 00000000..2c238a34 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-041211/20240130-145618/test_test_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-041211/test_agrewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-041211/test_agrewards.pkl new file mode 100644 index 00000000..47201197 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-041211/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-041211/test_rewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-041211/test_rewards.pkl new file mode 100644 index 00000000..c7f5d82c Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-041211/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-041211/test_timesteps.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-041211/test_timesteps.pkl new file mode 100644 index 00000000..2eed4340 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.0.99/malfunction/20240128-041211/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.1/20240103-105031/test_agrewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.1/20240103-105031/test_agrewards.pkl new file mode 100644 index 00000000..e0b59c82 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.1/20240103-105031/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.1/20240103-105031/test_rewards.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.1/20240103-105031/test_rewards.pkl new file mode 100644 index 00000000..162a75ee Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.001.350.1/20240103-105031/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.001.350.1/20240103-105031/test_validation_success.pkl b/experiments/learning_curves/Ant.2x4.0.001.350.1/20240103-105031/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.2x4.0.001.350.1/20240103-105031/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.2x4.0.01.128.0.95/20240102-153606/test_agrewards.pkl b/experiments/learning_curves/Ant.2x4.0.01.128.0.95/20240102-153606/test_agrewards.pkl new file mode 100644 index 00000000..9fbf8d06 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.01.128.0.95/20240102-153606/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.01.128.0.95/20240102-153606/test_rewards.pkl b/experiments/learning_curves/Ant.2x4.0.01.128.0.95/20240102-153606/test_rewards.pkl new file mode 100644 index 00000000..11a81fe6 Binary files /dev/null and b/experiments/learning_curves/Ant.2x4.0.01.128.0.95/20240102-153606/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.2x4.0.01.128.0.95/20240102-153606/test_validation_success.pkl b/experiments/learning_curves/Ant.2x4.0.01.128.0.95/20240102-153606/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.2x4.0.01.128.0.95/20240102-153606/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240119-130712/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240119-130712/test_agrewards.pkl new file mode 100644 index 00000000..1c6b3618 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240119-130712/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240119-130712/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240119-130712/test_rewards.pkl new file mode 100644 index 00000000..660c274a Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240119-130712/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240119-130712/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240119-130712/test_timesteps.pkl new file mode 100644 index 00000000..016070de Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240119-130712/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240119-130712/test_validation_success.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240119-130712/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240119-130712/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240123-112919/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240123-112919/test_agrewards.pkl new file mode 100644 index 00000000..9fdd3f5c Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240123-112919/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240123-112919/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240123-112919/test_rewards.pkl new file mode 100644 index 00000000..5cc6fcbd Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240123-112919/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240123-112919/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240123-112919/test_timesteps.pkl new file mode 100644 index 00000000..d4dcb25c Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240123-112919/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240123-112919/test_validation_success.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240123-112919/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/20240123-112919/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-005904/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-005904/test_agrewards.pkl new file mode 100644 index 00000000..d4cb7436 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-005904/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-005904/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-005904/test_rewards.pkl new file mode 100644 index 00000000..94141e0e Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-005904/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-005904/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-005904/test_timesteps.pkl new file mode 100644 index 00000000..18dd4352 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-005904/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-044847/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-044847/test_agrewards.pkl new file mode 100644 index 00000000..48474bca Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-044847/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-044847/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-044847/test_rewards.pkl new file mode 100644 index 00000000..e24369d4 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-044847/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-044847/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-044847/test_timesteps.pkl new file mode 100644 index 00000000..18dd4352 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-044847/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-083755/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-083755/test_agrewards.pkl new file mode 100644 index 00000000..562ace4f Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-083755/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-083755/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-083755/test_rewards.pkl new file mode 100644 index 00000000..5b06752a Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-083755/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-083755/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-083755/test_timesteps.pkl new file mode 100644 index 00000000..18dd4352 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-083755/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-122822/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-122822/test_agrewards.pkl new file mode 100644 index 00000000..bbed3987 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-122822/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-122822/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-122822/test_rewards.pkl new file mode 100644 index 00000000..b1537b3f Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-122822/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-122822/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-122822/test_timesteps.pkl new file mode 100644 index 00000000..18dd4352 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-122822/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240130-150414/test_test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240130-150414/test_test_rewards.pkl new file mode 100644 index 00000000..45769817 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240130-150414/test_test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240130-150414/test_test_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240130-150414/test_test_trajectories.pkl new file mode 100644 index 00000000..f5c387a9 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240130-150414/test_test_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240213-113146/test_healthy_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240213-113146/test_healthy_rewards.pkl new file mode 100644 index 00000000..d43b97ae Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240213-113146/test_healthy_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240213-113146/test_healthy_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240213-113146/test_healthy_trajectories.pkl new file mode 100644 index 00000000..86dd9378 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240213-113146/test_healthy_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240213-113146/test_mal_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240213-113146/test_mal_rewards.pkl new file mode 100644 index 00000000..bc473531 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240213-113146/test_mal_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240213-113146/test_mal_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240213-113146/test_mal_trajectories.pkl new file mode 100644 index 00000000..099aa14a Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240213-113146/test_mal_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/test_agrewards.pkl new file mode 100644 index 00000000..1c7373c6 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/test_rewards.pkl new file mode 100644 index 00000000..931ce35e Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/test_timesteps.pkl new file mode 100644 index 00000000..18dd4352 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R0/20240127-161847/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240205-212816/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240205-212816/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240205-212816/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240205-212816/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240205-212816/test_rewards.pkl new file mode 100644 index 00000000..dc5c09de Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240205-212816/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240205-212816/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240205-212816/test_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240205-212816/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-011238/20240206-084515/test_test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-011238/20240206-084515/test_test_rewards.pkl new file mode 100644 index 00000000..a7a9cd28 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-011238/20240206-084515/test_test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-011238/20240206-084515/test_test_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-011238/20240206-084515/test_test_trajectories.pkl new file mode 100644 index 00000000..ef2ad24e Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-011238/20240206-084515/test_test_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-011238/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-011238/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-011238/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-011238/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-011238/test_rewards.pkl new file mode 100644 index 00000000..bdceec46 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-011238/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-011238/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-011238/test_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-011238/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715/20240213-102337/test_healthy_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715/20240213-102337/test_healthy_rewards.pkl new file mode 100644 index 00000000..0e495333 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715/20240213-102337/test_healthy_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715/20240213-102337/test_healthy_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715/20240213-102337/test_healthy_trajectories.pkl new file mode 100644 index 00000000..3702b2cb Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715/20240213-102337/test_healthy_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715/20240213-102337/test_mal_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715/20240213-102337/test_mal_rewards.pkl new file mode 100644 index 00000000..900925a5 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715/20240213-102337/test_mal_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715/20240213-102337/test_mal_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715/20240213-102337/test_mal_trajectories.pkl new file mode 100644 index 00000000..a274f20d Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715/20240213-102337/test_mal_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715/test_rewards.pkl new file mode 100644 index 00000000..5fb77bad Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715/test_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R1/20240206-045715/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-125646/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-125646/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-125646/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-125646/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-125646/test_rewards.pkl new file mode 100644 index 00000000..4d4757c7 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-125646/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-125646/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-125646/test_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-125646/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-164234/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-164234/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-164234/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-164234/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-164234/test_rewards.pkl new file mode 100644 index 00000000..1b424dda Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-164234/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-164234/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-164234/test_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-164234/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240213-100358/test_healthy_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240213-100358/test_healthy_rewards.pkl new file mode 100644 index 00000000..d09dc038 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240213-100358/test_healthy_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240213-100358/test_healthy_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240213-100358/test_healthy_trajectories.pkl new file mode 100644 index 00000000..58935e22 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240213-100358/test_healthy_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240213-100358/test_mal_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240213-100358/test_mal_rewards.pkl new file mode 100644 index 00000000..94a0e08a Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240213-100358/test_mal_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240213-100358/test_mal_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240213-100358/test_mal_trajectories.pkl new file mode 100644 index 00000000..263c1d0b Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240213-100358/test_mal_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240219-174532/test_healthy_distances.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240219-174532/test_healthy_distances.pkl new file mode 100644 index 00000000..6e80f940 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240219-174532/test_healthy_distances.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240219-174532/test_healthy_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240219-174532/test_healthy_rewards.pkl new file mode 100644 index 00000000..cc8719fa Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240219-174532/test_healthy_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240219-174532/test_healthy_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240219-174532/test_healthy_trajectories.pkl new file mode 100644 index 00000000..70708c45 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240219-174532/test_healthy_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/test_rewards.pkl new file mode 100644 index 00000000..57038f94 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/test_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240209-202744/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-150944/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-150944/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-150944/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-150944/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-150944/test_rewards.pkl new file mode 100644 index 00000000..127e8ee9 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-150944/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-150944/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-150944/test_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-150944/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-185513/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-185513/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-185513/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-185513/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-185513/test_rewards.pkl new file mode 100644 index 00000000..3a4d014c Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-185513/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-185513/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-185513/test_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-185513/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-224039/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-224039/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-224039/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-224039/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-224039/test_rewards.pkl new file mode 100644 index 00000000..5111bd67 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-224039/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-224039/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-224039/test_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240215-224039/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-022611/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-022611/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-022611/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-022611/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-022611/test_rewards.pkl new file mode 100644 index 00000000..880b56fe Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-022611/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-022611/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-022611/test_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-022611/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124155/test_healthy_distances.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124155/test_healthy_distances.pkl new file mode 100644 index 00000000..22a7b0ea Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124155/test_healthy_distances.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124155/test_healthy_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124155/test_healthy_rewards.pkl new file mode 100644 index 00000000..75df4b43 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124155/test_healthy_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124155/test_healthy_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124155/test_healthy_trajectories.pkl new file mode 100644 index 00000000..65b92b48 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124155/test_healthy_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124314/test_healthy_distances.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124314/test_healthy_distances.pkl new file mode 100644 index 00000000..56d86e41 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124314/test_healthy_distances.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124314/test_healthy_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124314/test_healthy_rewards.pkl new file mode 100644 index 00000000..adab8312 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124314/test_healthy_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124314/test_healthy_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124314/test_healthy_trajectories.pkl new file mode 100644 index 00000000..5fde8e57 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124314/test_healthy_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124733/test_healthy_distances.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124733/test_healthy_distances.pkl new file mode 100644 index 00000000..1f9d1ad3 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124733/test_healthy_distances.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124733/test_healthy_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124733/test_healthy_rewards.pkl new file mode 100644 index 00000000..e80c963b Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124733/test_healthy_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124733/test_healthy_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124733/test_healthy_trajectories.pkl new file mode 100644 index 00000000..952d5108 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-124733/test_healthy_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-131430/test_healthy_distances.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-131430/test_healthy_distances.pkl new file mode 100644 index 00000000..e1617cd8 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-131430/test_healthy_distances.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-131430/test_healthy_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-131430/test_healthy_rewards.pkl new file mode 100644 index 00000000..32e19631 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-131430/test_healthy_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-131430/test_healthy_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-131430/test_healthy_trajectories.pkl new file mode 100644 index 00000000..e3689706 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-131430/test_healthy_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-131711/test_healthy_distances.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-131711/test_healthy_distances.pkl new file mode 100644 index 00000000..4b9e30a4 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-131711/test_healthy_distances.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-131711/test_healthy_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-131711/test_healthy_rewards.pkl new file mode 100644 index 00000000..bea24cf4 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-131711/test_healthy_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-131711/test_healthy_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-131711/test_healthy_trajectories.pkl new file mode 100644 index 00000000..57fd8cd4 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240319-131711/test_healthy_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/test_rewards.pkl new file mode 100644 index 00000000..8aeab06f Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/test_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/R2/20240216-061140/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-061257/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-061257/test_agrewards.pkl new file mode 100644 index 00000000..1411967b Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-061257/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-061257/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-061257/test_rewards.pkl new file mode 100644 index 00000000..fd39fa0f Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-061257/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-061257/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-061257/test_timesteps.pkl new file mode 100644 index 00000000..18dd4352 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-061257/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-100341/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-100341/test_agrewards.pkl new file mode 100644 index 00000000..f30099e7 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-100341/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-100341/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-100341/test_rewards.pkl new file mode 100644 index 00000000..451aaf9c Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-100341/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-100341/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-100341/test_timesteps.pkl new file mode 100644 index 00000000..18dd4352 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-100341/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-135405/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-135405/test_agrewards.pkl new file mode 100644 index 00000000..6c672a45 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-135405/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-135405/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-135405/test_rewards.pkl new file mode 100644 index 00000000..c181f045 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-135405/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-135405/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-135405/test_timesteps.pkl new file mode 100644 index 00000000..18dd4352 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-135405/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-174434/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-174434/test_agrewards.pkl new file mode 100644 index 00000000..1406b117 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-174434/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-174434/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-174434/test_rewards.pkl new file mode 100644 index 00000000..c7e34fd5 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-174434/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-174434/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-174434/test_timesteps.pkl new file mode 100644 index 00000000..18dd4352 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-174434/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240130-150659/test_test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240130-150659/test_test_rewards.pkl new file mode 100644 index 00000000..c6f27c4b Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240130-150659/test_test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240130-150659/test_test_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240130-150659/test_test_trajectories.pkl new file mode 100644 index 00000000..3476f522 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240130-150659/test_test_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240206-084417/test_test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240206-084417/test_test_rewards.pkl new file mode 100644 index 00000000..49ff2b6f Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240206-084417/test_test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240206-084417/test_test_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240206-084417/test_test_trajectories.pkl new file mode 100644 index 00000000..52e66b0d Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240206-084417/test_test_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240213-113146/test_healthy_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240213-113146/test_healthy_rewards.pkl new file mode 100644 index 00000000..8c93445c Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240213-113146/test_healthy_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240213-113146/test_healthy_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240213-113146/test_healthy_trajectories.pkl new file mode 100644 index 00000000..4237b9db Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240213-113146/test_healthy_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240213-113146/test_mal_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240213-113146/test_mal_rewards.pkl new file mode 100644 index 00000000..1cf847b2 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240213-113146/test_mal_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240213-113146/test_mal_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240213-113146/test_mal_trajectories.pkl new file mode 100644 index 00000000..c58ba584 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/20240213-113146/test_mal_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/test_agrewards.pkl new file mode 100644 index 00000000..735b737b Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/test_rewards.pkl new file mode 100644 index 00000000..d5475886 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/test_timesteps.pkl new file mode 100644 index 00000000..18dd4352 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R0/20240128-213533/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-084305/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-084305/test_agrewards.pkl new file mode 100644 index 00000000..30e0a3ac Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-084305/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-084305/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-084305/test_rewards.pkl new file mode 100644 index 00000000..88851196 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-084305/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-084305/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-084305/test_timesteps.pkl new file mode 100644 index 00000000..2eed4340 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-084305/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-123056/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-123056/test_agrewards.pkl new file mode 100644 index 00000000..3e280933 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-123056/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-123056/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-123056/test_rewards.pkl new file mode 100644 index 00000000..ae4febed Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-123056/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-123056/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-123056/test_timesteps.pkl new file mode 100644 index 00000000..2eed4340 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-123056/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732/20240213-102337/test_healthy_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732/20240213-102337/test_healthy_rewards.pkl new file mode 100644 index 00000000..053cf0d3 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732/20240213-102337/test_healthy_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732/20240213-102337/test_healthy_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732/20240213-102337/test_healthy_trajectories.pkl new file mode 100644 index 00000000..036e9561 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732/20240213-102337/test_healthy_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732/20240213-102337/test_mal_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732/20240213-102337/test_mal_rewards.pkl new file mode 100644 index 00000000..1e4f4cea Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732/20240213-102337/test_mal_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732/20240213-102337/test_mal_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732/20240213-102337/test_mal_trajectories.pkl new file mode 100644 index 00000000..981ed73e Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732/20240213-102337/test_mal_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732/test_agrewards.pkl new file mode 100644 index 00000000..ffc084fe Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732/test_rewards.pkl new file mode 100644 index 00000000..ad3124b8 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732/test_timesteps.pkl new file mode 100644 index 00000000..2eed4340 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R1/20240206-161732/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-001236/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-001236/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-001236/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-001236/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-001236/test_rewards.pkl new file mode 100644 index 00000000..e9a10181 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-001236/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-001236/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-001236/test_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-001236/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-035848/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-035848/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-035848/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-035848/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-035848/test_rewards.pkl new file mode 100644 index 00000000..8bab6da6 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-035848/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-035848/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-035848/test_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-035848/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-074547/20240213-100421/test_healthy_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-074547/20240213-100421/test_healthy_rewards.pkl new file mode 100644 index 00000000..6812fd5d Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-074547/20240213-100421/test_healthy_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-074547/20240213-100421/test_healthy_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-074547/20240213-100421/test_healthy_trajectories.pkl new file mode 100644 index 00000000..25465252 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-074547/20240213-100421/test_healthy_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-074547/20240213-100421/test_mal_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-074547/20240213-100421/test_mal_rewards.pkl new file mode 100644 index 00000000..50e9405d Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-074547/20240213-100421/test_mal_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-074547/20240213-100421/test_mal_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-074547/20240213-100421/test_mal_trajectories.pkl new file mode 100644 index 00000000..e12f322e Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-074547/20240213-100421/test_mal_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-074547/test_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-074547/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-074547/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-074547/test_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-074547/test_rewards.pkl new file mode 100644 index 00000000..aecaa84e Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-074547/test_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-074547/test_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-074547/test_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/R2/20240210-074547/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240226-213820/test_0_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240226-213820/test_0_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240226-213820/test_0_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240226-213820/test_0_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240226-213820/test_0_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240226-213820/test_0_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240226-213820/test_0rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240226-213820/test_0rewards.pkl new file mode 100644 index 00000000..003d7d5b Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240226-213820/test_0rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240227-140848/test_0_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240227-140848/test_0_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240227-140848/test_0_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240227-140848/test_0_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240227-140848/test_0_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240227-140848/test_0_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240227-140848/test_0rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240227-140848/test_0rewards.pkl new file mode 100644 index 00000000..07d30573 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240227-140848/test_0rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/20240319-110124/test_healthy_distances.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/20240319-110124/test_healthy_distances.pkl new file mode 100644 index 00000000..924a0bd7 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/20240319-110124/test_healthy_distances.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/20240319-110124/test_healthy_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/20240319-110124/test_healthy_rewards.pkl new file mode 100644 index 00000000..958c809c Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/20240319-110124/test_healthy_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/20240319-110124/test_healthy_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/20240319-110124/test_healthy_trajectories.pkl new file mode 100644 index 00000000..8965d461 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/20240319-110124/test_healthy_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/20240319-132745/test_healthy_distances.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/20240319-132745/test_healthy_distances.pkl new file mode 100644 index 00000000..93d0168e Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/20240319-132745/test_healthy_distances.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/20240319-132745/test_healthy_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/20240319-132745/test_healthy_rewards.pkl new file mode 100644 index 00000000..937f9ef5 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/20240319-132745/test_healthy_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/20240319-132745/test_healthy_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/20240319-132745/test_healthy_trajectories.pkl new file mode 100644 index 00000000..84d7157b Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/20240319-132745/test_healthy_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/test_0_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/test_0_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/test_0_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/test_0_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/test_0_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/test_0_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/test_0rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/test_0rewards.pkl new file mode 100644 index 00000000..b58faf4a Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/20240229-114607/test_0rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-161308/test_01_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-161308/test_01_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-161308/test_01_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-161308/test_01_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-161308/test_01_timesteps.pkl new file mode 100644 index 00000000..b562af8c Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-161308/test_01_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-161308/test_01rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-161308/test_01rewards.pkl new file mode 100644 index 00000000..0f53b5de Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-161308/test_01rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-180832/test_01_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-180832/test_01_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-180832/test_01_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-180832/test_01_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-180832/test_01_timesteps.pkl new file mode 100644 index 00000000..b562af8c Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-180832/test_01_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-180832/test_01rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-180832/test_01rewards.pkl new file mode 100644 index 00000000..a5571b53 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-180832/test_01rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-200414/test_01_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-200414/test_01_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-200414/test_01_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-200414/test_01_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-200414/test_01_timesteps.pkl new file mode 100644 index 00000000..b562af8c Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-200414/test_01_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-200414/test_01rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-200414/test_01rewards.pkl new file mode 100644 index 00000000..980bc7bd Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-200414/test_01rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-220005/test_01_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-220005/test_01_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-220005/test_01_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-220005/test_01_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-220005/test_01_timesteps.pkl new file mode 100644 index 00000000..b562af8c Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-220005/test_01_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-220005/test_01rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-220005/test_01rewards.pkl new file mode 100644 index 00000000..bb2e8f19 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-220005/test_01rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-235543/test_01_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-235543/test_01_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-235543/test_01_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-235543/test_01_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-235543/test_01_timesteps.pkl new file mode 100644 index 00000000..b562af8c Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-235543/test_01_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-235543/test_01rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-235543/test_01rewards.pkl new file mode 100644 index 00000000..16360722 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_0/agent_1malfunction/20240322-235543/test_01rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240209-202744/20240319-123729/test_healthy_distances.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240209-202744/20240319-123729/test_healthy_distances.pkl new file mode 100644 index 00000000..2a8c7249 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240209-202744/20240319-123729/test_healthy_distances.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240209-202744/20240319-123729/test_healthy_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240209-202744/20240319-123729/test_healthy_rewards.pkl new file mode 100644 index 00000000..ad9da2aa Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240209-202744/20240319-123729/test_healthy_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240209-202744/20240319-123729/test_healthy_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240209-202744/20240319-123729/test_healthy_trajectories.pkl new file mode 100644 index 00000000..4c119b48 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240209-202744/20240319-123729/test_healthy_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240227-175750/test_2_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240227-175750/test_2_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240227-175750/test_2_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240227-175750/test_2_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240227-175750/test_2_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240227-175750/test_2_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240227-175750/test_2rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240227-175750/test_2rewards.pkl new file mode 100644 index 00000000..91a4490b Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240227-175750/test_2rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-153702/test_2_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-153702/test_2_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-153702/test_2_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-153702/test_2_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-153702/test_2_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-153702/test_2_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-153702/test_2rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-153702/test_2rewards.pkl new file mode 100644 index 00000000..80767e1e Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-153702/test_2rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-192640/test_2_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-192640/test_2_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-192640/test_2_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-192640/test_2_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-192640/test_2_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-192640/test_2_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-192640/test_2rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-192640/test_2rewards.pkl new file mode 100644 index 00000000..6c16e3fa Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-192640/test_2rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-231557/test_2_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-231557/test_2_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-231557/test_2_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-231557/test_2_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-231557/test_2_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-231557/test_2_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-231557/test_2rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-231557/test_2rewards.pkl new file mode 100644 index 00000000..0c53c197 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240229-231557/test_2rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-110159/test_healthy_distances.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-110159/test_healthy_distances.pkl new file mode 100644 index 00000000..6f437100 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-110159/test_healthy_distances.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-110159/test_healthy_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-110159/test_healthy_rewards.pkl new file mode 100644 index 00000000..a1c5cfe3 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-110159/test_healthy_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-110159/test_healthy_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-110159/test_healthy_trajectories.pkl new file mode 100644 index 00000000..9b06d238 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-110159/test_healthy_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-110233/test_healthy_distances.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-110233/test_healthy_distances.pkl new file mode 100644 index 00000000..e41e07c9 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-110233/test_healthy_distances.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-110233/test_healthy_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-110233/test_healthy_rewards.pkl new file mode 100644 index 00000000..807fc93c Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-110233/test_healthy_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-110233/test_healthy_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-110233/test_healthy_trajectories.pkl new file mode 100644 index 00000000..d2c47495 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-110233/test_healthy_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-132744/test_healthy_distances.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-132744/test_healthy_distances.pkl new file mode 100644 index 00000000..fae23b35 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-132744/test_healthy_distances.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-132744/test_healthy_rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-132744/test_healthy_rewards.pkl new file mode 100644 index 00000000..f012d678 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-132744/test_healthy_rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-132744/test_healthy_trajectories.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-132744/test_healthy_trajectories.pkl new file mode 100644 index 00000000..58f37b92 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/20240319-132744/test_healthy_trajectories.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/test_2_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/test_2_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/test_2_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/test_2_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/test_2_timesteps.pkl new file mode 100644 index 00000000..58ca2f36 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/test_2_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/test_2rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/test_2rewards.pkl new file mode 100644 index 00000000..d79938b0 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/20240301-030439/test_2rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-015053/test_23_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-015053/test_23_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-015053/test_23_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-015053/test_23_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-015053/test_23_timesteps.pkl new file mode 100644 index 00000000..b562af8c Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-015053/test_23_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-015053/test_23rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-015053/test_23rewards.pkl new file mode 100644 index 00000000..a5d9b176 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-015053/test_23rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-034622/test_23_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-034622/test_23_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-034622/test_23_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-034622/test_23_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-034622/test_23_timesteps.pkl new file mode 100644 index 00000000..b562af8c Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-034622/test_23_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-034622/test_23rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-034622/test_23rewards.pkl new file mode 100644 index 00000000..5765f145 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-034622/test_23rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-054232/test_23_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-054232/test_23_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-054232/test_23_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-054232/test_23_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-054232/test_23_timesteps.pkl new file mode 100644 index 00000000..b562af8c Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-054232/test_23_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-054232/test_23rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-054232/test_23rewards.pkl new file mode 100644 index 00000000..371a875c Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-054232/test_23rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-073734/test_23_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-073734/test_23_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-073734/test_23_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-073734/test_23_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-073734/test_23_timesteps.pkl new file mode 100644 index 00000000..b562af8c Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-073734/test_23_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-073734/test_23rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-073734/test_23rewards.pkl new file mode 100644 index 00000000..35958593 Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-073734/test_23rewards.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-093248/test_23_agrewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-093248/test_23_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-093248/test_23_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-093248/test_23_timesteps.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-093248/test_23_timesteps.pkl new file mode 100644 index 00000000..b562af8c Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-093248/test_23_timesteps.pkl differ diff --git a/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-093248/test_23rewards.pkl b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-093248/test_23rewards.pkl new file mode 100644 index 00000000..1565d60c Binary files /dev/null and b/experiments/learning_curves/Ant.4x2.0.001.350.0.99/malfunction/agent_2/agent_3malfunction/20240323-093248/test_23rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-133538/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-133538/test_agrewards.pkl new file mode 100644 index 00000000..adf52589 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-133538/test_agrewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-133538/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-133538/test_rewards.pkl new file mode 100644 index 00000000..36553eff Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-133538/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-133538/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-133538/test_timesteps.pkl new file mode 100644 index 00000000..77f78d25 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-133538/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-133538/test_validation_success.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-133538/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-133538/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134106/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134106/test_agrewards.pkl new file mode 100644 index 00000000..f3de4b19 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134106/test_agrewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134106/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134106/test_rewards.pkl new file mode 100644 index 00000000..27147e4a Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134106/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134106/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134106/test_timesteps.pkl new file mode 100644 index 00000000..77f78d25 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134106/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134106/test_validation_success.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134106/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134106/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134314/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134314/test_agrewards.pkl new file mode 100644 index 00000000..52800779 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134314/test_agrewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134314/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134314/test_rewards.pkl new file mode 100644 index 00000000..624e2961 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134314/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134314/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134314/test_timesteps.pkl new file mode 100644 index 00000000..77f78d25 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134314/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134314/test_validation_success.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134314/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-134314/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135001/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135001/test_agrewards.pkl new file mode 100644 index 00000000..f1ef80be Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135001/test_agrewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135001/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135001/test_rewards.pkl new file mode 100644 index 00000000..df10d906 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135001/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135001/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135001/test_timesteps.pkl new file mode 100644 index 00000000..77f78d25 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135001/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135001/test_validation_success.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135001/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135001/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135313/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135313/test_agrewards.pkl new file mode 100644 index 00000000..8ead00b5 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135313/test_agrewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135313/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135313/test_rewards.pkl new file mode 100644 index 00000000..77e628b5 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135313/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135313/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135313/test_timesteps.pkl new file mode 100644 index 00000000..77f78d25 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135313/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135313/test_validation_success.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135313/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-135313/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-140150/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-140150/test_agrewards.pkl new file mode 100644 index 00000000..c02db5b5 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-140150/test_agrewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-140150/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-140150/test_rewards.pkl new file mode 100644 index 00000000..11e52a5e Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-140150/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-140150/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-140150/test_timesteps.pkl new file mode 100644 index 00000000..77f78d25 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-140150/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-140150/test_validation_success.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-140150/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-140150/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-144515/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-144515/test_agrewards.pkl new file mode 100644 index 00000000..c554bb71 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-144515/test_agrewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-144515/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-144515/test_rewards.pkl new file mode 100644 index 00000000..a938aaf9 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-144515/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-144515/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-144515/test_timesteps.pkl new file mode 100644 index 00000000..70c84016 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-144515/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-144515/test_validation_success.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-144515/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240113-144515/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-012548/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-012548/test_agrewards.pkl new file mode 100644 index 00000000..6547cbff Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-012548/test_agrewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-012548/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-012548/test_rewards.pkl new file mode 100644 index 00000000..b9d34508 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-012548/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-012548/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-012548/test_timesteps.pkl new file mode 100644 index 00000000..d930a240 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-012548/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-030422/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-030422/test_agrewards.pkl new file mode 100644 index 00000000..71d534c7 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-030422/test_agrewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-030422/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-030422/test_rewards.pkl new file mode 100644 index 00000000..e3894f72 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-030422/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-030422/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-030422/test_timesteps.pkl new file mode 100644 index 00000000..d930a240 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-030422/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-044230/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-044230/test_agrewards.pkl new file mode 100644 index 00000000..f1b263bb Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-044230/test_agrewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-044230/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-044230/test_rewards.pkl new file mode 100644 index 00000000..c4644871 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-044230/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-044230/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-044230/test_timesteps.pkl new file mode 100644 index 00000000..d930a240 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-044230/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-062127/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-062127/test_agrewards.pkl new file mode 100644 index 00000000..bf439c5d Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-062127/test_agrewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-062127/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-062127/test_rewards.pkl new file mode 100644 index 00000000..aa4fe103 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-062127/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-062127/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-062127/test_timesteps.pkl new file mode 100644 index 00000000..d930a240 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-062127/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-075934/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-075934/test_agrewards.pkl new file mode 100644 index 00000000..a8ff08f6 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-075934/test_agrewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-075934/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-075934/test_rewards.pkl new file mode 100644 index 00000000..227f8992 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-075934/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-075934/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-075934/test_timesteps.pkl new file mode 100644 index 00000000..d930a240 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.2x3.0.001.350.0.99/20240129-075934/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135008/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135008/test_agrewards.pkl new file mode 100644 index 00000000..2c5a79d4 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135008/test_agrewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135008/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135008/test_rewards.pkl new file mode 100644 index 00000000..f7b21aa1 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135008/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135008/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135008/test_timesteps.pkl new file mode 100644 index 00000000..77f78d25 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135008/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135008/test_validation_success.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135008/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135008/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135319/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135319/test_agrewards.pkl new file mode 100644 index 00000000..6298f851 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135319/test_agrewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135319/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135319/test_rewards.pkl new file mode 100644 index 00000000..e8474a5a Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135319/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135319/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135319/test_timesteps.pkl new file mode 100644 index 00000000..77f78d25 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135319/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135319/test_validation_success.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135319/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-135319/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-140156/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-140156/test_agrewards.pkl new file mode 100644 index 00000000..42d4fe48 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-140156/test_agrewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-140156/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-140156/test_rewards.pkl new file mode 100644 index 00000000..d355e83d Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-140156/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-140156/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-140156/test_timesteps.pkl new file mode 100644 index 00000000..77f78d25 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-140156/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-140156/test_validation_success.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-140156/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-140156/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-145530/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-145530/test_agrewards.pkl new file mode 100644 index 00000000..14e6cae8 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-145530/test_agrewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-145530/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-145530/test_rewards.pkl new file mode 100644 index 00000000..9d40a812 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-145530/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-145530/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-145530/test_timesteps.pkl new file mode 100644 index 00000000..70c84016 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-145530/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-145530/test_validation_success.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-145530/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240113-145530/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-093744/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-093744/test_agrewards.pkl new file mode 100644 index 00000000..825ef673 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-093744/test_agrewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-093744/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-093744/test_rewards.pkl new file mode 100644 index 00000000..fd798e5a Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-093744/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-093744/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-093744/test_timesteps.pkl new file mode 100644 index 00000000..d930a240 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-093744/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-151059/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-151059/test_agrewards.pkl new file mode 100644 index 00000000..a9ebde89 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-151059/test_agrewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-151059/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-151059/test_rewards.pkl new file mode 100644 index 00000000..5815b7df Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-151059/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-151059/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-151059/test_timesteps.pkl new file mode 100644 index 00000000..d930a240 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-151059/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-204332/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-204332/test_agrewards.pkl new file mode 100644 index 00000000..a3cd1b1c Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-204332/test_agrewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-204332/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-204332/test_rewards.pkl new file mode 100644 index 00000000..eccf3ff9 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-204332/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-204332/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-204332/test_timesteps.pkl new file mode 100644 index 00000000..d930a240 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240129-204332/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240130-021515/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240130-021515/test_agrewards.pkl new file mode 100644 index 00000000..bf04f962 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240130-021515/test_agrewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240130-021515/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240130-021515/test_rewards.pkl new file mode 100644 index 00000000..a12b177e Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240130-021515/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240130-021515/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240130-021515/test_timesteps.pkl new file mode 100644 index 00000000..d930a240 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240130-021515/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240130-074544/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240130-074544/test_agrewards.pkl new file mode 100644 index 00000000..6a0c17c4 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240130-074544/test_agrewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240130-074544/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240130-074544/test_rewards.pkl new file mode 100644 index 00000000..785dc571 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240130-074544/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240130-074544/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240130-074544/test_timesteps.pkl new file mode 100644 index 00000000..d930a240 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240130-074544/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225022/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225022/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225022/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225022/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225022/test_rewards.pkl new file mode 100644 index 00000000..c634eac7 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225022/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225022/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225022/test_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225022/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225340/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225340/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225340/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225340/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225340/test_rewards.pkl new file mode 100644 index 00000000..9babcb3c Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225340/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225340/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225340/test_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225340/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225657/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225657/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225657/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225657/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225657/test_rewards.pkl new file mode 100644 index 00000000..84b2a209 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225657/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225657/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225657/test_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-225657/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-230014/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-230014/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-230014/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-230014/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-230014/test_rewards.pkl new file mode 100644 index 00000000..e3f9058f Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-230014/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-230014/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-230014/test_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-230014/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-230331/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-230331/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-230331/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-230331/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-230331/test_rewards.pkl new file mode 100644 index 00000000..2679c3e3 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-230331/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-230331/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-230331/test_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240224-230331/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-214531/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-214531/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-214531/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-214531/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-214531/test_rewards.pkl new file mode 100644 index 00000000..ca59d7b2 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-214531/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-214531/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-214531/test_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-214531/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-214849/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-214849/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-214849/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-214849/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-214849/test_rewards.pkl new file mode 100644 index 00000000..b6fe2aab Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-214849/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-214849/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-214849/test_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-214849/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215208/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215208/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215208/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215208/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215208/test_rewards.pkl new file mode 100644 index 00000000..0b5e837e Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215208/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215208/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215208/test_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215208/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215527/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215527/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215527/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215527/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215527/test_rewards.pkl new file mode 100644 index 00000000..5ca08ea8 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215527/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215527/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215527/test_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215527/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215847/test_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215847/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215847/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215847/test_rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215847/test_rewards.pkl new file mode 100644 index 00000000..11167a59 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215847/test_rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215847/test_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215847/test_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/20240227-215847/test_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220205/test_0_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220205/test_0_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220205/test_0_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220205/test_0_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220205/test_0_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220205/test_0_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220205/test_0rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220205/test_0rewards.pkl new file mode 100644 index 00000000..2ed7008b Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220205/test_0rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220524/test_0_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220524/test_0_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220524/test_0_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220524/test_0_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220524/test_0_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220524/test_0_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220524/test_0rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220524/test_0rewards.pkl new file mode 100644 index 00000000..7fc84649 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220524/test_0rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220842/test_0_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220842/test_0_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220842/test_0_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220842/test_0_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220842/test_0_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220842/test_0_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220842/test_0rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220842/test_0rewards.pkl new file mode 100644 index 00000000..3af9f314 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-220842/test_0rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-221200/test_0_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-221200/test_0_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-221200/test_0_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-221200/test_0_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-221200/test_0_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-221200/test_0_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-221200/test_0rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-221200/test_0rewards.pkl new file mode 100644 index 00000000..84d5e3d2 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-221200/test_0rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-221519/test_0_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-221519/test_0_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-221519/test_0_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-221519/test_0_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-221519/test_0_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-221519/test_0_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-221519/test_0rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-221519/test_0rewards.pkl new file mode 100644 index 00000000..4cfc3bda Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_0/20240227-221519/test_0rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-221837/test_1_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-221837/test_1_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-221837/test_1_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-221837/test_1_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-221837/test_1_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-221837/test_1_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-221837/test_1rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-221837/test_1rewards.pkl new file mode 100644 index 00000000..03fb0852 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-221837/test_1rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222156/test_1_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222156/test_1_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222156/test_1_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222156/test_1_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222156/test_1_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222156/test_1_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222156/test_1rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222156/test_1rewards.pkl new file mode 100644 index 00000000..3805c5c1 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222156/test_1rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222515/test_1_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222515/test_1_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222515/test_1_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222515/test_1_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222515/test_1_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222515/test_1_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222515/test_1rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222515/test_1rewards.pkl new file mode 100644 index 00000000..db893991 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222515/test_1rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222833/test_1_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222833/test_1_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222833/test_1_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222833/test_1_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222833/test_1_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222833/test_1_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222833/test_1rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222833/test_1rewards.pkl new file mode 100644 index 00000000..9c6e6f23 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-222833/test_1rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-223150/test_1_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-223150/test_1_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-223150/test_1_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-223150/test_1_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-223150/test_1_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-223150/test_1_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-223150/test_1rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-223150/test_1rewards.pkl new file mode 100644 index 00000000..228d5830 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_1/20240227-223150/test_1rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-223508/test_2_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-223508/test_2_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-223508/test_2_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-223508/test_2_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-223508/test_2_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-223508/test_2_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-223508/test_2rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-223508/test_2rewards.pkl new file mode 100644 index 00000000..780a7665 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-223508/test_2rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-223827/test_2_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-223827/test_2_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-223827/test_2_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-223827/test_2_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-223827/test_2_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-223827/test_2_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-223827/test_2rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-223827/test_2rewards.pkl new file mode 100644 index 00000000..eb7b2048 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-223827/test_2rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224144/test_2_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224144/test_2_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224144/test_2_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224144/test_2_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224144/test_2_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224144/test_2_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224144/test_2rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224144/test_2rewards.pkl new file mode 100644 index 00000000..1232bd6b Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224144/test_2rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224502/test_2_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224502/test_2_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224502/test_2_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224502/test_2_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224502/test_2_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224502/test_2_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224502/test_2rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224502/test_2rewards.pkl new file mode 100644 index 00000000..cf9a9aea Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224502/test_2rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224821/test_2_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224821/test_2_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224821/test_2_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224821/test_2_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224821/test_2_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224821/test_2_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224821/test_2rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224821/test_2rewards.pkl new file mode 100644 index 00000000..f4cb40a3 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_2/20240227-224821/test_2rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225140/test_3_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225140/test_3_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225140/test_3_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225140/test_3_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225140/test_3_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225140/test_3_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225140/test_3rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225140/test_3rewards.pkl new file mode 100644 index 00000000..da43342f Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225140/test_3rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225458/test_3_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225458/test_3_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225458/test_3_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225458/test_3_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225458/test_3_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225458/test_3_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225458/test_3rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225458/test_3rewards.pkl new file mode 100644 index 00000000..99f7abf7 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225458/test_3rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225816/test_3_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225816/test_3_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225816/test_3_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225816/test_3_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225816/test_3_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225816/test_3_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225816/test_3rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225816/test_3rewards.pkl new file mode 100644 index 00000000..27fc9bc1 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-225816/test_3rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-230134/test_3_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-230134/test_3_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-230134/test_3_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-230134/test_3_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-230134/test_3_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-230134/test_3_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-230134/test_3rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-230134/test_3rewards.pkl new file mode 100644 index 00000000..0e3bed9a Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-230134/test_3rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-230453/test_3_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-230453/test_3_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-230453/test_3_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-230453/test_3_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-230453/test_3_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-230453/test_3_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-230453/test_3rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-230453/test_3rewards.pkl new file mode 100644 index 00000000..ad7e7a0d Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_3/20240227-230453/test_3rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-230811/test_4_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-230811/test_4_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-230811/test_4_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-230811/test_4_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-230811/test_4_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-230811/test_4_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-230811/test_4rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-230811/test_4rewards.pkl new file mode 100644 index 00000000..923e648d Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-230811/test_4rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231130/test_4_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231130/test_4_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231130/test_4_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231130/test_4_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231130/test_4_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231130/test_4_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231130/test_4rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231130/test_4rewards.pkl new file mode 100644 index 00000000..0a657d79 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231130/test_4rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231448/test_4_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231448/test_4_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231448/test_4_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231448/test_4_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231448/test_4_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231448/test_4_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231448/test_4rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231448/test_4rewards.pkl new file mode 100644 index 00000000..15535c6d Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231448/test_4rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231806/test_4_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231806/test_4_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231806/test_4_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231806/test_4_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231806/test_4_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231806/test_4_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231806/test_4rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231806/test_4rewards.pkl new file mode 100644 index 00000000..ef8fc6f9 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-231806/test_4rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-232125/test_4_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-232125/test_4_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-232125/test_4_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-232125/test_4_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-232125/test_4_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-232125/test_4_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-232125/test_4rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-232125/test_4rewards.pkl new file mode 100644 index 00000000..b571f63a Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_4/20240227-232125/test_4rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-232443/test_5_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-232443/test_5_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-232443/test_5_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-232443/test_5_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-232443/test_5_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-232443/test_5_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-232443/test_5rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-232443/test_5rewards.pkl new file mode 100644 index 00000000..8b6161e7 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-232443/test_5rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-232802/test_5_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-232802/test_5_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-232802/test_5_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-232802/test_5_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-232802/test_5_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-232802/test_5_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-232802/test_5rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-232802/test_5rewards.pkl new file mode 100644 index 00000000..96f60c83 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-232802/test_5rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233121/test_5_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233121/test_5_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233121/test_5_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233121/test_5_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233121/test_5_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233121/test_5_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233121/test_5rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233121/test_5rewards.pkl new file mode 100644 index 00000000..b826c9f0 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233121/test_5rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233439/test_5_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233439/test_5_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233439/test_5_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233439/test_5_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233439/test_5_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233439/test_5_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233439/test_5rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233439/test_5rewards.pkl new file mode 100644 index 00000000..90b3d77f Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233439/test_5rewards.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233757/test_5_agrewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233757/test_5_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233757/test_5_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233757/test_5_timesteps.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233757/test_5_timesteps.pkl new file mode 100644 index 00000000..e2e2fb05 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233757/test_5_timesteps.pkl differ diff --git a/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233757/test_5rewards.pkl b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233757/test_5rewards.pkl new file mode 100644 index 00000000..0949a522 Binary files /dev/null and b/experiments/learning_curves/HalfCheetah.6x1.0.001.350.0.99/malfunction/mal_5/20240227-233757/test_5rewards.pkl differ diff --git a/experiments/learning_curves/Humanoid.9x8.0.001.350.0.99/20240116-152502/test_agrewards.pkl b/experiments/learning_curves/Humanoid.9x8.0.001.350.0.99/20240116-152502/test_agrewards.pkl new file mode 100644 index 00000000..76930b3c Binary files /dev/null and b/experiments/learning_curves/Humanoid.9x8.0.001.350.0.99/20240116-152502/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Humanoid.9x8.0.001.350.0.99/20240116-152502/test_rewards.pkl b/experiments/learning_curves/Humanoid.9x8.0.001.350.0.99/20240116-152502/test_rewards.pkl new file mode 100644 index 00000000..1cd84526 Binary files /dev/null and b/experiments/learning_curves/Humanoid.9x8.0.001.350.0.99/20240116-152502/test_rewards.pkl differ diff --git a/experiments/learning_curves/Humanoid.9x8.0.001.350.0.99/20240116-152502/test_timesteps.pkl b/experiments/learning_curves/Humanoid.9x8.0.001.350.0.99/20240116-152502/test_timesteps.pkl new file mode 100644 index 00000000..c16997dd Binary files /dev/null and b/experiments/learning_curves/Humanoid.9x8.0.001.350.0.99/20240116-152502/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Humanoid.9x8.0.001.350.0.99/20240116-152502/test_validation_success.pkl b/experiments/learning_curves/Humanoid.9x8.0.001.350.0.99/20240116-152502/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Humanoid.9x8.0.001.350.0.99/20240116-152502/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/Humanoid.9|8.0.001.350.0.99/20240116-104900/test_agrewards.pkl b/experiments/learning_curves/Humanoid.9|8.0.001.350.0.99/20240116-104900/test_agrewards.pkl new file mode 100644 index 00000000..96b1fbca Binary files /dev/null and b/experiments/learning_curves/Humanoid.9|8.0.001.350.0.99/20240116-104900/test_agrewards.pkl differ diff --git a/experiments/learning_curves/Humanoid.9|8.0.001.350.0.99/20240116-104900/test_rewards.pkl b/experiments/learning_curves/Humanoid.9|8.0.001.350.0.99/20240116-104900/test_rewards.pkl new file mode 100644 index 00000000..b5199ef8 Binary files /dev/null and b/experiments/learning_curves/Humanoid.9|8.0.001.350.0.99/20240116-104900/test_rewards.pkl differ diff --git a/experiments/learning_curves/Humanoid.9|8.0.001.350.0.99/20240116-104900/test_timesteps.pkl b/experiments/learning_curves/Humanoid.9|8.0.001.350.0.99/20240116-104900/test_timesteps.pkl new file mode 100644 index 00000000..7d7216bb Binary files /dev/null and b/experiments/learning_curves/Humanoid.9|8.0.001.350.0.99/20240116-104900/test_timesteps.pkl differ diff --git a/experiments/learning_curves/Humanoid.9|8.0.001.350.0.99/20240116-104900/test_validation_success.pkl b/experiments/learning_curves/Humanoid.9|8.0.001.350.0.99/20240116-104900/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/Humanoid.9|8.0.001.350.0.99/20240116-104900/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-122258/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-122258/test_agrewards.pkl new file mode 100644 index 00000000..2fd0edd6 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-122258/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-122258/test_rewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-122258/test_rewards.pkl new file mode 100644 index 00000000..b2ed1b69 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-122258/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-122258/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-122258/test_timesteps.pkl new file mode 100644 index 00000000..558279c7 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-122258/test_timesteps.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-122258/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-122258/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-122258/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-124007/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-124007/test_agrewards.pkl new file mode 100644 index 00000000..1daf1b5d Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-124007/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-124007/test_rewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-124007/test_rewards.pkl new file mode 100644 index 00000000..4f515d43 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-124007/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-124007/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-124007/test_timesteps.pkl new file mode 100644 index 00000000..6eb3f67a Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-124007/test_timesteps.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-124007/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-124007/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-124007/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-131428/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-131428/test_agrewards.pkl new file mode 100644 index 00000000..c761402c Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-131428/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-131428/test_rewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-131428/test_rewards.pkl new file mode 100644 index 00000000..4fce0bd0 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-131428/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-131428/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-131428/test_timesteps.pkl new file mode 100644 index 00000000..eefe3dea Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-131428/test_timesteps.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-131428/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-131428/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-131428/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-133145/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-133145/test_agrewards.pkl new file mode 100644 index 00000000..8369287f Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-133145/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-133145/test_rewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-133145/test_rewards.pkl new file mode 100644 index 00000000..9678fe73 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-133145/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-133145/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-133145/test_timesteps.pkl new file mode 100644 index 00000000..25864478 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-133145/test_timesteps.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-133145/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-133145/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-133145/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134153/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134153/test_agrewards.pkl new file mode 100644 index 00000000..b9501906 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134153/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134153/test_rewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134153/test_rewards.pkl new file mode 100644 index 00000000..f6b1bb49 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134153/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134153/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134153/test_timesteps.pkl new file mode 100644 index 00000000..48d07f48 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134153/test_timesteps.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134153/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134153/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134153/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134438/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134438/test_agrewards.pkl new file mode 100644 index 00000000..0e2a8e38 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134438/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134438/test_rewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134438/test_rewards.pkl new file mode 100644 index 00000000..b5f7c717 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134438/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134438/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134438/test_timesteps.pkl new file mode 100644 index 00000000..b2e7f0cf Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134438/test_timesteps.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134438/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134438/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134438/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134856/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134856/test_agrewards.pkl new file mode 100644 index 00000000..6bc7dd7d Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134856/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134856/test_rewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134856/test_rewards.pkl new file mode 100644 index 00000000..7ae0b4cf Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134856/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134856/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134856/test_timesteps.pkl new file mode 100644 index 00000000..df5032c9 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134856/test_timesteps.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134856/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134856/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134856/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134920/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134920/test_agrewards.pkl new file mode 100644 index 00000000..0a7fe625 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134920/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134920/test_rewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134920/test_rewards.pkl new file mode 100644 index 00000000..6e8ec57f Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134920/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134920/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134920/test_timesteps.pkl new file mode 100644 index 00000000..1be84461 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134920/test_timesteps.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134920/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134920/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134920/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134942/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134942/test_agrewards.pkl new file mode 100644 index 00000000..74e5ad88 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134942/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134942/test_rewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134942/test_rewards.pkl new file mode 100644 index 00000000..09124f8f Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134942/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134942/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134942/test_timesteps.pkl new file mode 100644 index 00000000..172b6ea3 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134942/test_timesteps.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134942/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134942/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-134942/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-135254/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-135254/test_agrewards.pkl new file mode 100644 index 00000000..3263af84 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-135254/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-135254/test_rewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-135254/test_rewards.pkl new file mode 100644 index 00000000..65ffe12c Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-135254/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-135254/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-135254/test_timesteps.pkl new file mode 100644 index 00000000..7c189e8f Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-135254/test_timesteps.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-135254/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-135254/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-135254/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140132/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140132/test_agrewards.pkl new file mode 100644 index 00000000..f4c357ad Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140132/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140132/test_rewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140132/test_rewards.pkl new file mode 100644 index 00000000..0a687a2a Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140132/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140132/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140132/test_timesteps.pkl new file mode 100644 index 00000000..7075bf68 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140132/test_timesteps.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140132/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140132/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140132/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140623/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140623/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140623/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140623/test_rewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140623/test_rewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140623/test_rewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140623/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140623/test_timesteps.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140623/test_timesteps.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140623/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140623/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-140623/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-142237/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-142237/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-142237/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-142237/test_rewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-142237/test_rewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-142237/test_rewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-142237/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-142237/test_timesteps.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-142237/test_timesteps.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-142237/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-142237/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240113-142237/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240115-085821/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240115-085821/test_agrewards.pkl new file mode 100644 index 00000000..6f00f3b9 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240115-085821/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240115-085821/test_rewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240115-085821/test_rewards.pkl new file mode 100644 index 00000000..1d8d7349 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240115-085821/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240115-085821/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240115-085821/test_timesteps.pkl new file mode 100644 index 00000000..18e8eeca Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240115-085821/test_timesteps.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240115-085821/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240115-085821/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240115-085821/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240118-141112/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240118-141112/test_agrewards.pkl new file mode 100644 index 00000000..7313dc7b Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240118-141112/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240118-141112/test_rewards.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240118-141112/test_rewards.pkl new file mode 100644 index 00000000..b3575345 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240118-141112/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240118-141112/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240118-141112/test_timesteps.pkl new file mode 100644 index 00000000..54d51cd3 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240118-141112/test_timesteps.pkl differ diff --git a/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240118-141112/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240118-141112/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.2x4.0.001.350.0.99/20240118-141112/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240111-085309/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240111-085309/test_agrewards.pkl new file mode 100644 index 00000000..1af2660e Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240111-085309/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240111-085309/test_rewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240111-085309/test_rewards.pkl new file mode 100644 index 00000000..54bda585 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240111-085309/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-134950/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-134950/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-134950/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-134950/test_rewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-134950/test_rewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-134950/test_rewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-134950/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-134950/test_timesteps.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-134950/test_timesteps.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-134950/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-134950/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-134950/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-135302/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-135302/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-135302/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-135302/test_rewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-135302/test_rewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-135302/test_rewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-135302/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-135302/test_timesteps.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-135302/test_timesteps.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-135302/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-135302/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-135302/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-140140/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-140140/test_agrewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-140140/test_agrewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-140140/test_rewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-140140/test_rewards.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-140140/test_rewards.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-140140/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-140140/test_timesteps.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-140140/test_timesteps.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-140140/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-140140/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-140140/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-142244/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-142244/test_agrewards.pkl new file mode 100644 index 00000000..87e4f756 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-142244/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-142244/test_rewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-142244/test_rewards.pkl new file mode 100644 index 00000000..b3bfbe7c Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-142244/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-142244/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-142244/test_timesteps.pkl new file mode 100644 index 00000000..50c6b689 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-142244/test_timesteps.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-142244/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-142244/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240113-142244/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-085828/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-085828/test_agrewards.pkl new file mode 100644 index 00000000..2c65b25b Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-085828/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-085828/test_rewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-085828/test_rewards.pkl new file mode 100644 index 00000000..a7630df8 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-085828/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-085828/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-085828/test_timesteps.pkl new file mode 100644 index 00000000..8f403b17 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-085828/test_timesteps.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-085828/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-085828/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-085828/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-220211/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-220211/test_agrewards.pkl new file mode 100644 index 00000000..a0eab1db Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-220211/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-220211/test_rewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-220211/test_rewards.pkl new file mode 100644 index 00000000..95c84ed1 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-220211/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-220211/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-220211/test_timesteps.pkl new file mode 100644 index 00000000..7c768105 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-220211/test_timesteps.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-220211/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-220211/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-220211/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-222432/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-222432/test_agrewards.pkl new file mode 100644 index 00000000..0c6eb439 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-222432/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-222432/test_rewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-222432/test_rewards.pkl new file mode 100644 index 00000000..27712d6f Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-222432/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-222432/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-222432/test_timesteps.pkl new file mode 100644 index 00000000..0a91222b Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-222432/test_timesteps.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-222432/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-222432/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240115-222432/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-091906/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-091906/test_agrewards.pkl new file mode 100644 index 00000000..a20d6f3c Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-091906/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-091906/test_rewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-091906/test_rewards.pkl new file mode 100644 index 00000000..73720554 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-091906/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-091906/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-091906/test_timesteps.pkl new file mode 100644 index 00000000..7496d6e6 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-091906/test_timesteps.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-091906/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-091906/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-091906/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-100355/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-100355/test_agrewards.pkl new file mode 100644 index 00000000..dfcaef9b Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-100355/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-100355/test_rewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-100355/test_rewards.pkl new file mode 100644 index 00000000..b00f2241 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-100355/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-100355/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-100355/test_timesteps.pkl new file mode 100644 index 00000000..950f663d Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-100355/test_timesteps.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-100355/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-100355/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-100355/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-110549/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-110549/test_agrewards.pkl new file mode 100644 index 00000000..deaa583e Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-110549/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-110549/test_rewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-110549/test_rewards.pkl new file mode 100644 index 00000000..55c45f37 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-110549/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-110549/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-110549/test_timesteps.pkl new file mode 100644 index 00000000..b267b563 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-110549/test_timesteps.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-110549/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-110549/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-110549/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-130915/test_agrewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-130915/test_agrewards.pkl new file mode 100644 index 00000000..bf9fae07 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-130915/test_agrewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-130915/test_rewards.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-130915/test_rewards.pkl new file mode 100644 index 00000000..7d0d65f5 Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-130915/test_rewards.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-130915/test_timesteps.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-130915/test_timesteps.pkl new file mode 100644 index 00000000..0094518c Binary files /dev/null and b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-130915/test_timesteps.pkl differ diff --git a/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-130915/test_validation_success.pkl b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-130915/test_validation_success.pkl new file mode 100644 index 00000000..92c3c883 --- /dev/null +++ b/experiments/learning_curves/OLDAnt.4x2.0.001.350.0.99/20240116-130915/test_validation_success.pkl @@ -0,0 +1 @@ +€]”. \ No newline at end of file diff --git a/experiments/learning_curves/bounce/20231107-093047/test_agrewards.pkl b/experiments/learning_curves/bounce/20231107-093047/test_agrewards.pkl new file mode 100644 index 00000000..a4c5cdb9 Binary files /dev/null and b/experiments/learning_curves/bounce/20231107-093047/test_agrewards.pkl differ diff --git a/experiments/learning_curves/bounce/20231107-093047/test_rewards.pkl b/experiments/learning_curves/bounce/20231107-093047/test_rewards.pkl new file mode 100644 index 00000000..252b6317 Binary files /dev/null and b/experiments/learning_curves/bounce/20231107-093047/test_rewards.pkl differ diff --git a/experiments/learning_curves/bounce_close/20231107-100055/test_agrewards.pkl b/experiments/learning_curves/bounce_close/20231107-100055/test_agrewards.pkl new file mode 100644 index 00000000..27dc1eb5 Binary files /dev/null and b/experiments/learning_curves/bounce_close/20231107-100055/test_agrewards.pkl differ diff --git a/experiments/learning_curves/bounce_close/20231107-100055/test_rewards.pkl b/experiments/learning_curves/bounce_close/20231107-100055/test_rewards.pkl new file mode 100644 index 00000000..79ef0e7c Binary files /dev/null and b/experiments/learning_curves/bounce_close/20231107-100055/test_rewards.pkl differ diff --git a/experiments/learning_curves/bounce_close/20231107-100754/test_agrewards.pkl b/experiments/learning_curves/bounce_close/20231107-100754/test_agrewards.pkl new file mode 100644 index 00000000..6f38a064 Binary files /dev/null and b/experiments/learning_curves/bounce_close/20231107-100754/test_agrewards.pkl differ diff --git a/experiments/learning_curves/bounce_close/20231107-100754/test_rewards.pkl b/experiments/learning_curves/bounce_close/20231107-100754/test_rewards.pkl new file mode 100644 index 00000000..a6bd50cf Binary files /dev/null and b/experiments/learning_curves/bounce_close/20231107-100754/test_rewards.pkl differ diff --git a/experiments/learning_curves/bounce_far/20231107-101910/test_agrewards.pkl b/experiments/learning_curves/bounce_far/20231107-101910/test_agrewards.pkl new file mode 100644 index 00000000..06f3ec23 Binary files /dev/null and b/experiments/learning_curves/bounce_far/20231107-101910/test_agrewards.pkl differ diff --git a/experiments/learning_curves/bounce_far/20231107-101910/test_rewards.pkl b/experiments/learning_curves/bounce_far/20231107-101910/test_rewards.pkl new file mode 100644 index 00000000..c16fcfc1 Binary files /dev/null and b/experiments/learning_curves/bounce_far/20231107-101910/test_rewards.pkl differ diff --git a/experiments/learning_curves/simple/20231107-092910/test_agrewards.pkl b/experiments/learning_curves/simple/20231107-092910/test_agrewards.pkl new file mode 100644 index 00000000..024d390b Binary files /dev/null and b/experiments/learning_curves/simple/20231107-092910/test_agrewards.pkl differ diff --git a/experiments/learning_curves/simple/20231107-092910/test_rewards.pkl b/experiments/learning_curves/simple/20231107-092910/test_rewards.pkl new file mode 100644 index 00000000..024d390b Binary files /dev/null and b/experiments/learning_curves/simple/20231107-092910/test_rewards.pkl differ diff --git a/experiments/learning_curves/simple_adversary/20231107-094049/test_agrewards.pkl b/experiments/learning_curves/simple_adversary/20231107-094049/test_agrewards.pkl new file mode 100644 index 00000000..7d19b6cb Binary files /dev/null and b/experiments/learning_curves/simple_adversary/20231107-094049/test_agrewards.pkl differ diff --git a/experiments/learning_curves/simple_adversary/20231107-094049/test_rewards.pkl b/experiments/learning_curves/simple_adversary/20231107-094049/test_rewards.pkl new file mode 100644 index 00000000..defc013f Binary files /dev/null and b/experiments/learning_curves/simple_adversary/20231107-094049/test_rewards.pkl differ diff --git a/experiments/learning_curves/simple_push/20231107-093816/test_agrewards.pkl b/experiments/learning_curves/simple_push/20231107-093816/test_agrewards.pkl new file mode 100644 index 00000000..0da48053 Binary files /dev/null and b/experiments/learning_curves/simple_push/20231107-093816/test_agrewards.pkl differ diff --git a/experiments/learning_curves/simple_push/20231107-093816/test_rewards.pkl b/experiments/learning_curves/simple_push/20231107-093816/test_rewards.pkl new file mode 100644 index 00000000..da40fb95 Binary files /dev/null and b/experiments/learning_curves/simple_push/20231107-093816/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.100.0.01.FA.NFL/20231116-120158/test_agrewards.pkl b/experiments/learning_curves/slow_agent.100.0.01.FA.NFL/20231116-120158/test_agrewards.pkl new file mode 100644 index 00000000..8f9f7da6 Binary files /dev/null and b/experiments/learning_curves/slow_agent.100.0.01.FA.NFL/20231116-120158/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.100.0.01.FA.NFL/20231116-120158/test_rewards.pkl b/experiments/learning_curves/slow_agent.100.0.01.FA.NFL/20231116-120158/test_rewards.pkl new file mode 100644 index 00000000..6d37f601 Binary files /dev/null and b/experiments/learning_curves/slow_agent.100.0.01.FA.NFL/20231116-120158/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.100.0.01.NFA.NFL/20231123-193223/test_agrewards.pkl b/experiments/learning_curves/slow_agent.100.0.01.NFA.NFL/20231123-193223/test_agrewards.pkl new file mode 100644 index 00000000..2fd7a85e Binary files /dev/null and b/experiments/learning_curves/slow_agent.100.0.01.NFA.NFL/20231123-193223/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.100.0.01.NFA.NFL/20231123-193223/test_rewards.pkl b/experiments/learning_curves/slow_agent.100.0.01.NFA.NFL/20231123-193223/test_rewards.pkl new file mode 100644 index 00000000..d429a38a Binary files /dev/null and b/experiments/learning_curves/slow_agent.100.0.01.NFA.NFL/20231123-193223/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.100.0.01/20231116-101042/test_agrewards.pkl b/experiments/learning_curves/slow_agent.100.0.01/20231116-101042/test_agrewards.pkl new file mode 100644 index 00000000..d0bfedc0 Binary files /dev/null and b/experiments/learning_curves/slow_agent.100.0.01/20231116-101042/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.100.0.01/20231116-101042/test_rewards.pkl b/experiments/learning_curves/slow_agent.100.0.01/20231116-101042/test_rewards.pkl new file mode 100644 index 00000000..5e6c2e5e Binary files /dev/null and b/experiments/learning_curves/slow_agent.100.0.01/20231116-101042/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.FA.FL/20231124-133240/test_agrewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.FA.FL/20231124-133240/test_agrewards.pkl new file mode 100644 index 00000000..f1f07ec6 Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.FA.FL/20231124-133240/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.FA.FL/20231124-133240/test_rewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.FA.FL/20231124-133240/test_rewards.pkl new file mode 100644 index 00000000..4b0ff7ac Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.FA.FL/20231124-133240/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.FA.FL/20231124-135937/test_agrewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.FA.FL/20231124-135937/test_agrewards.pkl new file mode 100644 index 00000000..7e00f5d9 Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.FA.FL/20231124-135937/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.FA.FL/20231124-135937/test_rewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.FA.FL/20231124-135937/test_rewards.pkl new file mode 100644 index 00000000..e0dce96d Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.FA.FL/20231124-135937/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.FA.FL/20231124-140331/test_agrewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.FA.FL/20231124-140331/test_agrewards.pkl new file mode 100644 index 00000000..7d52b355 Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.FA.FL/20231124-140331/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.FA.FL/20231124-140331/test_rewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.FA.FL/20231124-140331/test_rewards.pkl new file mode 100644 index 00000000..c9e0f141 Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.FA.FL/20231124-140331/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231121-122648/test_agrewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231121-122648/test_agrewards.pkl new file mode 100644 index 00000000..b2d3e7b4 Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231121-122648/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231121-122648/test_rewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231121-122648/test_rewards.pkl new file mode 100644 index 00000000..dd0f77ce Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231121-122648/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231121-123903/test_agrewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231121-123903/test_agrewards.pkl new file mode 100644 index 00000000..ed06f40b Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231121-123903/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231121-123903/test_rewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231121-123903/test_rewards.pkl new file mode 100644 index 00000000..497d48ce Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231121-123903/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-181622/test_agrewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-181622/test_agrewards.pkl new file mode 100644 index 00000000..33db0c6c Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-181622/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-181622/test_rewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-181622/test_rewards.pkl new file mode 100644 index 00000000..c25e661b Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-181622/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-181753/test_agrewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-181753/test_agrewards.pkl new file mode 100644 index 00000000..e9e27274 Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-181753/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-181753/test_rewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-181753/test_rewards.pkl new file mode 100644 index 00000000..38367798 Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-181753/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-184444/test_agrewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-184444/test_agrewards.pkl new file mode 100644 index 00000000..1faa297e Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-184444/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-184444/test_rewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-184444/test_rewards.pkl new file mode 100644 index 00000000..636535e6 Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-184444/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-191931/test_agrewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-191931/test_agrewards.pkl new file mode 100644 index 00000000..cf6252b6 Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-191931/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-191931/test_rewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-191931/test_rewards.pkl new file mode 100644 index 00000000..55b617cf Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.FA.NFL/20231123-191931/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-091709/test_agrewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-091709/test_agrewards.pkl new file mode 100644 index 00000000..44ccc0ad Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-091709/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-091709/test_rewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-091709/test_rewards.pkl new file mode 100644 index 00000000..cd12b0c3 Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-091709/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-095838/test_agrewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-095838/test_agrewards.pkl new file mode 100644 index 00000000..6606403f Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-095838/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-095838/test_rewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-095838/test_rewards.pkl new file mode 100644 index 00000000..20b52b8d Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-095838/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-121539/test_agrewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-121539/test_agrewards.pkl new file mode 100644 index 00000000..f0a3a995 Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-121539/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-121539/test_rewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-121539/test_rewards.pkl new file mode 100644 index 00000000..377a5697 Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-121539/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-121813/test_agrewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-121813/test_agrewards.pkl new file mode 100644 index 00000000..a78d0ad5 Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-121813/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-121813/test_rewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-121813/test_rewards.pkl new file mode 100644 index 00000000..0aeae7fb Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-121813/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-122143/test_agrewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-122143/test_agrewards.pkl new file mode 100644 index 00000000..49c11f94 Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-122143/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-122143/test_rewards.pkl b/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-122143/test_rewards.pkl new file mode 100644 index 00000000..e5200795 Binary files /dev/null and b/experiments/learning_curves/slow_agent.25.0.01.NFA.NFL/20231121-122143/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.FL/20231124-141339/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.FL/20231124-141339/test_agrewards.pkl new file mode 100644 index 00000000..4e3e1d6a Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.FL/20231124-141339/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.FL/20231124-141339/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.FL/20231124-141339/test_rewards.pkl new file mode 100644 index 00000000..9a7391f6 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.FL/20231124-141339/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.FL/20231126-124941/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.FL/20231126-124941/test_agrewards.pkl new file mode 100644 index 00000000..1979b029 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.FL/20231126-124941/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.FL/20231126-124941/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.FL/20231126-124941/test_rewards.pkl new file mode 100644 index 00000000..3ce34698 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.FL/20231126-124941/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.FL/20231130-193707/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.FL/20231130-193707/test_agrewards.pkl new file mode 100644 index 00000000..106d3eab Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.FL/20231130-193707/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.FL/20231130-193707/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.FL/20231130-193707/test_rewards.pkl new file mode 100644 index 00000000..9199ef11 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.FL/20231130-193707/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231116-120151/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231116-120151/test_agrewards.pkl new file mode 100644 index 00000000..e059a5bc Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231116-120151/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231116-120151/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231116-120151/test_rewards.pkl new file mode 100644 index 00000000..1fc790da Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231116-120151/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231121-084138/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231121-084138/test_agrewards.pkl new file mode 100644 index 00000000..51cf3294 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231121-084138/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231121-084138/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231121-084138/test_rewards.pkl new file mode 100644 index 00000000..5ad8eb0d Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231121-084138/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231126-124027/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231126-124027/test_agrewards.pkl new file mode 100644 index 00000000..f440536b Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231126-124027/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231126-124027/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231126-124027/test_rewards.pkl new file mode 100644 index 00000000..72335f28 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231126-124027/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231130-193642/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231130-193642/test_agrewards.pkl new file mode 100644 index 00000000..b3c417e7 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231130-193642/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231130-193642/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231130-193642/test_rewards.pkl new file mode 100644 index 00000000..edabaaf1 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.FA.NFL/20231130-193642/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.FL/20231126-125853/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.FL/20231126-125853/test_agrewards.pkl new file mode 100644 index 00000000..3146587f Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.FL/20231126-125853/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.FL/20231126-125853/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.FL/20231126-125853/test_rewards.pkl new file mode 100644 index 00000000..17d17566 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.FL/20231126-125853/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.FL/20231130-193704/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.FL/20231130-193704/test_agrewards.pkl new file mode 100644 index 00000000..fde1f5b0 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.FL/20231130-193704/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.FL/20231130-193704/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.FL/20231130-193704/test_rewards.pkl new file mode 100644 index 00000000..78a03ccc Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.FL/20231130-193704/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231121-084705/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231121-084705/test_agrewards.pkl new file mode 100644 index 00000000..fcbf4bcc Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231121-084705/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231121-084705/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231121-084705/test_rewards.pkl new file mode 100644 index 00000000..87da5ff9 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231121-084705/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231121-085033/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231121-085033/test_agrewards.pkl new file mode 100644 index 00000000..1e8fc3f0 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231121-085033/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231121-085033/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231121-085033/test_rewards.pkl new file mode 100644 index 00000000..556b862a Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231121-085033/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231124-133243/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231124-133243/test_agrewards.pkl new file mode 100644 index 00000000..f76fbf9a Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231124-133243/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231124-133243/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231124-133243/test_rewards.pkl new file mode 100644 index 00000000..d9cb1637 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231124-133243/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231125-200002/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231125-200002/test_agrewards.pkl new file mode 100644 index 00000000..a636982c Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231125-200002/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231125-200002/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231125-200002/test_rewards.pkl new file mode 100644 index 00000000..d13eaf15 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231125-200002/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231125-200018/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231125-200018/test_agrewards.pkl new file mode 100644 index 00000000..eb7ab2a8 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231125-200018/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231125-200018/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231125-200018/test_rewards.pkl new file mode 100644 index 00000000..0079829f Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231125-200018/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231126-125001/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231126-125001/test_agrewards.pkl new file mode 100644 index 00000000..4ae7c510 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231126-125001/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231126-125001/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231126-125001/test_rewards.pkl new file mode 100644 index 00000000..880e1dd2 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231126-125001/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231130-193642/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231130-193642/test_agrewards.pkl new file mode 100644 index 00000000..8aa90050 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231130-193642/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231130-193642/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231130-193642/test_rewards.pkl new file mode 100644 index 00000000..32a422b0 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.0.95.NFA.NFL/20231130-193642/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.FL/20231130-205934/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.FL/20231130-205934/test_agrewards.pkl new file mode 100644 index 00000000..305c1c53 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.FL/20231130-205934/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.FL/20231130-205934/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.FL/20231130-205934/test_rewards.pkl new file mode 100644 index 00000000..26e47fdf Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.FL/20231130-205934/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.FL/20231130-205934/test_validation_success.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.FL/20231130-205934/test_validation_success.pkl new file mode 100644 index 00000000..88fdb769 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.FL/20231130-205934/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.NFL/20231130-205921/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.NFL/20231130-205921/test_agrewards.pkl new file mode 100644 index 00000000..69404e0a Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.NFL/20231130-205921/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.NFL/20231130-205921/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.NFL/20231130-205921/test_rewards.pkl new file mode 100644 index 00000000..e55006ac Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.NFL/20231130-205921/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.NFL/20231130-205921/test_validation_success.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.NFL/20231130-205921/test_validation_success.pkl new file mode 100644 index 00000000..546fdefb Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.NFL/20231130-205921/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.NFL/20231130-212952/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.NFL/20231130-212952/test_agrewards.pkl new file mode 100644 index 00000000..c1e98e7d Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.NFL/20231130-212952/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.NFL/20231130-212952/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.NFL/20231130-212952/test_rewards.pkl new file mode 100644 index 00000000..a53e7324 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.NFL/20231130-212952/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.NFL/20231130-212952/test_validation_success.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.NFL/20231130-212952/test_validation_success.pkl new file mode 100644 index 00000000..885ecfd4 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.FA.NFL/20231130-212952/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.1.0.NFA.FL/20231130-205927/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.NFA.FL/20231130-205927/test_agrewards.pkl new file mode 100644 index 00000000..5257eb65 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.NFA.FL/20231130-205927/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.1.0.NFA.FL/20231130-205927/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.NFA.FL/20231130-205927/test_rewards.pkl new file mode 100644 index 00000000..1f55623c Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.NFA.FL/20231130-205927/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.1.0.NFA.FL/20231130-205927/test_validation_success.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.NFA.FL/20231130-205927/test_validation_success.pkl new file mode 100644 index 00000000..e4e98d02 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.NFA.FL/20231130-205927/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.1.0.NFA.NFL/20231130-205924/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.NFA.NFL/20231130-205924/test_agrewards.pkl new file mode 100644 index 00000000..0bdb674c Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.NFA.NFL/20231130-205924/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.1.0.NFA.NFL/20231130-205924/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.NFA.NFL/20231130-205924/test_rewards.pkl new file mode 100644 index 00000000..907cfb05 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.NFA.NFL/20231130-205924/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.128.1.0.NFA.NFL/20231130-205924/test_validation_success.pkl b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.NFA.NFL/20231130-205924/test_validation_success.pkl new file mode 100644 index 00000000..42490483 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.128.1.0.NFA.NFL/20231130-205924/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.256.1.0.FA.NFL/20231130-212956/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.256.1.0.FA.NFL/20231130-212956/test_agrewards.pkl new file mode 100644 index 00000000..299e68bb Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.256.1.0.FA.NFL/20231130-212956/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.256.1.0.FA.NFL/20231130-212956/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.256.1.0.FA.NFL/20231130-212956/test_rewards.pkl new file mode 100644 index 00000000..83e9fd91 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.256.1.0.FA.NFL/20231130-212956/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.256.1.0.FA.NFL/20231130-212956/test_validation_success.pkl b/experiments/learning_curves/slow_agent.50.0.01.256.1.0.FA.NFL/20231130-212956/test_validation_success.pkl new file mode 100644 index 00000000..3c035d42 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.256.1.0.FA.NFL/20231130-212956/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.32.0.95.FA.NFL/20231130-212943/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.32.0.95.FA.NFL/20231130-212943/test_agrewards.pkl new file mode 100644 index 00000000..342284ea Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.32.0.95.FA.NFL/20231130-212943/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.32.0.95.FA.NFL/20231130-212943/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.32.0.95.FA.NFL/20231130-212943/test_rewards.pkl new file mode 100644 index 00000000..d7ae8a42 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.32.0.95.FA.NFL/20231130-212943/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.32.0.95.FA.NFL/20231130-212943/test_validation_success.pkl b/experiments/learning_curves/slow_agent.50.0.01.32.0.95.FA.NFL/20231130-212943/test_validation_success.pkl new file mode 100644 index 00000000..8443820b Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.32.0.95.FA.NFL/20231130-212943/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.64.1.0.FA.NFL/20231130-212948/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.64.1.0.FA.NFL/20231130-212948/test_agrewards.pkl new file mode 100644 index 00000000..ceddc93e Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.64.1.0.FA.NFL/20231130-212948/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.64.1.0.FA.NFL/20231130-212948/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01.64.1.0.FA.NFL/20231130-212948/test_rewards.pkl new file mode 100644 index 00000000..8d378133 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.64.1.0.FA.NFL/20231130-212948/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01.64.1.0.FA.NFL/20231130-212948/test_validation_success.pkl b/experiments/learning_curves/slow_agent.50.0.01.64.1.0.FA.NFL/20231130-212948/test_validation_success.pkl new file mode 100644 index 00000000..31c0932b Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01.64.1.0.FA.NFL/20231130-212948/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01/20231116-100830/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01/20231116-100830/test_agrewards.pkl new file mode 100644 index 00000000..faf88b15 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01/20231116-100830/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01/20231116-100830/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01/20231116-100830/test_rewards.pkl new file mode 100644 index 00000000..0856ba6b Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01/20231116-100830/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01/20231116-101035/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.01/20231116-101035/test_agrewards.pkl new file mode 100644 index 00000000..db650e87 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01/20231116-101035/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.01/20231116-101035/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.01/20231116-101035/test_rewards.pkl new file mode 100644 index 00000000..9af004a7 Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.01/20231116-101035/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.1.NFA.NFL/20231124-141343/test_agrewards.pkl b/experiments/learning_curves/slow_agent.50.0.1.NFA.NFL/20231124-141343/test_agrewards.pkl new file mode 100644 index 00000000..cedb27bd Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.1.NFA.NFL/20231124-141343/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.50.0.1.NFA.NFL/20231124-141343/test_rewards.pkl b/experiments/learning_curves/slow_agent.50.0.1.NFA.NFL/20231124-141343/test_rewards.pkl new file mode 100644 index 00000000..f323c14c Binary files /dev/null and b/experiments/learning_curves/slow_agent.50.0.1.NFA.NFL/20231124-141343/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.75.0.01.FA.NFL/20231116-120155/test_agrewards.pkl b/experiments/learning_curves/slow_agent.75.0.01.FA.NFL/20231116-120155/test_agrewards.pkl new file mode 100644 index 00000000..36c4c049 Binary files /dev/null and b/experiments/learning_curves/slow_agent.75.0.01.FA.NFL/20231116-120155/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.75.0.01.FA.NFL/20231116-120155/test_rewards.pkl b/experiments/learning_curves/slow_agent.75.0.01.FA.NFL/20231116-120155/test_rewards.pkl new file mode 100644 index 00000000..2cbcae4c Binary files /dev/null and b/experiments/learning_curves/slow_agent.75.0.01.FA.NFL/20231116-120155/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.75.0.01/20231116-101038/test_agrewards.pkl b/experiments/learning_curves/slow_agent.75.0.01/20231116-101038/test_agrewards.pkl new file mode 100644 index 00000000..7638ae4a Binary files /dev/null and b/experiments/learning_curves/slow_agent.75.0.01/20231116-101038/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent.75.0.01/20231116-101038/test_rewards.pkl b/experiments/learning_curves/slow_agent.75.0.01/20231116-101038/test_rewards.pkl new file mode 100644 index 00000000..d4b272e9 Binary files /dev/null and b/experiments/learning_curves/slow_agent.75.0.01/20231116-101038/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent/20231109-081439/test_agrewards.pkl b/experiments/learning_curves/slow_agent/20231109-081439/test_agrewards.pkl new file mode 100644 index 00000000..cdba6a2d Binary files /dev/null and b/experiments/learning_curves/slow_agent/20231109-081439/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent/20231109-081439/test_rewards.pkl b/experiments/learning_curves/slow_agent/20231109-081439/test_rewards.pkl new file mode 100644 index 00000000..8f9acdd0 Binary files /dev/null and b/experiments/learning_curves/slow_agent/20231109-081439/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent/20231109-102011/test_agrewards.pkl b/experiments/learning_curves/slow_agent/20231109-102011/test_agrewards.pkl new file mode 100644 index 00000000..cb6b658c Binary files /dev/null and b/experiments/learning_curves/slow_agent/20231109-102011/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent/20231109-102011/test_rewards.pkl b/experiments/learning_curves/slow_agent/20231109-102011/test_rewards.pkl new file mode 100644 index 00000000..f7d0fa82 Binary files /dev/null and b/experiments/learning_curves/slow_agent/20231109-102011/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent/20231109-105243/test_agrewards.pkl b/experiments/learning_curves/slow_agent/20231109-105243/test_agrewards.pkl new file mode 100644 index 00000000..58b41446 Binary files /dev/null and b/experiments/learning_curves/slow_agent/20231109-105243/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent/20231109-105243/test_rewards.pkl b/experiments/learning_curves/slow_agent/20231109-105243/test_rewards.pkl new file mode 100644 index 00000000..e721f2fb Binary files /dev/null and b/experiments/learning_curves/slow_agent/20231109-105243/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent/20231114-085739/test_agrewards.pkl b/experiments/learning_curves/slow_agent/20231114-085739/test_agrewards.pkl new file mode 100644 index 00000000..3591edd8 Binary files /dev/null and b/experiments/learning_curves/slow_agent/20231114-085739/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent/20231114-085739/test_rewards.pkl b/experiments/learning_curves/slow_agent/20231114-085739/test_rewards.pkl new file mode 100644 index 00000000..10d4ed3f Binary files /dev/null and b/experiments/learning_curves/slow_agent/20231114-085739/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent/20231114-090554/test_agrewards.pkl b/experiments/learning_curves/slow_agent/20231114-090554/test_agrewards.pkl new file mode 100644 index 00000000..779b0dc3 Binary files /dev/null and b/experiments/learning_curves/slow_agent/20231114-090554/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent/20231114-090554/test_rewards.pkl b/experiments/learning_curves/slow_agent/20231114-090554/test_rewards.pkl new file mode 100644 index 00000000..32662cf6 Binary files /dev/null and b/experiments/learning_curves/slow_agent/20231114-090554/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent/20231114-091043/test_agrewards.pkl b/experiments/learning_curves/slow_agent/20231114-091043/test_agrewards.pkl new file mode 100644 index 00000000..9fcea37e Binary files /dev/null and b/experiments/learning_curves/slow_agent/20231114-091043/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent/20231114-091043/test_rewards.pkl b/experiments/learning_curves/slow_agent/20231114-091043/test_rewards.pkl new file mode 100644 index 00000000..f64c2f3f Binary files /dev/null and b/experiments/learning_curves/slow_agent/20231114-091043/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent/20231114-091657/test_agrewards.pkl b/experiments/learning_curves/slow_agent/20231114-091657/test_agrewards.pkl new file mode 100644 index 00000000..a5d7a106 Binary files /dev/null and b/experiments/learning_curves/slow_agent/20231114-091657/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent/20231114-091657/test_rewards.pkl b/experiments/learning_curves/slow_agent/20231114-091657/test_rewards.pkl new file mode 100644 index 00000000..0e40e1d5 Binary files /dev/null and b/experiments/learning_curves/slow_agent/20231114-091657/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent/20231114-092250/test_agrewards.pkl b/experiments/learning_curves/slow_agent/20231114-092250/test_agrewards.pkl new file mode 100644 index 00000000..a453c3d1 Binary files /dev/null and b/experiments/learning_curves/slow_agent/20231114-092250/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent/20231114-092250/test_rewards.pkl b/experiments/learning_curves/slow_agent/20231114-092250/test_rewards.pkl new file mode 100644 index 00000000..02558ea0 Binary files /dev/null and b/experiments/learning_curves/slow_agent/20231114-092250/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.FL/20231201-090620/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.FL/20231201-090620/test_agrewards.pkl new file mode 100644 index 00000000..219cbcda Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.FL/20231201-090620/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.FL/20231201-090620/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.FL/20231201-090620/test_rewards.pkl new file mode 100644 index 00000000..449f6112 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.FL/20231201-090620/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.FL/20231201-090620/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.FL/20231201-090620/test_validation_success.pkl new file mode 100644 index 00000000..88fdb769 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.FL/20231201-090620/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.FL/20231201-100524/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.FL/20231201-100524/test_agrewards.pkl new file mode 100644 index 00000000..b28df979 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.FL/20231201-100524/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.FL/20231201-100524/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.FL/20231201-100524/test_rewards.pkl new file mode 100644 index 00000000..b243753a Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.FL/20231201-100524/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.FL/20231201-100524/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.FL/20231201-100524/test_validation_success.pkl new file mode 100644 index 00000000..88fdb769 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.FL/20231201-100524/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.NFL/20231201-090603/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.NFL/20231201-090603/test_agrewards.pkl new file mode 100644 index 00000000..475823d5 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.NFL/20231201-090603/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.NFL/20231201-090603/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.NFL/20231201-090603/test_rewards.pkl new file mode 100644 index 00000000..133b4d42 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.NFL/20231201-090603/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.NFL/20231201-090603/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.NFL/20231201-090603/test_validation_success.pkl new file mode 100644 index 00000000..81be86e7 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.FA.NFL/20231201-090603/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.NFA.FL/20231201-090613/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.NFA.FL/20231201-090613/test_agrewards.pkl new file mode 100644 index 00000000..df747abe Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.NFA.FL/20231201-090613/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.NFA.FL/20231201-090613/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.NFA.FL/20231201-090613/test_rewards.pkl new file mode 100644 index 00000000..4fd19774 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.NFA.FL/20231201-090613/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.NFA.FL/20231201-090613/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.NFA.FL/20231201-090613/test_validation_success.pkl new file mode 100644 index 00000000..b0fa6758 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.NFA.FL/20231201-090613/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.NFA.NFL/20231201-090600/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.NFA.NFL/20231201-090600/test_agrewards.pkl new file mode 100644 index 00000000..dfa58b3d Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.NFA.NFL/20231201-090600/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.NFA.NFL/20231201-090600/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.NFA.NFL/20231201-090600/test_rewards.pkl new file mode 100644 index 00000000..5aaed166 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.NFA.NFL/20231201-090600/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.NFA.NFL/20231201-090600/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.NFA.NFL/20231201-090600/test_validation_success.pkl new file mode 100644 index 00000000..40dc6ded Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.50.0.01.128.1.0.NFA.NFL/20231201-090600/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231203-124016/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231203-124016/test_agrewards.pkl new file mode 100644 index 00000000..2bfec10e Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231203-124016/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231203-124016/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231203-124016/test_rewards.pkl new file mode 100644 index 00000000..4c3d588d Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231203-124016/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231203-124016/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231203-124016/test_validation_success.pkl new file mode 100644 index 00000000..88fdb769 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231203-124016/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231203-163500/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231203-163500/test_agrewards.pkl new file mode 100644 index 00000000..da6709ab Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231203-163500/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231203-163500/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231203-163500/test_rewards.pkl new file mode 100644 index 00000000..3b215646 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231203-163500/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231203-163500/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231203-163500/test_validation_success.pkl new file mode 100644 index 00000000..88fdb769 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231203-163500/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231207-214348/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231207-214348/test_agrewards.pkl new file mode 100644 index 00000000..889dd2f4 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231207-214348/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231207-214348/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231207-214348/test_rewards.pkl new file mode 100644 index 00000000..ac40c03f Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231207-214348/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231207-214348/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231207-214348/test_validation_success.pkl new file mode 100644 index 00000000..14ffa972 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231207-214348/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231208-085034/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231208-085034/test_agrewards.pkl new file mode 100644 index 00000000..56cea6b1 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231208-085034/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231208-085034/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231208-085034/test_rewards.pkl new file mode 100644 index 00000000..e6dd19ee Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231208-085034/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231208-085034/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231208-085034/test_validation_success.pkl new file mode 100644 index 00000000..4eddb22a Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1.75.0.01.128.1.0.FA.FL/20231208-085034/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R1.50.0.01.128.1.0.FA.FL/20231201-100534/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1_R1.50.0.01.128.1.0.FA.FL/20231201-100534/test_agrewards.pkl new file mode 100644 index 00000000..5fa78e02 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R1.50.0.01.128.1.0.FA.FL/20231201-100534/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R1.50.0.01.128.1.0.FA.FL/20231201-100534/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1_R1.50.0.01.128.1.0.FA.FL/20231201-100534/test_rewards.pkl new file mode 100644 index 00000000..667e1194 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R1.50.0.01.128.1.0.FA.FL/20231201-100534/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R1.50.0.01.128.1.0.FA.FL/20231201-100534/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1_R1.50.0.01.128.1.0.FA.FL/20231201-100534/test_validation_success.pkl new file mode 100644 index 00000000..88fdb769 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R1.50.0.01.128.1.0.FA.FL/20231201-100534/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231203-124018/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231203-124018/test_agrewards.pkl new file mode 100644 index 00000000..3bc65033 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231203-124018/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231203-124018/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231203-124018/test_rewards.pkl new file mode 100644 index 00000000..2a6fa30b Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231203-124018/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231203-124018/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231203-124018/test_validation_success.pkl new file mode 100644 index 00000000..88fdb769 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231203-124018/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231203-163504/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231203-163504/test_agrewards.pkl new file mode 100644 index 00000000..7b0a4072 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231203-163504/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231203-163504/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231203-163504/test_rewards.pkl new file mode 100644 index 00000000..0c222dbb Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231203-163504/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231203-163504/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231203-163504/test_validation_success.pkl new file mode 100644 index 00000000..88fdb769 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231203-163504/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231207-214354/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231207-214354/test_agrewards.pkl new file mode 100644 index 00000000..95755686 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231207-214354/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231207-214354/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231207-214354/test_rewards.pkl new file mode 100644 index 00000000..bdf8a687 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231207-214354/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231207-214354/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231207-214354/test_validation_success.pkl new file mode 100644 index 00000000..88fdb769 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231207-214354/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231208-085039/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231208-085039/test_agrewards.pkl new file mode 100644 index 00000000..86c4d098 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231208-085039/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231208-085039/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231208-085039/test_rewards.pkl new file mode 100644 index 00000000..20847774 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231208-085039/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231208-085039/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231208-085039/test_validation_success.pkl new file mode 100644 index 00000000..d7f85f08 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R1.75.0.01.128.1.0.FA.FL/20231208-085039/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R2.50.0.01.128.1.0.FA.FL/20231201-100542/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1_R2.50.0.01.128.1.0.FA.FL/20231201-100542/test_agrewards.pkl new file mode 100644 index 00000000..1d0b0149 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R2.50.0.01.128.1.0.FA.FL/20231201-100542/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R2.50.0.01.128.1.0.FA.FL/20231201-100542/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1_R2.50.0.01.128.1.0.FA.FL/20231201-100542/test_rewards.pkl new file mode 100644 index 00000000..9e5c114c Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R2.50.0.01.128.1.0.FA.FL/20231201-100542/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R2.50.0.01.128.1.0.FA.FL/20231201-100542/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1_R2.50.0.01.128.1.0.FA.FL/20231201-100542/test_validation_success.pkl new file mode 100644 index 00000000..88fdb769 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R2.50.0.01.128.1.0.FA.FL/20231201-100542/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231203-124023/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231203-124023/test_agrewards.pkl new file mode 100644 index 00000000..9bc332ee Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231203-124023/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231203-124023/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231203-124023/test_rewards.pkl new file mode 100644 index 00000000..a7e1ee2d Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231203-124023/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231203-124023/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231203-124023/test_validation_success.pkl new file mode 100644 index 00000000..88fdb769 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231203-124023/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231203-163509/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231203-163509/test_agrewards.pkl new file mode 100644 index 00000000..b1bd54a3 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231203-163509/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231203-163509/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231203-163509/test_rewards.pkl new file mode 100644 index 00000000..04c6f3b0 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231203-163509/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231203-163509/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231203-163509/test_validation_success.pkl new file mode 100644 index 00000000..88fdb769 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231203-163509/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231207-214358/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231207-214358/test_agrewards.pkl new file mode 100644 index 00000000..746d7e16 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231207-214358/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231207-214358/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231207-214358/test_rewards.pkl new file mode 100644 index 00000000..56da1005 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231207-214358/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231207-214358/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231207-214358/test_validation_success.pkl new file mode 100644 index 00000000..88fdb769 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231207-214358/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231208-085030/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231208-085030/test_agrewards.pkl new file mode 100644 index 00000000..764da814 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231208-085030/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231208-085030/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231208-085030/test_rewards.pkl new file mode 100644 index 00000000..eb2d341c Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231208-085030/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231208-085030/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231208-085030/test_validation_success.pkl new file mode 100644 index 00000000..75e11129 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R2.75.0.01.128.1.0.FA.FL/20231208-085030/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231203-124027/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231203-124027/test_agrewards.pkl new file mode 100644 index 00000000..a487f071 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231203-124027/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231203-124027/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231203-124027/test_rewards.pkl new file mode 100644 index 00000000..cc142a52 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231203-124027/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231203-124027/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231203-124027/test_validation_success.pkl new file mode 100644 index 00000000..88fdb769 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231203-124027/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231203-163512/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231203-163512/test_agrewards.pkl new file mode 100644 index 00000000..5dddf29b Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231203-163512/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231203-163512/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231203-163512/test_rewards.pkl new file mode 100644 index 00000000..aa7519db Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231203-163512/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231203-163512/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231203-163512/test_validation_success.pkl new file mode 100644 index 00000000..88fdb769 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231203-163512/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231207-214402/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231207-214402/test_agrewards.pkl new file mode 100644 index 00000000..a5055116 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231207-214402/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231207-214402/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231207-214402/test_rewards.pkl new file mode 100644 index 00000000..e2993537 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231207-214402/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231207-214402/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231207-214402/test_validation_success.pkl new file mode 100644 index 00000000..88fdb769 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231207-214402/test_validation_success.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231208-085028/test_agrewards.pkl b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231208-085028/test_agrewards.pkl new file mode 100644 index 00000000..39f0bdd2 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231208-085028/test_agrewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231208-085028/test_rewards.pkl b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231208-085028/test_rewards.pkl new file mode 100644 index 00000000..a84fbfe8 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231208-085028/test_rewards.pkl differ diff --git a/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231208-085028/test_validation_success.pkl b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231208-085028/test_validation_success.pkl new file mode 100644 index 00000000..88fdb769 Binary files /dev/null and b/experiments/learning_curves/slow_agent_I1_R3.75.0.01.128.1.0.FA.FL/20231208-085028/test_validation_success.pkl differ diff --git a/experiments/practiceMaMuJuCo.ipynb b/experiments/practiceMaMuJuCo.ipynb new file mode 100644 index 00000000..d2be8425 --- /dev/null +++ b/experiments/practiceMaMuJuCo.ipynb @@ -0,0 +1,190 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "initial_id", + "metadata": { + "collapsed": true, + "ExecuteTime": { + "end_time": "2024-02-27T19:09:05.960802362Z", + "start_time": "2024-02-27T19:09:05.820538425Z" + } + }, + "outputs": [], + "source": [ + "# from gymnasium_robotics.mamujoco_v0 import get_parts_and_edges\n", + "import gymnasium_robotics\n", + "import numpy as np \n", + "import time" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "outputs": [], + "source": [ + "unpartioned_nodes, edges, global_nodes = gymnasium_robotics.mamujoco_v0.get_parts_and_edges('Ant-v4', None)" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-02-27T19:09:07.033202925Z", + "start_time": "2024-02-27T19:09:07.015106306Z" + } + }, + "id": "975a7ce0136d9f95" + }, + { + "cell_type": "code", + "execution_count": 3, + "outputs": [], + "source": [ + "partioned_nodes = [(unpartioned_nodes[0][0],), (unpartioned_nodes[0][1],), (unpartioned_nodes[0][2],), (unpartioned_nodes[0][3],), (unpartioned_nodes[0][4],), (unpartioned_nodes[0][5],), (unpartioned_nodes[0][6],), (unpartioned_nodes[0][7],)]" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-02-27T19:09:08.196621452Z", + "start_time": "2024-02-27T19:09:08.194868119Z" + } + }, + "id": "ab6afb4f174d5f5a" + }, + { + "cell_type": "code", + "execution_count": 4, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/pearl0/miniconda3/envs/MMJC-maddpg/lib/python3.9/site-packages/gymnasium/core.py:311: UserWarning: \u001B[33mWARN: env.data to get variables from other wrappers is deprecated and will be removed in v1.0, to get this variable you can do `env.unwrapped.data` for environment variables or `env.get_wrapper_attr('data')` that will search the reminding wrappers.\u001B[0m\n", + " logger.warn(\n", + "/home/pearl0/miniconda3/envs/MMJC-maddpg/lib/python3.9/site-packages/pettingzoo/utils/conversions.py:252: UserWarning: The base environment `MaMuJoCo` does not have a `render_mode` defined.\n", + " warnings.warn(\n" + ] + } + ], + "source": [ + "my_agent_factorization = {\"partition\": partioned_nodes, \"edges\": edges, \"globals\": global_nodes}\n", + "env = gymnasium_robotics.mamujoco_v0.env(scenario='Ant', agent_conf ='8x1', agent_factorization=my_agent_factorization)" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-02-27T19:09:08.866875517Z", + "start_time": "2024-02-27T19:09:08.851406976Z" + } + }, + "id": "156a332f70396473" + }, + { + "cell_type": "code", + "execution_count": 5, + "outputs": [], + "source": [ + "env.reset()" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-02-27T19:09:24.335755151Z", + "start_time": "2024-02-27T19:09:24.324248276Z" + } + }, + "id": "6448f0989fa52cbc" + }, + { + "cell_type": "code", + "execution_count": 6, + "outputs": [], + "source": [ + "env.step([0,0,0,0,0,0,0,0])" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-02-27T19:09:24.714194215Z", + "start_time": "2024-02-27T19:09:24.708035990Z" + } + }, + "id": "50bf02182fec9192" + }, + { + "cell_type": "code", + "execution_count": 7, + "outputs": [ + { + "ename": "ModuleNotFoundError", + "evalue": "No module named 'torch'", + "output_type": "error", + "traceback": [ + "\u001B[0;31m---------------------------------------------------------------------------\u001B[0m", + "\u001B[0;31mModuleNotFoundError\u001B[0m Traceback (most recent call last)", + "Cell \u001B[0;32mIn[7], line 1\u001B[0m\n\u001B[0;32m----> 1\u001B[0m \u001B[38;5;28;01mimport\u001B[39;00m \u001B[38;5;21;01mtorch\u001B[39;00m\n\u001B[1;32m 4\u001B[0m eval_env \u001B[38;5;241m=\u001B[39m gymnasium_robotics\u001B[38;5;241m.\u001B[39mmamujoco_v0\u001B[38;5;241m.\u001B[39menv(scenario\u001B[38;5;241m=\u001B[39m\u001B[38;5;124m'\u001B[39m\u001B[38;5;124mAnt\u001B[39m\u001B[38;5;124m'\u001B[39m, agent_conf \u001B[38;5;241m=\u001B[39m\u001B[38;5;124m'\u001B[39m\u001B[38;5;124m8x1\u001B[39m\u001B[38;5;124m'\u001B[39m, agent_factorization\u001B[38;5;241m=\u001B[39mmy_agent_factorization)\n\u001B[1;32m 5\u001B[0m eval_episodes \u001B[38;5;241m=\u001B[39m \u001B[38;5;241m10\u001B[39m\n", + "\u001B[0;31mModuleNotFoundError\u001B[0m: No module named 'torch'" + ] + } + ], + "source": [ + "import torch\n", + "\n", + "\n", + "eval_env = gymnasium_robotics.mamujoco_v0.env(scenario='Ant', agent_conf ='8x1', agent_factorization=my_agent_factorization)\n", + "eval_episodes = 10\n", + "total_return = 0\n", + "for i in range(eval_episodes):\n", + " cur_state_dict = eval_env.reset()[0]\n", + " terminated, truncated = 0, 0\n", + " while not (terminated or truncated):\n", + " cur_state = [torch.tensor(local_state, dtype=torch.float32, device=TORCH_DEVICE) for local_state in cur_state_dict.values()]\n", + " actions = model.query_actor(cur_state, add_noise=False)\n", + " actions_dict_numpy = {eval_env.possible_agents[agent_id]: actions[agent_id].tolist() for agent_id in range(len(eval_env.possible_agents))}\n", + " cur_state_dict, reward_dict, is_terminal_dict, is_truncated_dict, info_dict = eval_env.step(actions_dict_numpy)\n", + " total_return += reward_dict['agent_0']\n", + " terminated = is_terminal_dict['agent_0']\n", + " truncated = is_truncated_dict['agent_0']\n" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-02-27T19:09:28.005679841Z", + "start_time": "2024-02-27T19:09:27.639019224Z" + } + }, + "id": "8adc38e28ae8189b" + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [], + "metadata": { + "collapsed": false + }, + "id": "8db472f43fc02be7" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/experiments/req.txt b/experiments/req.txt new file mode 100644 index 00000000..49fdf513 --- /dev/null +++ b/experiments/req.txt @@ -0,0 +1,199 @@ +# This file may be used to create an environment using: +# $ conda create --name --file +# platform: osx-64 +absl-py=2.0.0=pypi_0 +anyio=3.5.0=py37hecd8cb5_0 +appnope=0.1.2=py37hecd8cb5_1001 +argon2-cffi=20.1.0=py37h9ed2024_1 +astor=0.8.1=pypi_0 +attrs=22.1.0=py37hecd8cb5_0 +babel=2.11.0=py37hecd8cb5_0 +backcall=0.2.0=pyhd3eb1b0_0 +beautifulsoup4=4.11.1=py37hecd8cb5_0 +blas=1.0=mkl +bleach=4.1.0=pyhd3eb1b0_0 +brotli=1.0.9=hca72f7f_7 +brotli-bin=1.0.9=hca72f7f_7 +brotlipy=0.7.0=py37h9ed2024_1003 +ca-certificates=2023.08.22=hecd8cb5_0 +certifi=2022.12.7=py37hecd8cb5_0 +cffi=1.15.1=py37h6c40b1e_3 +charset-normalizer=3.3.1=pypi_0 +cloudpickle=2.2.1=pypi_0 +cryptography=39.0.1=py37hf6deb26_0 +cycler=0.11.0=pyhd3eb1b0_0 +cyrus-sasl=2.1.28=h9b9944d_1 +debugpy=1.5.1=py37he9d5cce_0 +decorator=5.1.1=pyhd3eb1b0_0 +defusedxml=0.7.1=pyhd3eb1b0_0 +entrypoints=0.4=py37hecd8cb5_0 +farama-notifications=0.0.4=pypi_0 +flit-core=3.6.0=pyhd3eb1b0_0 +fonttools=4.25.0=pyhd3eb1b0_0 +freetype=2.12.1=hd8bbffd_0 +gast=0.5.4=pypi_0 +gettext=0.21.0=he85b6c0_1 +giflib=5.2.1=h6c40b1e_3 +glfw=2.6.4=pypi_0 +glib=2.69.1=hfff2838_2 +grpcio=1.59.0=pypi_0 +gst-plugins-base=1.14.1=hcec6c5f_1 +gstreamer=1.14.1=h6c40b1e_1 +gym=0.10.5=pypi_0 +gymnasium=0.28.1=pypi_0 +h5py=3.8.0=pypi_0 +icu=58.2=h0a44026_3 +idna=3.4=py37hecd8cb5_0 +imageio=2.31.2=pypi_0 +importlib-metadata=6.7.0=pypi_0 +importlib_metadata=4.11.3=hd3eb1b0_0 +importlib_resources=5.2.0=pyhd3eb1b0_1 +intel-openmp=2021.4.0=hecd8cb5_3538 +ipykernel=6.15.2=py37hecd8cb5_0 +ipython=7.31.1=py37hecd8cb5_1 +ipython_genutils=0.2.0=pyhd3eb1b0_1 +ipywidgets=7.6.5=pyhd3eb1b0_1 +jax-jumpy=1.0.0=pypi_0 +jedi=0.18.1=py37hecd8cb5_1 +jinja2=3.1.2=py37hecd8cb5_0 +jpeg=9e=h6c40b1e_1 +json5=0.9.6=pyhd3eb1b0_0 +jsonschema=4.17.3=py37hecd8cb5_0 +jupyter=1.0.0=py37hecd8cb5_8 +jupyter_client=7.4.9=py37hecd8cb5_0 +jupyter_console=6.4.4=py37hecd8cb5_0 +jupyter_core=4.11.2=py37hecd8cb5_0 +jupyter_server=1.23.4=py37hecd8cb5_0 +jupyterlab=3.5.3=py37hecd8cb5_0 +jupyterlab_pygments=0.1.2=py_0 +jupyterlab_server=2.19.0=py37hecd8cb5_0 +jupyterlab_widgets=1.0.0=pyhd3eb1b0_1 +keras-applications=1.0.8=pypi_0 +keras-preprocessing=1.1.2=pypi_0 +kiwisolver=1.4.4=py37hcec6c5f_0 +krb5=1.20.1=hdba6334_1 +lcms2=2.12=hf1fd2bf_0 +lerc=3.0=he9d5cce_0 +libbrotlicommon=1.0.9=hca72f7f_7 +libbrotlidec=1.0.9=hca72f7f_7 +libbrotlienc=1.0.9=hca72f7f_7 +libclang=14.0.6=default_hd95374b_1 +libclang13=14.0.6=default_habbcc1a_1 +libcxx=14.0.6=h9765a3e_0 +libdeflate=1.17=hb664fd8_1 +libedit=3.1.20221030=h6c40b1e_0 +libffi=3.4.4=hecd8cb5_0 +libiconv=1.16=hca72f7f_2 +libllvm14=14.0.6=h91fad77_3 +libpng=1.6.39=h6c40b1e_0 +libpq=12.15=hdb2fb19_1 +libsodium=1.0.18=h1de35cc_0 +libtiff=4.5.1=hcec6c5f_0 +libwebp=1.3.2=hf6ce154_0 +libwebp-base=1.3.2=h6c40b1e_0 +libxml2=2.10.4=h930c0e2_0 +libxslt=1.1.37=h6d1eb0e_0 +llvm-openmp=14.0.6=h0dcd299_0 +lz4-c=1.9.4=hcec6c5f_0 +maddpg=0.0.1=dev_0 +markdown=3.4.4=pypi_0 +markupsafe=2.1.3=pypi_0 +matplotlib=3.5.3=py37hecd8cb5_0 +matplotlib-base=3.5.3=py37hfb0c5b7_0 +matplotlib-inline=0.1.6=py37hecd8cb5_0 +mistune=0.8.4=py37h1de35cc_0 +mkl=2021.4.0=hecd8cb5_637 +mkl-service=2.4.0=py37h9ed2024_0 +mkl_fft=1.3.1=py37h4ab4a9b_0 +mkl_random=1.2.2=py37hb2f4e1b_0 +mock=5.1.0=pypi_0 +mujoco=2.3.6=pypi_0 +multiagent=0.0.1=dev_0 +munkres=1.1.4=py_0 +mysql=5.7.24=h28d6cec_2 +nbclassic=0.5.2=py37hecd8cb5_0 +nbclient=0.5.13=py37hecd8cb5_0 +nbconvert=6.4.4=py37hecd8cb5_0 +nbformat=5.7.0=py37hecd8cb5_0 +ncurses=6.4=hcec6c5f_0 +nest-asyncio=1.5.6=py37hecd8cb5_0 +notebook=6.5.2=py37hecd8cb5_0 +notebook-shim=0.2.2=py37hecd8cb5_0 +numpy=1.16.0=pypi_0 +numpy-base=1.21.5=py37h3b1a694_3 +numpy-stl=3.0.1=pypi_0 +olefile=0.46=py37_0 +openjpeg=2.4.0=h66ea3da_0 +openssl=1.1.1w=hca72f7f_0 +packaging=22.0=py37hecd8cb5_0 +pandocfilters=1.5.0=pyhd3eb1b0_0 +parso=0.8.3=pyhd3eb1b0_0 +pcre=8.45=h23ab428_0 +pettingzoo=1.23.1=pypi_0 +pexpect=4.8.0=pyhd3eb1b0_3 +pickleshare=0.7.5=pyhd3eb1b0_1003 +pillow=9.5.0=pypi_0 +pip=22.3.1=py37hecd8cb5_0 +pkgutil-resolve-name=1.3.10=py37hecd8cb5_0 +ply=3.11=py37_0 +prometheus_client=0.14.1=py37hecd8cb5_0 +prompt-toolkit=3.0.36=py37hecd8cb5_0 +prompt_toolkit=3.0.36=hd3eb1b0_0 +protobuf=3.20.0=pypi_0 +psutil=5.9.0=py37hca72f7f_0 +ptyprocess=0.7.0=pyhd3eb1b0_2 +pycparser=2.21=pyhd3eb1b0_0 +pyglet=1.5.23=pypi_0 +pygments=2.11.2=pyhd3eb1b0_0 +pyopengl=3.1.7=pypi_0 +pyopenssl=23.0.0=py37hecd8cb5_0 +pyparsing=3.0.9=py37hecd8cb5_0 +pyqt=5.15.7=py37he9d5cce_0 +pyqt5-sip=12.11.0=py37he9d5cce_0 +pyrsistent=0.18.0=py37hca72f7f_0 +pysocks=1.7.1=py37hecd8cb5_0 +python=3.7.16=h218abb5_0 +python-dateutil=2.8.2=pyhd3eb1b0_0 +python-fastjsonschema=2.16.2=py37hecd8cb5_0 +python-utils=3.5.2=pypi_0 +pytz=2022.7=py37hecd8cb5_0 +pyzmq=23.2.0=py37he9d5cce_0 +qt-main=5.15.2=h51e0635_9 +qt-webengine=5.15.9=h90a370e_7 +qtconsole=5.4.0=py37hecd8cb5_0 +qtpy=2.2.0=py37hecd8cb5_0 +qtwebkit=5.212=hbfab81c_5 +readline=8.2=hca72f7f_0 +requests=2.31.0=pypi_0 +send2trash=1.8.0=pyhd3eb1b0_1 +setuptools=65.6.3=py37hecd8cb5_0 +sip=6.6.2=py37he9d5cce_0 +six=1.16.0=pyhd3eb1b0_1 +sniffio=1.2.0=py37hecd8cb5_1 +soupsieve=2.3.2.post1=py37hecd8cb5_0 +sqlite=3.41.2=h6c40b1e_0 +tensorboard=1.13.1=pypi_0 +tensorflow=1.13.2=pypi_0 +tensorflow-estimator=1.13.0=pypi_0 +termcolor=2.3.0=pypi_0 +terminado=0.17.1=py37hecd8cb5_0 +testpath=0.6.0=py37hecd8cb5_0 +tk=8.6.12=h5d9f67b_0 +toml=0.10.2=pyhd3eb1b0_0 +tomli=2.0.1=py37hecd8cb5_0 +tornado=6.2=py37hca72f7f_0 +traitlets=5.7.1=py37hecd8cb5_0 +typing-extensions=4.7.1=pypi_0 +typing_extensions=4.4.0=py37hecd8cb5_0 +urllib3=2.0.7=pypi_0 +wcwidth=0.2.5=pyhd3eb1b0_0 +webencodings=0.5.1=py37_1 +websocket-client=0.58.0=py37hecd8cb5_4 +werkzeug=2.2.3=pypi_0 +wheel=0.38.4=py37hecd8cb5_0 +widgetsnbextension=3.5.2=py37hecd8cb5_0 +xz=5.4.2=h6c40b1e_0 +zeromq=4.3.4=h23ab428_0 +zipp=3.15.0=pypi_0 +zlib=1.2.13=h4dc903c_0 +zstd=1.5.5=hc035e20_0 diff --git a/experiments/run.sh b/experiments/run.sh new file mode 100644 index 00000000..7d8ed3fc --- /dev/null +++ b/experiments/run.sh @@ -0,0 +1,23 @@ +#!/bin/bash + + +# Function to train a model with a given configuration +bash ./Ant_mal.sh +#bash ./Cheetah.sh + +# Training models with different configurations +#train_model ./configs/ant_config_2.yaml ./train_mujuco.py ./learning_curves/Ant.4x2.0.001.350.0.99/ ./tmp/policy/Ant.4x2.0.001.350.0.99/ +#train_model ./configs/ant_config_4.yaml ./train_mujuco.py ./learning_curves/Ant.2x4.0.001.350.0.99/ ./tmp/policy/Ant.2x4.0.001.350.0.99/ +# +## Train malfunction +#train_model ./configs/ant_config_2.yaml ./train_mujuco_malfunction.py ./learning_curves/Ant.4x2.0.001.350.0.99/malfunction/ ./tmp/policy/Ant.4x2.0.001.350.0.99malfunction/ +#train_model ./configs/ant_config_4.yaml ./train_mujuco_malfunction.py ./learning_curves/Ant.2x4.0.001.350.0.99/malfunction/ ./tmp/policy/Ant.2x4.0.001.350.0.99malfunction/ +# +# +#train_model ./configs/cheetah_config_3.yaml ./train_mujuco.py ./learning_curves/HalfCheetah.2x3.0.001.350.0.99/ ./tmp/policy/HalfCheetah.2x3.0.001.350.0.99/ +#train_model ./configs/cheetah_config_6.yaml ./train_mujuco.py ./learning_curves/HalfCheetah.6x1.0.001.350.0.99/ ./tmp/policy/HalfCheetah.6x1.0.001.350.0.99/ +#train_model ./configs/humanoid_config.yaml ./train_mujuco.py ./learning_curves/HumanoidStandup.9x8.0.001.350.0.99/ ./tmp/policy/HumanoidStandup.9x8.0.001.350.0.99/ +#train_model ./configs/humanoidstandup_config.yaml ./train_mujuco.py ./learning_curves/Humanoid.9x8.0.001.350.0.99/ ./tmp/policy/Humanoid.9x8.0.001.350.0.99/ + +# Shutdown the system +#sudo shutdown -h now \ No newline at end of file diff --git a/experiments/tmp/policy/.data-00000-of-00001 b/experiments/tmp/policy/.data-00000-of-00001 new file mode 100644 index 00000000..777047c4 Binary files /dev/null and b/experiments/tmp/policy/.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/.index b/experiments/tmp/policy/.index new file mode 100644 index 00000000..e3b0f486 Binary files /dev/null and b/experiments/tmp/policy/.index differ diff --git a/experiments/tmp/policy/.meta b/experiments/tmp/policy/.meta new file mode 100644 index 00000000..34b75d15 Binary files /dev/null and b/experiments/tmp/policy/.meta differ diff --git a/experiments/tmp/policy/20240113-124007/20240113-124007.data-00000-of-00001 b/experiments/tmp/policy/20240113-124007/20240113-124007.data-00000-of-00001 new file mode 100644 index 00000000..8fe036a5 Binary files /dev/null and b/experiments/tmp/policy/20240113-124007/20240113-124007.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/20240113-124007/20240113-124007.index b/experiments/tmp/policy/20240113-124007/20240113-124007.index new file mode 100644 index 00000000..ba78707d Binary files /dev/null and b/experiments/tmp/policy/20240113-124007/20240113-124007.index differ diff --git a/experiments/tmp/policy/20240113-124007/20240113-124007.meta b/experiments/tmp/policy/20240113-124007/20240113-124007.meta new file mode 100644 index 00000000..34b75d15 Binary files /dev/null and b/experiments/tmp/policy/20240113-124007/20240113-124007.meta differ diff --git a/experiments/tmp/policy/20240113-124007/checkpoint b/experiments/tmp/policy/20240113-124007/checkpoint new file mode 100644 index 00000000..0fb128d2 --- /dev/null +++ b/experiments/tmp/policy/20240113-124007/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240113-124007" +all_model_checkpoint_paths: "20240113-124007" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240111-085309/20240111-085309.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240111-085309/20240111-085309.data-00000-of-00001 new file mode 100644 index 00000000..bc215fb0 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240111-085309/20240111-085309.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240111-085309/20240111-085309.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240111-085309/20240111-085309.index new file mode 100644 index 00000000..da622306 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240111-085309/20240111-085309.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240111-085309/20240111-085309.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240111-085309/20240111-085309.meta new file mode 100644 index 00000000..34b75d15 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240111-085309/20240111-085309.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240111-085309/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240111-085309/checkpoint new file mode 100644 index 00000000..a9f1d7ff --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240111-085309/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240111-085309" +all_model_checkpoint_paths: "20240111-085309" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-122258/20240113-122258.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-122258/20240113-122258.data-00000-of-00001 new file mode 100644 index 00000000..1b1ff52c Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-122258/20240113-122258.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-122258/20240113-122258.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-122258/20240113-122258.index new file mode 100644 index 00000000..93414ccb Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-122258/20240113-122258.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-122258/20240113-122258.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-122258/20240113-122258.meta new file mode 100644 index 00000000..34b75d15 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-122258/20240113-122258.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-122258/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-122258/checkpoint new file mode 100644 index 00000000..f9517edd --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-122258/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240113-122258" +all_model_checkpoint_paths: "20240113-122258" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-125004/20240113-125004.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-125004/20240113-125004.data-00000-of-00001 new file mode 100644 index 00000000..28068a78 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-125004/20240113-125004.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-125004/20240113-125004.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-125004/20240113-125004.index new file mode 100644 index 00000000..c620741c Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-125004/20240113-125004.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-125004/20240113-125004.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-125004/20240113-125004.meta new file mode 100644 index 00000000..34b75d15 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-125004/20240113-125004.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-125004/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-125004/checkpoint new file mode 100644 index 00000000..efcc92be --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-125004/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240113-125004" +all_model_checkpoint_paths: "20240113-125004" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-131428/20240113-131428.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-131428/20240113-131428.data-00000-of-00001 new file mode 100644 index 00000000..5b7ba8ce Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-131428/20240113-131428.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-131428/20240113-131428.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-131428/20240113-131428.index new file mode 100644 index 00000000..754e5602 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-131428/20240113-131428.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-131428/20240113-131428.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-131428/20240113-131428.meta new file mode 100644 index 00000000..34b75d15 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-131428/20240113-131428.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-131428/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-131428/checkpoint new file mode 100644 index 00000000..a5a5095d --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-131428/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240113-131428" +all_model_checkpoint_paths: "20240113-131428" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134856/20240113-134856.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134856/20240113-134856.data-00000-of-00001 new file mode 100644 index 00000000..f570d022 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134856/20240113-134856.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134856/20240113-134856.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134856/20240113-134856.index new file mode 100644 index 00000000..52d531eb Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134856/20240113-134856.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134856/20240113-134856.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134856/20240113-134856.meta new file mode 100644 index 00000000..34b75d15 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134856/20240113-134856.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134856/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134856/checkpoint new file mode 100644 index 00000000..10f67c5f --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134856/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240113-134856" +all_model_checkpoint_paths: "20240113-134856" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134920/20240113-134920.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134920/20240113-134920.data-00000-of-00001 new file mode 100644 index 00000000..4d33eb0c Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134920/20240113-134920.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134920/20240113-134920.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134920/20240113-134920.index new file mode 100644 index 00000000..73c3cacb Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134920/20240113-134920.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134920/20240113-134920.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134920/20240113-134920.meta new file mode 100644 index 00000000..34b75d15 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134920/20240113-134920.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134920/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134920/checkpoint new file mode 100644 index 00000000..5b0bb8c1 --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134920/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240113-134920" +all_model_checkpoint_paths: "20240113-134920" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134942/20240113-134942.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134942/20240113-134942.data-00000-of-00001 new file mode 100644 index 00000000..75473efa Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134942/20240113-134942.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134942/20240113-134942.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134942/20240113-134942.index new file mode 100644 index 00000000..bdd17c85 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134942/20240113-134942.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134942/20240113-134942.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134942/20240113-134942.meta new file mode 100644 index 00000000..34b75d15 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134942/20240113-134942.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134942/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134942/checkpoint new file mode 100644 index 00000000..b8471f6d --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-134942/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240113-134942" +all_model_checkpoint_paths: "20240113-134942" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-135254/20240113-135254.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-135254/20240113-135254.data-00000-of-00001 new file mode 100644 index 00000000..4b695710 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-135254/20240113-135254.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-135254/20240113-135254.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-135254/20240113-135254.index new file mode 100644 index 00000000..9fa1400d Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-135254/20240113-135254.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-135254/20240113-135254.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-135254/20240113-135254.meta new file mode 100644 index 00000000..34b75d15 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-135254/20240113-135254.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-135254/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-135254/checkpoint new file mode 100644 index 00000000..1f72ffbb --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-135254/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240113-135254" +all_model_checkpoint_paths: "20240113-135254" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-140132/20240113-140132.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-140132/20240113-140132.data-00000-of-00001 new file mode 100644 index 00000000..362d8519 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-140132/20240113-140132.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-140132/20240113-140132.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-140132/20240113-140132.index new file mode 100644 index 00000000..042a0404 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-140132/20240113-140132.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-140132/20240113-140132.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-140132/20240113-140132.meta new file mode 100644 index 00000000..34b75d15 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-140132/20240113-140132.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-140132/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-140132/checkpoint new file mode 100644 index 00000000..b54ac728 --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240113-140132/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240113-140132" +all_model_checkpoint_paths: "20240113-140132" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085804/20240115-085804.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085804/20240115-085804.data-00000-of-00001 new file mode 100644 index 00000000..b56fe6a3 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085804/20240115-085804.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085804/20240115-085804.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085804/20240115-085804.index new file mode 100644 index 00000000..e7bb2f9f Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085804/20240115-085804.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085804/20240115-085804.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085804/20240115-085804.meta new file mode 100644 index 00000000..34b75d15 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085804/20240115-085804.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085804/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085804/checkpoint new file mode 100644 index 00000000..a5e8398c --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085804/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240115-085804" +all_model_checkpoint_paths: "20240115-085804" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085821/20240115-085821.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085821/20240115-085821.data-00000-of-00001 new file mode 100644 index 00000000..9ad3c683 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085821/20240115-085821.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085821/20240115-085821.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085821/20240115-085821.index new file mode 100644 index 00000000..fdd7444a Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085821/20240115-085821.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085821/20240115-085821.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085821/20240115-085821.meta new file mode 100644 index 00000000..34b75d15 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085821/20240115-085821.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085821/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085821/checkpoint new file mode 100644 index 00000000..561fa205 --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240115-085821/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240115-085821" +all_model_checkpoint_paths: "20240115-085821" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240118-141112/20240118-141112.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240118-141112/20240118-141112.data-00000-of-00001 new file mode 100644 index 00000000..01d4e4dc Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240118-141112/20240118-141112.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240118-141112/20240118-141112.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240118-141112/20240118-141112.index new file mode 100644 index 00000000..741fd891 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240118-141112/20240118-141112.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240118-141112/20240118-141112.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240118-141112/20240118-141112.meta new file mode 100644 index 00000000..34b75d15 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240118-141112/20240118-141112.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240118-141112/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240118-141112/checkpoint new file mode 100644 index 00000000..c1eb11a7 --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240118-141112/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240118-141112" +all_model_checkpoint_paths: "20240118-141112" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-084128/20240119-084128.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-084128/20240119-084128.data-00000-of-00001 new file mode 100644 index 00000000..c6dd3a38 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-084128/20240119-084128.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-084128/20240119-084128.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-084128/20240119-084128.index new file mode 100644 index 00000000..729008a3 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-084128/20240119-084128.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-084128/20240119-084128.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-084128/20240119-084128.meta new file mode 100644 index 00000000..168c80bc Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-084128/20240119-084128.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-084128/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-084128/checkpoint new file mode 100644 index 00000000..4900be7a --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-084128/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240119-084128" +all_model_checkpoint_paths: "20240119-084128" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-114806/20240119-114806.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-114806/20240119-114806.data-00000-of-00001 new file mode 100644 index 00000000..b1e80f4d Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-114806/20240119-114806.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-114806/20240119-114806.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-114806/20240119-114806.index new file mode 100644 index 00000000..75046212 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-114806/20240119-114806.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-114806/20240119-114806.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-114806/20240119-114806.meta new file mode 100644 index 00000000..09bd29a0 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-114806/20240119-114806.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-114806/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-114806/checkpoint new file mode 100644 index 00000000..72e74f29 --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-114806/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240119-114806" +all_model_checkpoint_paths: "20240119-114806" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-115601/20240119-115601.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-115601/20240119-115601.data-00000-of-00001 new file mode 100644 index 00000000..d77af9e8 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-115601/20240119-115601.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-115601/20240119-115601.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-115601/20240119-115601.index new file mode 100644 index 00000000..46171dc5 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-115601/20240119-115601.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-115601/20240119-115601.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-115601/20240119-115601.meta new file mode 100644 index 00000000..09bd29a0 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-115601/20240119-115601.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-115601/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-115601/checkpoint new file mode 100644 index 00000000..1185185c --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-115601/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240119-115601" +all_model_checkpoint_paths: "20240119-115601" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-124644/20240119-124644.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-124644/20240119-124644.data-00000-of-00001 new file mode 100644 index 00000000..d79f21d7 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-124644/20240119-124644.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-124644/20240119-124644.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-124644/20240119-124644.index new file mode 100644 index 00000000..d39d7f0c Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-124644/20240119-124644.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-124644/20240119-124644.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-124644/20240119-124644.meta new file mode 100644 index 00000000..34b75d15 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-124644/20240119-124644.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-124644/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-124644/checkpoint new file mode 100644 index 00000000..fd160ff8 --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240119-124644/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240119-124644" +all_model_checkpoint_paths: "20240119-124644" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-082349/20240123-082349.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-082349/20240123-082349.data-00000-of-00001 new file mode 100644 index 00000000..b85f4f75 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-082349/20240123-082349.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-082349/20240123-082349.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-082349/20240123-082349.index new file mode 100644 index 00000000..4420e0db Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-082349/20240123-082349.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-082349/20240123-082349.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-082349/20240123-082349.meta new file mode 100644 index 00000000..09bd29a0 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-082349/20240123-082349.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-082349/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-082349/checkpoint new file mode 100644 index 00000000..4baa1e54 --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-082349/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240123-082349" +all_model_checkpoint_paths: "20240123-082349" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-083123/20240123-083123.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-083123/20240123-083123.data-00000-of-00001 new file mode 100644 index 00000000..64538685 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-083123/20240123-083123.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-083123/20240123-083123.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-083123/20240123-083123.index new file mode 100644 index 00000000..5a054b6a Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-083123/20240123-083123.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-083123/20240123-083123.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-083123/20240123-083123.meta new file mode 100644 index 00000000..59720340 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-083123/20240123-083123.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-083123/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-083123/checkpoint new file mode 100644 index 00000000..50dba1b7 --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240123-083123/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240123-083123" +all_model_checkpoint_paths: "20240123-083123" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-085850/20240125-085850.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-085850/20240125-085850.data-00000-of-00001 new file mode 100644 index 00000000..e144f237 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-085850/20240125-085850.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-085850/20240125-085850.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-085850/20240125-085850.index new file mode 100644 index 00000000..43827f16 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-085850/20240125-085850.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-085850/20240125-085850.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-085850/20240125-085850.meta new file mode 100644 index 00000000..59720340 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-085850/20240125-085850.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-085850/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-085850/checkpoint new file mode 100644 index 00000000..3db9de0b --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-085850/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240125-085850" +all_model_checkpoint_paths: "20240125-085850" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-120011/20240125-120011.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-120011/20240125-120011.data-00000-of-00001 new file mode 100644 index 00000000..9990012a Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-120011/20240125-120011.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-120011/20240125-120011.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-120011/20240125-120011.index new file mode 100644 index 00000000..5e07fa18 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-120011/20240125-120011.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-120011/20240125-120011.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-120011/20240125-120011.meta new file mode 100644 index 00000000..59720340 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-120011/20240125-120011.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-120011/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-120011/checkpoint new file mode 100644 index 00000000..91e6fd5c --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240125-120011/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240125-120011" +all_model_checkpoint_paths: "20240125-120011" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-145559/20240126-145559.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-145559/20240126-145559.data-00000-of-00001 new file mode 100644 index 00000000..ae41037f Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-145559/20240126-145559.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-145559/20240126-145559.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-145559/20240126-145559.index new file mode 100644 index 00000000..85a51a0f Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-145559/20240126-145559.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-145559/20240126-145559.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-145559/20240126-145559.meta new file mode 100644 index 00000000..59720340 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-145559/20240126-145559.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-145559/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-145559/checkpoint new file mode 100644 index 00000000..8d9a0d88 --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-145559/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240126-145559" +all_model_checkpoint_paths: "20240126-145559" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-150203/20240126-150203.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-150203/20240126-150203.data-00000-of-00001 new file mode 100644 index 00000000..2ed6459d Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-150203/20240126-150203.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-150203/20240126-150203.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-150203/20240126-150203.index new file mode 100644 index 00000000..fb36b033 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-150203/20240126-150203.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-150203/20240126-150203.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-150203/20240126-150203.meta new file mode 100644 index 00000000..59720340 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-150203/20240126-150203.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-150203/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-150203/checkpoint new file mode 100644 index 00000000..356c04d6 --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-150203/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240126-150203" +all_model_checkpoint_paths: "20240126-150203" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-170203/20240126-170203.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-170203/20240126-170203.data-00000-of-00001 new file mode 100644 index 00000000..0352835e Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-170203/20240126-170203.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-170203/20240126-170203.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-170203/20240126-170203.index new file mode 100644 index 00000000..8b662e24 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-170203/20240126-170203.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-170203/20240126-170203.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-170203/20240126-170203.meta new file mode 100644 index 00000000..59720340 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-170203/20240126-170203.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-170203/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-170203/checkpoint new file mode 100644 index 00000000..06a859fb --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-170203/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240126-170203" +all_model_checkpoint_paths: "20240126-170203" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-190132/20240126-190132.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-190132/20240126-190132.data-00000-of-00001 new file mode 100644 index 00000000..abe6aca9 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-190132/20240126-190132.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-190132/20240126-190132.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-190132/20240126-190132.index new file mode 100644 index 00000000..23ed91f5 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-190132/20240126-190132.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-190132/20240126-190132.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-190132/20240126-190132.meta new file mode 100644 index 00000000..59720340 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-190132/20240126-190132.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-190132/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-190132/checkpoint new file mode 100644 index 00000000..9d045790 --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-190132/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240126-190132" +all_model_checkpoint_paths: "20240126-190132" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-210047/20240126-210047.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-210047/20240126-210047.data-00000-of-00001 new file mode 100644 index 00000000..807c6a1a Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-210047/20240126-210047.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-210047/20240126-210047.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-210047/20240126-210047.index new file mode 100644 index 00000000..deb2fcfd Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-210047/20240126-210047.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-210047/20240126-210047.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-210047/20240126-210047.meta new file mode 100644 index 00000000..59720340 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-210047/20240126-210047.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-210047/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-210047/checkpoint new file mode 100644 index 00000000..662792ee --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-210047/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240126-210047" +all_model_checkpoint_paths: "20240126-210047" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-225958/20240126-225958.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-225958/20240126-225958.data-00000-of-00001 new file mode 100644 index 00000000..5688ffbf Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-225958/20240126-225958.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-225958/20240126-225958.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-225958/20240126-225958.index new file mode 100644 index 00000000..bc6ea616 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-225958/20240126-225958.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-225958/20240126-225958.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-225958/20240126-225958.meta new file mode 100644 index 00000000..59720340 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-225958/20240126-225958.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-225958/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-225958/checkpoint new file mode 100644 index 00000000..fe1cc242 --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240126-225958/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240126-225958" +all_model_checkpoint_paths: "20240126-225958" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240223-085327/20240223-085327.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240223-085327/20240223-085327.data-00000-of-00001 new file mode 100644 index 00000000..902d568c Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240223-085327/20240223-085327.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240223-085327/20240223-085327.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240223-085327/20240223-085327.index new file mode 100644 index 00000000..e3f83235 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240223-085327/20240223-085327.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240223-085327/20240223-085327.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240223-085327/20240223-085327.meta new file mode 100644 index 00000000..ba5f937c Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240223-085327/20240223-085327.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240223-085327/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240223-085327/checkpoint new file mode 100644 index 00000000..95d0f6e4 --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99/20240223-085327/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240223-085327" +all_model_checkpoint_paths: "20240223-085327" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-200801/20240127-200801.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-200801/20240127-200801.data-00000-of-00001 new file mode 100644 index 00000000..7e847e86 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-200801/20240127-200801.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-200801/20240127-200801.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-200801/20240127-200801.index new file mode 100644 index 00000000..c829d87b Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-200801/20240127-200801.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-200801/20240127-200801.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-200801/20240127-200801.meta new file mode 100644 index 00000000..59720340 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-200801/20240127-200801.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-200801/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-200801/checkpoint new file mode 100644 index 00000000..773546c1 --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-200801/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240127-200801" +all_model_checkpoint_paths: "20240127-200801" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-220920/20240127-220920.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-220920/20240127-220920.data-00000-of-00001 new file mode 100644 index 00000000..b29ce568 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-220920/20240127-220920.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-220920/20240127-220920.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-220920/20240127-220920.index new file mode 100644 index 00000000..78d5a13a Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-220920/20240127-220920.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-220920/20240127-220920.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-220920/20240127-220920.meta new file mode 100644 index 00000000..59720340 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-220920/20240127-220920.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-220920/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-220920/checkpoint new file mode 100644 index 00000000..6dd4794b --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240127-220920/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240127-220920" +all_model_checkpoint_paths: "20240127-220920" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-001014/20240128-001014.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-001014/20240128-001014.data-00000-of-00001 new file mode 100644 index 00000000..a76943c9 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-001014/20240128-001014.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-001014/20240128-001014.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-001014/20240128-001014.index new file mode 100644 index 00000000..4caf2fb9 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-001014/20240128-001014.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-001014/20240128-001014.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-001014/20240128-001014.meta new file mode 100644 index 00000000..59720340 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-001014/20240128-001014.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-001014/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-001014/checkpoint new file mode 100644 index 00000000..f2d9f63a --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-001014/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240128-001014" +all_model_checkpoint_paths: "20240128-001014" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-021112/20240128-021112.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-021112/20240128-021112.data-00000-of-00001 new file mode 100644 index 00000000..188b6935 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-021112/20240128-021112.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-021112/20240128-021112.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-021112/20240128-021112.index new file mode 100644 index 00000000..9eefb1e5 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-021112/20240128-021112.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-021112/20240128-021112.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-021112/20240128-021112.meta new file mode 100644 index 00000000..59720340 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-021112/20240128-021112.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-021112/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-021112/checkpoint new file mode 100644 index 00000000..b4b31dcc --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-021112/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240128-021112" +all_model_checkpoint_paths: "20240128-021112" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-041211/20240128-041211.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-041211/20240128-041211.data-00000-of-00001 new file mode 100644 index 00000000..5704353c Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-041211/20240128-041211.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-041211/20240128-041211.index b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-041211/20240128-041211.index new file mode 100644 index 00000000..ce3095de Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-041211/20240128-041211.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-041211/20240128-041211.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-041211/20240128-041211.meta new file mode 100644 index 00000000..59720340 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-041211/20240128-041211.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-041211/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-041211/checkpoint new file mode 100644 index 00000000..766626d7 --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.0.99malfunction/20240128-041211/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240128-041211" +all_model_checkpoint_paths: "20240128-041211" diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.1/20240103-105031/20240103-105031.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.001.350.1/20240103-105031/20240103-105031.data-00000-of-00001 new file mode 100644 index 00000000..a387c11e Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.1/20240103-105031/20240103-105031.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.1/20240103-105031/20240103-105031.index b/experiments/tmp/policy/Ant.2x4.0.001.350.1/20240103-105031/20240103-105031.index new file mode 100644 index 00000000..a65a3d4b Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.1/20240103-105031/20240103-105031.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.1/20240103-105031/20240103-105031.meta b/experiments/tmp/policy/Ant.2x4.0.001.350.1/20240103-105031/20240103-105031.meta new file mode 100644 index 00000000..34b75d15 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.001.350.1/20240103-105031/20240103-105031.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.001.350.1/20240103-105031/checkpoint b/experiments/tmp/policy/Ant.2x4.0.001.350.1/20240103-105031/checkpoint new file mode 100644 index 00000000..0209da8d --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.001.350.1/20240103-105031/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240103-105031" +all_model_checkpoint_paths: "20240103-105031" diff --git a/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-123223/20240102-123223.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-123223/20240102-123223.data-00000-of-00001 new file mode 100644 index 00000000..0bb8be0f Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-123223/20240102-123223.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-123223/20240102-123223.index b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-123223/20240102-123223.index new file mode 100644 index 00000000..0ff9e813 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-123223/20240102-123223.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-123223/20240102-123223.meta b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-123223/20240102-123223.meta new file mode 100644 index 00000000..c2841396 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-123223/20240102-123223.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-123223/checkpoint b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-123223/checkpoint new file mode 100644 index 00000000..d13d3f70 --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-123223/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240102-123223" +all_model_checkpoint_paths: "20240102-123223" diff --git a/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-145555/20240102-145555.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-145555/20240102-145555.data-00000-of-00001 new file mode 100644 index 00000000..ec922017 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-145555/20240102-145555.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-145555/20240102-145555.index b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-145555/20240102-145555.index new file mode 100644 index 00000000..a01b20b5 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-145555/20240102-145555.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-145555/20240102-145555.meta b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-145555/20240102-145555.meta new file mode 100644 index 00000000..c2841396 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-145555/20240102-145555.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-145555/checkpoint b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-145555/checkpoint new file mode 100644 index 00000000..3a4e25ac --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-145555/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240102-145555" +all_model_checkpoint_paths: "20240102-145555" diff --git a/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-150815/20240102-150815.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-150815/20240102-150815.data-00000-of-00001 new file mode 100644 index 00000000..ed0b83a4 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-150815/20240102-150815.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-150815/20240102-150815.index b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-150815/20240102-150815.index new file mode 100644 index 00000000..7d1cd492 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-150815/20240102-150815.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-150815/20240102-150815.meta b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-150815/20240102-150815.meta new file mode 100644 index 00000000..c2841396 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-150815/20240102-150815.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-150815/checkpoint b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-150815/checkpoint new file mode 100644 index 00000000..4fc67ca8 --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-150815/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240102-150815" +all_model_checkpoint_paths: "20240102-150815" diff --git a/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-153606/20240102-153606.data-00000-of-00001 b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-153606/20240102-153606.data-00000-of-00001 new file mode 100644 index 00000000..63feb60b Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-153606/20240102-153606.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-153606/20240102-153606.index b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-153606/20240102-153606.index new file mode 100644 index 00000000..913effbf Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-153606/20240102-153606.index differ diff --git a/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-153606/20240102-153606.meta b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-153606/20240102-153606.meta new file mode 100644 index 00000000..c2841396 Binary files /dev/null and b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-153606/20240102-153606.meta differ diff --git a/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-153606/checkpoint b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-153606/checkpoint new file mode 100644 index 00000000..7f86da7d --- /dev/null +++ b/experiments/tmp/policy/Ant.2x4.0.01.128.0.95/20240102-153606/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240102-153606" +all_model_checkpoint_paths: "20240102-153606" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-140630/20240113-140630.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-140630/20240113-140630.data-00000-of-00001 new file mode 100644 index 00000000..a99e708f Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-140630/20240113-140630.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-140630/20240113-140630.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-140630/20240113-140630.index new file mode 100644 index 00000000..8596a1a8 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-140630/20240113-140630.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-140630/20240113-140630.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-140630/20240113-140630.meta new file mode 100644 index 00000000..76a7388c Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-140630/20240113-140630.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-140630/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-140630/checkpoint new file mode 100644 index 00000000..c691bd81 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-140630/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240113-140630" +all_model_checkpoint_paths: "20240113-140630" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-142244/20240113-142244.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-142244/20240113-142244.data-00000-of-00001 new file mode 100644 index 00000000..161c15d8 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-142244/20240113-142244.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-142244/20240113-142244.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-142244/20240113-142244.index new file mode 100644 index 00000000..40aeb021 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-142244/20240113-142244.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-142244/20240113-142244.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-142244/20240113-142244.meta new file mode 100644 index 00000000..76a7388c Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-142244/20240113-142244.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-142244/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-142244/checkpoint new file mode 100644 index 00000000..2c76f526 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240113-142244/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240113-142244" +all_model_checkpoint_paths: "20240113-142244" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-085828/20240115-085828.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-085828/20240115-085828.data-00000-of-00001 new file mode 100644 index 00000000..d5bd6483 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-085828/20240115-085828.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-085828/20240115-085828.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-085828/20240115-085828.index new file mode 100644 index 00000000..15b27945 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-085828/20240115-085828.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-085828/20240115-085828.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-085828/20240115-085828.meta new file mode 100644 index 00000000..76a7388c Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-085828/20240115-085828.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-085828/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-085828/checkpoint new file mode 100644 index 00000000..55617d8e --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-085828/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240115-085828" +all_model_checkpoint_paths: "20240115-085828" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-220211/20240115-220211.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-220211/20240115-220211.data-00000-of-00001 new file mode 100644 index 00000000..d4f4b8cd Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-220211/20240115-220211.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-220211/20240115-220211.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-220211/20240115-220211.index new file mode 100644 index 00000000..dd4fbcdd Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-220211/20240115-220211.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-220211/20240115-220211.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-220211/20240115-220211.meta new file mode 100644 index 00000000..76a7388c Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-220211/20240115-220211.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-220211/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-220211/checkpoint new file mode 100644 index 00000000..bf64d2bc --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-220211/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240115-220211" +all_model_checkpoint_paths: "20240115-220211" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-222432/20240115-222432.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-222432/20240115-222432.data-00000-of-00001 new file mode 100644 index 00000000..9f635952 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-222432/20240115-222432.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-222432/20240115-222432.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-222432/20240115-222432.index new file mode 100644 index 00000000..9ceed83c Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-222432/20240115-222432.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-222432/20240115-222432.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-222432/20240115-222432.meta new file mode 100644 index 00000000..76a7388c Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-222432/20240115-222432.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-222432/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-222432/checkpoint new file mode 100644 index 00000000..f027223e --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240115-222432/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240115-222432" +all_model_checkpoint_paths: "20240115-222432" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091647/20240116-091647.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091647/20240116-091647.data-00000-of-00001 new file mode 100644 index 00000000..daf7d7d9 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091647/20240116-091647.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091647/20240116-091647.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091647/20240116-091647.index new file mode 100644 index 00000000..639fe47a Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091647/20240116-091647.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091647/20240116-091647.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091647/20240116-091647.meta new file mode 100644 index 00000000..76a7388c Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091647/20240116-091647.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091647/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091647/checkpoint new file mode 100644 index 00000000..92698e97 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091647/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240116-091647" +all_model_checkpoint_paths: "20240116-091647" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091906/20240116-091906.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091906/20240116-091906.data-00000-of-00001 new file mode 100644 index 00000000..c3521f69 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091906/20240116-091906.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091906/20240116-091906.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091906/20240116-091906.index new file mode 100644 index 00000000..fc114240 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091906/20240116-091906.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091906/20240116-091906.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091906/20240116-091906.meta new file mode 100644 index 00000000..76a7388c Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091906/20240116-091906.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091906/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091906/checkpoint new file mode 100644 index 00000000..9ab530fb --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-091906/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240116-091906" +all_model_checkpoint_paths: "20240116-091906" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-100355/20240116-100355.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-100355/20240116-100355.data-00000-of-00001 new file mode 100644 index 00000000..638287e3 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-100355/20240116-100355.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-100355/20240116-100355.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-100355/20240116-100355.index new file mode 100644 index 00000000..d92f113e Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-100355/20240116-100355.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-100355/20240116-100355.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-100355/20240116-100355.meta new file mode 100644 index 00000000..76a7388c Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-100355/20240116-100355.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-100355/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-100355/checkpoint new file mode 100644 index 00000000..dddabfa1 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-100355/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240116-100355" +all_model_checkpoint_paths: "20240116-100355" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-110549/20240116-110549.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-110549/20240116-110549.data-00000-of-00001 new file mode 100644 index 00000000..9e1525e8 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-110549/20240116-110549.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-110549/20240116-110549.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-110549/20240116-110549.index new file mode 100644 index 00000000..6476da9d Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-110549/20240116-110549.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-110549/20240116-110549.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-110549/20240116-110549.meta new file mode 100644 index 00000000..76a7388c Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-110549/20240116-110549.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-110549/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-110549/checkpoint new file mode 100644 index 00000000..5735dc0b --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-110549/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240116-110549" +all_model_checkpoint_paths: "20240116-110549" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-120555/20240116-120555.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-120555/20240116-120555.data-00000-of-00001 new file mode 100644 index 00000000..a044521e Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-120555/20240116-120555.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-120555/20240116-120555.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-120555/20240116-120555.index new file mode 100644 index 00000000..f1297dd3 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-120555/20240116-120555.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-120555/20240116-120555.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-120555/20240116-120555.meta new file mode 100644 index 00000000..76a7388c Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-120555/20240116-120555.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-120555/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-120555/checkpoint new file mode 100644 index 00000000..5e7f8265 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-120555/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240116-120555" +all_model_checkpoint_paths: "20240116-120555" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-130915/20240116-130915.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-130915/20240116-130915.data-00000-of-00001 new file mode 100644 index 00000000..6976e354 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-130915/20240116-130915.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-130915/20240116-130915.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-130915/20240116-130915.index new file mode 100644 index 00000000..fe686576 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-130915/20240116-130915.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-130915/20240116-130915.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-130915/20240116-130915.meta new file mode 100644 index 00000000..76a7388c Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-130915/20240116-130915.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-130915/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-130915/checkpoint new file mode 100644 index 00000000..4ee14d9b --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240116-130915/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240116-130915" +all_model_checkpoint_paths: "20240116-130915" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240119-130712/20240119-130712.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240119-130712/20240119-130712.data-00000-of-00001 new file mode 100644 index 00000000..97875c05 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240119-130712/20240119-130712.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240119-130712/20240119-130712.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240119-130712/20240119-130712.index new file mode 100644 index 00000000..c3cead1d Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240119-130712/20240119-130712.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240119-130712/20240119-130712.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240119-130712/20240119-130712.meta new file mode 100644 index 00000000..76a7388c Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240119-130712/20240119-130712.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240119-130712/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240119-130712/checkpoint new file mode 100644 index 00000000..2b1f854d --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240119-130712/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240119-130712" +all_model_checkpoint_paths: "20240119-130712" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-105512/20240123-105512.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-105512/20240123-105512.data-00000-of-00001 new file mode 100644 index 00000000..99281028 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-105512/20240123-105512.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-105512/20240123-105512.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-105512/20240123-105512.index new file mode 100644 index 00000000..fde06725 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-105512/20240123-105512.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-105512/20240123-105512.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-105512/20240123-105512.meta new file mode 100644 index 00000000..3182ea33 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-105512/20240123-105512.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-105512/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-105512/checkpoint new file mode 100644 index 00000000..53a40f6f --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-105512/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240123-105512" +all_model_checkpoint_paths: "20240123-105512" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-112919/20240123-112919.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-112919/20240123-112919.data-00000-of-00001 new file mode 100644 index 00000000..19aaf76a Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-112919/20240123-112919.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-112919/20240123-112919.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-112919/20240123-112919.index new file mode 100644 index 00000000..fcefbc84 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-112919/20240123-112919.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-112919/20240123-112919.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-112919/20240123-112919.meta new file mode 100644 index 00000000..3182ea33 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-112919/20240123-112919.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-112919/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-112919/checkpoint new file mode 100644 index 00000000..d85259da --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240123-112919/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240123-112919" +all_model_checkpoint_paths: "20240123-112919" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240125-135925/20240125-135925.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240125-135925/20240125-135925.data-00000-of-00001 new file mode 100644 index 00000000..eb43ef08 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240125-135925/20240125-135925.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240125-135925/20240125-135925.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240125-135925/20240125-135925.index new file mode 100644 index 00000000..33930d37 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240125-135925/20240125-135925.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240125-135925/20240125-135925.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240125-135925/20240125-135925.meta new file mode 100644 index 00000000..3182ea33 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240125-135925/20240125-135925.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240125-135925/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240125-135925/checkpoint new file mode 100644 index 00000000..3a08d38e --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/20240125-135925/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240125-135925" +all_model_checkpoint_paths: "20240125-135925" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-005904/20240127-005904.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-005904/20240127-005904.data-00000-of-00001 new file mode 100644 index 00000000..72fd9c23 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-005904/20240127-005904.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-005904/20240127-005904.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-005904/20240127-005904.index new file mode 100644 index 00000000..f4ce280d Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-005904/20240127-005904.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-005904/20240127-005904.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-005904/20240127-005904.meta new file mode 100644 index 00000000..3182ea33 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-005904/20240127-005904.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-005904/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-005904/checkpoint new file mode 100644 index 00000000..d6720326 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-005904/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240127-005904" +all_model_checkpoint_paths: "20240127-005904" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-044847/20240127-044847.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-044847/20240127-044847.data-00000-of-00001 new file mode 100644 index 00000000..84b84ae0 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-044847/20240127-044847.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-044847/20240127-044847.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-044847/20240127-044847.index new file mode 100644 index 00000000..e7e9f37b Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-044847/20240127-044847.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-044847/20240127-044847.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-044847/20240127-044847.meta new file mode 100644 index 00000000..3182ea33 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-044847/20240127-044847.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-044847/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-044847/checkpoint new file mode 100644 index 00000000..268b2337 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-044847/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240127-044847" +all_model_checkpoint_paths: "20240127-044847" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-083755/20240127-083755.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-083755/20240127-083755.data-00000-of-00001 new file mode 100644 index 00000000..946cdd1f Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-083755/20240127-083755.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-083755/20240127-083755.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-083755/20240127-083755.index new file mode 100644 index 00000000..3b5ca063 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-083755/20240127-083755.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-083755/20240127-083755.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-083755/20240127-083755.meta new file mode 100644 index 00000000..3182ea33 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-083755/20240127-083755.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-083755/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-083755/checkpoint new file mode 100644 index 00000000..5af4dc68 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-083755/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240127-083755" +all_model_checkpoint_paths: "20240127-083755" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-122822/20240127-122822.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-122822/20240127-122822.data-00000-of-00001 new file mode 100644 index 00000000..db89040f Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-122822/20240127-122822.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-122822/20240127-122822.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-122822/20240127-122822.index new file mode 100644 index 00000000..de18e7fc Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-122822/20240127-122822.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-122822/20240127-122822.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-122822/20240127-122822.meta new file mode 100644 index 00000000..3182ea33 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-122822/20240127-122822.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-122822/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-122822/checkpoint new file mode 100644 index 00000000..1ba28c8f --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-122822/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240127-122822" +all_model_checkpoint_paths: "20240127-122822" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240127-161847.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240127-161847.data-00000-of-00001 new file mode 100644 index 00000000..edd9eb67 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240127-161847.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240127-161847.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240127-161847.index new file mode 100644 index 00000000..01eaf29c Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240127-161847.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240127-161847.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240127-161847.meta new file mode 100644 index 00000000..3182ea33 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-161847/20240127-161847.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-161847/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-161847/checkpoint new file mode 100644 index 00000000..60aa1bb8 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R0/20240127-161847/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240127-161847" +all_model_checkpoint_paths: "20240127-161847" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240205-212816/20240205-212816.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240205-212816/20240205-212816.data-00000-of-00001 new file mode 100644 index 00000000..b6c253b0 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240205-212816/20240205-212816.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240205-212816/20240205-212816.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240205-212816/20240205-212816.index new file mode 100644 index 00000000..ab7b7e9f Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240205-212816/20240205-212816.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240205-212816/20240205-212816.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240205-212816/20240205-212816.meta new file mode 100644 index 00000000..3182ea33 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240205-212816/20240205-212816.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240205-212816/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240205-212816/checkpoint new file mode 100644 index 00000000..6e2bde1b --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240205-212816/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240205-212816" +all_model_checkpoint_paths: "20240205-212816" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-011238/20240206-011238.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-011238/20240206-011238.data-00000-of-00001 new file mode 100644 index 00000000..1c3e0b19 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-011238/20240206-011238.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-011238/20240206-011238.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-011238/20240206-011238.index new file mode 100644 index 00000000..1f5e6d27 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-011238/20240206-011238.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-011238/20240206-011238.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-011238/20240206-011238.meta new file mode 100644 index 00000000..3182ea33 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-011238/20240206-011238.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-011238/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-011238/checkpoint new file mode 100644 index 00000000..1a48e5ce --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-011238/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240206-011238" +all_model_checkpoint_paths: "20240206-011238" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-045715/20240206-045715.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-045715/20240206-045715.data-00000-of-00001 new file mode 100644 index 00000000..cd197032 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-045715/20240206-045715.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-045715/20240206-045715.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-045715/20240206-045715.index new file mode 100644 index 00000000..b761c141 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-045715/20240206-045715.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-045715/20240206-045715.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-045715/20240206-045715.meta new file mode 100644 index 00000000..3182ea33 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-045715/20240206-045715.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-045715/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-045715/checkpoint new file mode 100644 index 00000000..472a2ebd --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R1/20240206-045715/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240206-045715" +all_model_checkpoint_paths: "20240206-045715" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-125646/20240209-125646.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-125646/20240209-125646.data-00000-of-00001 new file mode 100644 index 00000000..b35e7233 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-125646/20240209-125646.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-125646/20240209-125646.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-125646/20240209-125646.index new file mode 100644 index 00000000..dd8a0ef0 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-125646/20240209-125646.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-125646/20240209-125646.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-125646/20240209-125646.meta new file mode 100644 index 00000000..3182ea33 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-125646/20240209-125646.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-125646/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-125646/checkpoint new file mode 100644 index 00000000..fa8e9da7 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-125646/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240209-125646" +all_model_checkpoint_paths: "20240209-125646" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-164234/20240209-164234.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-164234/20240209-164234.data-00000-of-00001 new file mode 100644 index 00000000..ccec8bb0 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-164234/20240209-164234.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-164234/20240209-164234.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-164234/20240209-164234.index new file mode 100644 index 00000000..66e2c7df Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-164234/20240209-164234.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-164234/20240209-164234.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-164234/20240209-164234.meta new file mode 100644 index 00000000..3182ea33 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-164234/20240209-164234.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-164234/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-164234/checkpoint new file mode 100644 index 00000000..40744c02 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-164234/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240209-164234" +all_model_checkpoint_paths: "20240209-164234" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240209-202744.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240209-202744.data-00000-of-00001 new file mode 100644 index 00000000..efbdf31e Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240209-202744.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240209-202744.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240209-202744.index new file mode 100644 index 00000000..1b451ead Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240209-202744.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240209-202744.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240209-202744.meta new file mode 100644 index 00000000..3182ea33 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-202744/20240209-202744.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-202744/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-202744/checkpoint new file mode 100644 index 00000000..d57da294 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240209-202744/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240209-202744" +all_model_checkpoint_paths: "20240209-202744" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-150944/20240215-150944.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-150944/20240215-150944.data-00000-of-00001 new file mode 100644 index 00000000..c42d4f9b Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-150944/20240215-150944.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-150944/20240215-150944.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-150944/20240215-150944.index new file mode 100644 index 00000000..5f211fd3 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-150944/20240215-150944.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-150944/20240215-150944.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-150944/20240215-150944.meta new file mode 100644 index 00000000..3182ea33 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-150944/20240215-150944.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-150944/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-150944/checkpoint new file mode 100644 index 00000000..8c5ee4d9 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-150944/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240215-150944" +all_model_checkpoint_paths: "20240215-150944" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-185513/20240215-185513.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-185513/20240215-185513.data-00000-of-00001 new file mode 100644 index 00000000..36b6aa6a Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-185513/20240215-185513.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-185513/20240215-185513.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-185513/20240215-185513.index new file mode 100644 index 00000000..dc16fb70 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-185513/20240215-185513.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-185513/20240215-185513.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-185513/20240215-185513.meta new file mode 100644 index 00000000..3182ea33 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-185513/20240215-185513.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-185513/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-185513/checkpoint new file mode 100644 index 00000000..9f87037d --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-185513/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240215-185513" +all_model_checkpoint_paths: "20240215-185513" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-224039/20240215-224039.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-224039/20240215-224039.data-00000-of-00001 new file mode 100644 index 00000000..e433387d Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-224039/20240215-224039.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-224039/20240215-224039.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-224039/20240215-224039.index new file mode 100644 index 00000000..5a0b3e16 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-224039/20240215-224039.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-224039/20240215-224039.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-224039/20240215-224039.meta new file mode 100644 index 00000000..3182ea33 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-224039/20240215-224039.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-224039/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-224039/checkpoint new file mode 100644 index 00000000..b8bd1890 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240215-224039/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240215-224039" +all_model_checkpoint_paths: "20240215-224039" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-022611/20240216-022611.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-022611/20240216-022611.data-00000-of-00001 new file mode 100644 index 00000000..9fc98a76 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-022611/20240216-022611.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-022611/20240216-022611.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-022611/20240216-022611.index new file mode 100644 index 00000000..bd7adc55 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-022611/20240216-022611.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-022611/20240216-022611.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-022611/20240216-022611.meta new file mode 100644 index 00000000..3182ea33 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-022611/20240216-022611.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-022611/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-022611/checkpoint new file mode 100644 index 00000000..01b47659 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-022611/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240216-022611" +all_model_checkpoint_paths: "20240216-022611" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240216-061140.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240216-061140.data-00000-of-00001 new file mode 100644 index 00000000..df58930f Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240216-061140.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240216-061140.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240216-061140.index new file mode 100644 index 00000000..2c568c53 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240216-061140.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240216-061140.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240216-061140.meta new file mode 100644 index 00000000..3182ea33 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-061140/20240216-061140.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-061140/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-061140/checkpoint new file mode 100644 index 00000000..8ea41410 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99/R2/20240216-061140/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240216-061140" +all_model_checkpoint_paths: "20240216-061140" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240219-142818/20240219-142818.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240219-142818/20240219-142818.data-00000-of-00001 new file mode 100644 index 00000000..6ab34c19 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240219-142818/20240219-142818.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240219-142818/20240219-142818.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240219-142818/20240219-142818.index new file mode 100644 index 00000000..d9c7a76f Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240219-142818/20240219-142818.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240219-142818/20240219-142818.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240219-142818/20240219-142818.meta new file mode 100644 index 00000000..3182ea33 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240219-142818/20240219-142818.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240219-142818/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240219-142818/checkpoint new file mode 100644 index 00000000..ad8ddce6 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240219-142818/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240219-142818" +all_model_checkpoint_paths: "20240219-142818" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-085402/20240223-085402.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-085402/20240223-085402.data-00000-of-00001 new file mode 100644 index 00000000..04a24db8 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-085402/20240223-085402.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-085402/20240223-085402.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-085402/20240223-085402.index new file mode 100644 index 00000000..a77fcb86 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-085402/20240223-085402.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-085402/20240223-085402.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-085402/20240223-085402.meta new file mode 100644 index 00000000..6a12b498 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-085402/20240223-085402.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-085402/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-085402/checkpoint new file mode 100644 index 00000000..04098295 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-085402/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240223-085402" +all_model_checkpoint_paths: "20240223-085402" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-124146/20240223-124146.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-124146/20240223-124146.data-00000-of-00001 new file mode 100644 index 00000000..42d234ed Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-124146/20240223-124146.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-124146/20240223-124146.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-124146/20240223-124146.index new file mode 100644 index 00000000..3db5fc56 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-124146/20240223-124146.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-124146/20240223-124146.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-124146/20240223-124146.meta new file mode 100644 index 00000000..6a12b498 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-124146/20240223-124146.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-124146/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-124146/checkpoint new file mode 100644 index 00000000..8082db7e --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-124146/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240223-124146" +all_model_checkpoint_paths: "20240223-124146" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-162910/20240223-162910.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-162910/20240223-162910.data-00000-of-00001 new file mode 100644 index 00000000..36b8c50e Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-162910/20240223-162910.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-162910/20240223-162910.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-162910/20240223-162910.index new file mode 100644 index 00000000..f06e6f1c Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-162910/20240223-162910.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-162910/20240223-162910.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-162910/20240223-162910.meta new file mode 100644 index 00000000..6a12b498 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-162910/20240223-162910.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-162910/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-162910/checkpoint new file mode 100644 index 00000000..75745235 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-162910/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240223-162910" +all_model_checkpoint_paths: "20240223-162910" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-201800/20240223-201800.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-201800/20240223-201800.data-00000-of-00001 new file mode 100644 index 00000000..90caa438 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-201800/20240223-201800.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-201800/20240223-201800.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-201800/20240223-201800.index new file mode 100644 index 00000000..503cc399 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-201800/20240223-201800.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-201800/20240223-201800.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-201800/20240223-201800.meta new file mode 100644 index 00000000..6a12b498 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-201800/20240223-201800.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-201800/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-201800/checkpoint new file mode 100644 index 00000000..b8ffc497 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240223-201800/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240223-201800" +all_model_checkpoint_paths: "20240223-201800" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-000651/20240224-000651.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-000651/20240224-000651.data-00000-of-00001 new file mode 100644 index 00000000..ad9dea0b Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-000651/20240224-000651.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-000651/20240224-000651.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-000651/20240224-000651.index new file mode 100644 index 00000000..ab0a7195 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-000651/20240224-000651.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-000651/20240224-000651.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-000651/20240224-000651.meta new file mode 100644 index 00000000..6a12b498 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-000651/20240224-000651.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-000651/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-000651/checkpoint new file mode 100644 index 00000000..983a2937 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-000651/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240224-000651" +all_model_checkpoint_paths: "20240224-000651" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-035506/20240224-035506.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-035506/20240224-035506.data-00000-of-00001 new file mode 100644 index 00000000..e171c7ea Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-035506/20240224-035506.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-035506/20240224-035506.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-035506/20240224-035506.index new file mode 100644 index 00000000..c2165496 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-035506/20240224-035506.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-035506/20240224-035506.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-035506/20240224-035506.meta new file mode 100644 index 00000000..6a12b498 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-035506/20240224-035506.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-035506/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-035506/checkpoint new file mode 100644 index 00000000..a07b74d8 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-035506/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240224-035506" +all_model_checkpoint_paths: "20240224-035506" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-074205/20240224-074205.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-074205/20240224-074205.data-00000-of-00001 new file mode 100644 index 00000000..5fd436de Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-074205/20240224-074205.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-074205/20240224-074205.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-074205/20240224-074205.index new file mode 100644 index 00000000..e331086d Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-074205/20240224-074205.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-074205/20240224-074205.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-074205/20240224-074205.meta new file mode 100644 index 00000000..6a12b498 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-074205/20240224-074205.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-074205/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-074205/checkpoint new file mode 100644 index 00000000..dea79405 --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-074205/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240224-074205" +all_model_checkpoint_paths: "20240224-074205" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-112915/20240224-112915.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-112915/20240224-112915.data-00000-of-00001 new file mode 100644 index 00000000..c4ea1b53 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-112915/20240224-112915.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-112915/20240224-112915.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-112915/20240224-112915.index new file mode 100644 index 00000000..1aa40366 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-112915/20240224-112915.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-112915/20240224-112915.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-112915/20240224-112915.meta new file mode 100644 index 00000000..6a12b498 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-112915/20240224-112915.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-112915/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-112915/checkpoint new file mode 100644 index 00000000..f81e3f1c --- /dev/null +++ b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-112915/checkpoint @@ -0,0 +1,2 @@ +model_checkpoint_path: "20240224-112915" +all_model_checkpoint_paths: "20240224-112915" diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-151716/20240224-151716.data-00000-of-00001 b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-151716/20240224-151716.data-00000-of-00001 new file mode 100644 index 00000000..6f9cd289 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-151716/20240224-151716.data-00000-of-00001 differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-151716/20240224-151716.index b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-151716/20240224-151716.index new file mode 100644 index 00000000..3bc9d228 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-151716/20240224-151716.index differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-151716/20240224-151716.meta b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-151716/20240224-151716.meta new file mode 100644 index 00000000..6a12b498 Binary files /dev/null and b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-151716/20240224-151716.meta differ diff --git a/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-151716/checkpoint b/experiments/tmp/policy/Ant.4x2.0.001.350.0.99malfunction/20240224-151716/checkpoint new file mo{"code":"internal","msg":"git-diff-tree: context deadline exceeded","meta":{"cause":"*fmt.wrapError"}}