From 9dd9c3c54b5d07e78d2a47116dbfc2e45de36805 Mon Sep 17 00:00:00 2001 From: mcarfagno Date: Wed, 27 Nov 2019 17:46:53 +0000 Subject: [PATCH] Changed starting conditions for U_bar --- .ipynb_checkpoints/MPC_cvxpy-checkpoint.ipynb | 79 +++++++++++-------- MPC_cvxpy.ipynb | 79 +++++++++++-------- 2 files changed, 96 insertions(+), 62 deletions(-) diff --git a/.ipynb_checkpoints/MPC_cvxpy-checkpoint.ipynb b/.ipynb_checkpoints/MPC_cvxpy-checkpoint.ipynb index 3de729d..ad687ea 100644 --- a/.ipynb_checkpoints/MPC_cvxpy-checkpoint.ipynb +++ b/.ipynb_checkpoints/MPC_cvxpy-checkpoint.ipynb @@ -157,6 +157,13 @@ "-----------------" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Kinematics Model" + ] + }, { "cell_type": "code", "execution_count": 2, @@ -181,6 +188,8 @@ "outputs": [], "source": [ "def get_linear_model(x_bar,u_bar):\n", + " \"\"\"\n", + " \"\"\"\n", " \n", " x = x_bar[0]\n", " y = x_bar[1]\n", @@ -226,6 +235,8 @@ "source": [ "# Define process model\n", "def kinematics_model(x,t,u):\n", + " \"\"\"\n", + " \"\"\"\n", "\n", " dxdt = u[0]*np.cos(x[2])\n", " dydt = u[0]*np.sin(x[2])\n", @@ -243,10 +254,6 @@ "\n", "def predict(x0,u):\n", " \"\"\"\n", - " x0(5)\n", - " u(2,T)\n", - " \n", - " x_bar(5,T+1)\n", " \"\"\"\n", " \n", " x_bar = np.zeros((N,T+1))\n", @@ -284,8 +291,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 4.05 ms, sys: 38 µs, total: 4.09 ms\n", - "Wall time: 3.75 ms\n" + "CPU times: user 4.18 ms, sys: 92 µs, total: 4.27 ms\n", + "Wall time: 3.79 ms\n" ] } ], @@ -383,8 +390,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 2.53 ms, sys: 2.36 ms, total: 4.9 ms\n", - "Wall time: 1.44 ms\n" + "CPU times: user 2.34 ms, sys: 1.92 ms, total: 4.26 ms\n", + "Wall time: 1.24 ms\n" ] } ], @@ -530,14 +537,14 @@ " return target_idx,psi,cte\n", "\n", "def compute_path_from_wp(start_xp, start_yp, step = 0.1):\n", - " '''\n", + " \"\"\"\n", " Interpolation range is computed to assure one point every fixed distance step [m].\n", " \n", " :param start_xp: array_like, list of starting x coordinates\n", " :param start_yp: array_like, list of starting y coordinates\n", " :param step: float, interpolation distance [m] between consecutive waypoints\n", " :returns: array_like, of shape (3,N)\n", - " '''\n", + " \"\"\"\n", "\n", " final_xp=[]\n", " final_yp=[]\n", @@ -738,42 +745,49 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "MPC Problem formulation\n" + "### MPC Problem formulation\n" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 14, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/marcello/.local/lib/python3.5/site-packages/ipykernel_launcher.py:18: RuntimeWarning: invalid value encountered in true_divide\n" + ] + }, { "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 289 ms, sys: 617 µs, total: 290 ms\n", - "Wall time: 287 ms\n" + "CPU times: user 335 ms, sys: 173 ms, total: 508 ms\n", + "Wall time: 279 ms\n" ] } ], "source": [ "%%time\n", "\n", - "MAX_SPEED = 1.2\n", - "MIN_SPEED = 0.8\n", - "MAX_STEER_SPEED = 0.57\n", + "track = compute_path_from_wp([0,2,2,10],[0,0,2,2])\n", + "\n", + "MAX_SPEED = 2.5\n", + "MIN_SPEED = 0.5\n", + "MAX_STEER_SPEED = 1.57/2\n", "\n", "#starting guess\n", "u_bar = np.zeros((M,T))\n", - "u_bar[0,:]=1\n", + "u_bar[0,:]=0.5*(MAX_SPEED+MIN_SPEED)\n", "u_bar[1,:]=0.01\n", "\n", - "track = compute_path_from_wp([0,10],[2,2])\n", - "\n", "# Starting Condition\n", "x0 = np.zeros(N)\n", - "x0[0] = 2\n", - "x0[1] = -0.5\n", - "x0[2] = np.radians(-30)\n", + "x0[0] = 0\n", + "x0[1] = 0\n", + "x0[2] = np.radians(-0)\n", "_,psi,cte = calc_err(x0,track)\n", "x0[3]=psi\n", "x0[4]=cte\n", @@ -797,28 +811,31 @@ " x_bar[:,t]= xt_plus_one\n", "\n", "\n", - "#CVXPY MPC problem statement\n", + "#CVXPY Linear MPC problem statement\n", "cost = 0\n", "constr = []\n", "\n", "for t in range(T):\n", " \n", " # Cost function\n", - " #cost += 10*cp.sum_squares( x[3, t]) # psi\n", - " #cost += 50*cp.sum_squares( x[4, t]) # cte\n", + " #cost += 5*cp.sum_squares( x[3, t]) # psi\n", + " #cost += 100*cp.sum_squares( x[4, t]) # cte\n", " \n", " # Tracking\n", " idx,_,_ = calc_err(x_bar[:,t],track)\n", - " delta_x =track[:,idx]-x[0:3,t]\n", + " delta_x = track[:,idx]-x[0:3,t]\n", " cost+= cp.quad_form(delta_x,10*np.eye(3))\n", - " #cost += cp.quad_form( x[:, t],10*np.eye(N))\n", + " \n", + " # Tracking 5 states\n", + " #delta_x = np.append(track[:,idx],[0,0])\n", + " #cost+= cp.quad_form(delta_x-x[:,t],500*np.eye(N))\n", " \n", " # Actuation effort\n", " cost += cp.quad_form( u[:, t],1*np.eye(M))\n", " \n", " # Actuation rate of change\n", " if t < (T - 1):\n", - " cost += cp.quad_form(u[:, t + 1] - u[:, t], 1*np.eye(M))\n", + " cost += cp.quad_form(u[:, t + 1] - u[:, t], 5*np.eye(M))\n", " \n", " #constrains\n", " A,B,C=get_linear_model(x_bar[:,t],u_bar[:,t])\n", @@ -844,12 +861,12 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 15, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] diff --git a/MPC_cvxpy.ipynb b/MPC_cvxpy.ipynb index 3de729d..ad687ea 100644 --- a/MPC_cvxpy.ipynb +++ b/MPC_cvxpy.ipynb @@ -157,6 +157,13 @@ "-----------------" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Kinematics Model" + ] + }, { "cell_type": "code", "execution_count": 2, @@ -181,6 +188,8 @@ "outputs": [], "source": [ "def get_linear_model(x_bar,u_bar):\n", + " \"\"\"\n", + " \"\"\"\n", " \n", " x = x_bar[0]\n", " y = x_bar[1]\n", @@ -226,6 +235,8 @@ "source": [ "# Define process model\n", "def kinematics_model(x,t,u):\n", + " \"\"\"\n", + " \"\"\"\n", "\n", " dxdt = u[0]*np.cos(x[2])\n", " dydt = u[0]*np.sin(x[2])\n", @@ -243,10 +254,6 @@ "\n", "def predict(x0,u):\n", " \"\"\"\n", - " x0(5)\n", - " u(2,T)\n", - " \n", - " x_bar(5,T+1)\n", " \"\"\"\n", " \n", " x_bar = np.zeros((N,T+1))\n", @@ -284,8 +291,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 4.05 ms, sys: 38 µs, total: 4.09 ms\n", - "Wall time: 3.75 ms\n" + "CPU times: user 4.18 ms, sys: 92 µs, total: 4.27 ms\n", + "Wall time: 3.79 ms\n" ] } ], @@ -383,8 +390,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 2.53 ms, sys: 2.36 ms, total: 4.9 ms\n", - "Wall time: 1.44 ms\n" + "CPU times: user 2.34 ms, sys: 1.92 ms, total: 4.26 ms\n", + "Wall time: 1.24 ms\n" ] } ], @@ -530,14 +537,14 @@ " return target_idx,psi,cte\n", "\n", "def compute_path_from_wp(start_xp, start_yp, step = 0.1):\n", - " '''\n", + " \"\"\"\n", " Interpolation range is computed to assure one point every fixed distance step [m].\n", " \n", " :param start_xp: array_like, list of starting x coordinates\n", " :param start_yp: array_like, list of starting y coordinates\n", " :param step: float, interpolation distance [m] between consecutive waypoints\n", " :returns: array_like, of shape (3,N)\n", - " '''\n", + " \"\"\"\n", "\n", " final_xp=[]\n", " final_yp=[]\n", @@ -738,42 +745,49 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "MPC Problem formulation\n" + "### MPC Problem formulation\n" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 14, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/marcello/.local/lib/python3.5/site-packages/ipykernel_launcher.py:18: RuntimeWarning: invalid value encountered in true_divide\n" + ] + }, { "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 289 ms, sys: 617 µs, total: 290 ms\n", - "Wall time: 287 ms\n" + "CPU times: user 335 ms, sys: 173 ms, total: 508 ms\n", + "Wall time: 279 ms\n" ] } ], "source": [ "%%time\n", "\n", - "MAX_SPEED = 1.2\n", - "MIN_SPEED = 0.8\n", - "MAX_STEER_SPEED = 0.57\n", + "track = compute_path_from_wp([0,2,2,10],[0,0,2,2])\n", + "\n", + "MAX_SPEED = 2.5\n", + "MIN_SPEED = 0.5\n", + "MAX_STEER_SPEED = 1.57/2\n", "\n", "#starting guess\n", "u_bar = np.zeros((M,T))\n", - "u_bar[0,:]=1\n", + "u_bar[0,:]=0.5*(MAX_SPEED+MIN_SPEED)\n", "u_bar[1,:]=0.01\n", "\n", - "track = compute_path_from_wp([0,10],[2,2])\n", - "\n", "# Starting Condition\n", "x0 = np.zeros(N)\n", - "x0[0] = 2\n", - "x0[1] = -0.5\n", - "x0[2] = np.radians(-30)\n", + "x0[0] = 0\n", + "x0[1] = 0\n", + "x0[2] = np.radians(-0)\n", "_,psi,cte = calc_err(x0,track)\n", "x0[3]=psi\n", "x0[4]=cte\n", @@ -797,28 +811,31 @@ " x_bar[:,t]= xt_plus_one\n", "\n", "\n", - "#CVXPY MPC problem statement\n", + "#CVXPY Linear MPC problem statement\n", "cost = 0\n", "constr = []\n", "\n", "for t in range(T):\n", " \n", " # Cost function\n", - " #cost += 10*cp.sum_squares( x[3, t]) # psi\n", - " #cost += 50*cp.sum_squares( x[4, t]) # cte\n", + " #cost += 5*cp.sum_squares( x[3, t]) # psi\n", + " #cost += 100*cp.sum_squares( x[4, t]) # cte\n", " \n", " # Tracking\n", " idx,_,_ = calc_err(x_bar[:,t],track)\n", - " delta_x =track[:,idx]-x[0:3,t]\n", + " delta_x = track[:,idx]-x[0:3,t]\n", " cost+= cp.quad_form(delta_x,10*np.eye(3))\n", - " #cost += cp.quad_form( x[:, t],10*np.eye(N))\n", + " \n", + " # Tracking 5 states\n", + " #delta_x = np.append(track[:,idx],[0,0])\n", + " #cost+= cp.quad_form(delta_x-x[:,t],500*np.eye(N))\n", " \n", " # Actuation effort\n", " cost += cp.quad_form( u[:, t],1*np.eye(M))\n", " \n", " # Actuation rate of change\n", " if t < (T - 1):\n", - " cost += cp.quad_form(u[:, t + 1] - u[:, t], 1*np.eye(M))\n", + " cost += cp.quad_form(u[:, t + 1] - u[:, t], 5*np.eye(M))\n", " \n", " #constrains\n", " A,B,C=get_linear_model(x_bar[:,t],u_bar[:,t])\n", @@ -844,12 +861,12 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 15, "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3XmcHFW5//FP9cxkQvaEQUISEkgIS0SJoqAsiqLIIgS98hjUH3BdwCWCgldFZZF7veICyhWuEAMCisijIqDiRQUUriwGkFyEyBYCCSHLZDLZM8lMn98fVRM6k9mnu6u65/t+vfrVtZyperqmu58+VafOiUIIiIiIZE0u7QBEREQ6owQlIiKZpAQlIiKZpAQlIiKZpAQlIiKZpAQlIiKZVJt2ACKSPWZ2HfBeYKW7HzjAbb0D+F7Bov2B2e5+Wy/+djTwU2Ay8ffVd939xwOM5xTgYuAA4BB3f2Qg25PSUQ1KRDpzPXBsMTbk7ve6+0x3nwm8E9gE/KFjOTNb3MmffwZ4yt0PAo4CLjOzIQMM6R/A+4H7BrgdKTHVoERkJ+5+n5ntVbjMzKYBVwG7ESeZT7j7P/u46Q8Av3f3Tb0sH4CRZhYBI4AmoDWJ598AA+qBX7v7Rb3ZoLsvTP6+j6FLuakGJSK9NRf4rLsfDHwB+O9+bGM2cHMfyl9JfCpuGfAEcI67583sGGA6cAgwEzjYzN7Wj3gkw1SDEpEemdkI4DDgFwU1j/pk3fuBSzr5s5fd/T0F29gDeB1wV8Gyq4DDk9kJZvZ4Mv0Ld/8G8B7gceJTg9OAP5rZ/cAxyePvSfkRxAnrPjP7EzC+k3i+6u639+V1S7qUoESkN3JAc3IdaQfufitway+2YcSn4rYV/O1ntq80W9zJ9v8VuNTdA/Ccmb1A3MgiAr7p7td0Es+7evOCJPt0ik9EeuTu64AXkhZwmFlkZgf1cTOn0rfTewAvAUcn+9wd2A9YRFwL+2hSs8PMJprZa/q4bck41aBEZCdmdjNxq7kGM1sKXAR8GPihmX0NqAN+Dizo5fb2AvYE/tLHUP4duN7MniCuNX3J3RuBP5jZAcCDySnHDcBHgJW9iOV9wA+IG3v8zsweLzwVKdkRabgNERHJooqsQZlZDfAI8UXY96Ydj4iIFF9FJijgHGAhMKqHcqoeSilFaQdQIvrcSKn06TNTcQnKzCYBJwDfAM7tqfyyZcs6Xd7Q0EBjY2Nxg+uHrMQB2YmlEuKYMGFCmaMpr84+N1n5v7RTPN3LWjz9+cxUXIICvg98ERjZ2UozOxM4E8DdaWho6HQjtbW1Xa4rp6zEAdmJRXGICFRYgjKz9s4rHzWzozor4+5zie94Bwhd/YLIyq+LrMQB2YmlEuKo9hqUSF+Fli1QV0eUqynaNivtPqjDgZOSTiV/DrzTzH6abkgiIhJuvIr8BZ8u6jYrqgbl7ucD5wMkNagvuPtHUg1KREQIa5tg1NiibrPSalAiIpJFa1YTjRlX1E1WVA2qkLv/GfhzymGIiAx6IQRY2wRj3lzU7aoGJSIiA7N5E7RsgSLXoJSgRERkYNY2xc9KUCIikinNcYKKxuxa1M0qQYmIyICENavjCdWgREQkU3SKT0REMmnNathlOFH90KJuVglKREQGJKxtKnrtCZSgRERkoNasVoISEZEMWttU9BZ8oAQlIiIDEPJ5WLtGNSgREcmYDWuhrQ3GqgYlIiJZsia5SXe0alAiIpIlSS8SqkGJiEimhOakFwnVoEREJFOamyCKYNSYom9aCUpERPqveTWMGkNUW/zhBZWgRESk30JzU0lO74ESlIiIDERzU0kaSECFDfluZnsCNwK7AwGY6+5XpBuViMgg1ryaaOp+Jdl0pdWgWoHz3H0G8BbgM2Y2o68bWbEix9FH1/Lkk7WceOKuHHtsAyee2LB9vnC647q+lO3NdhYsoKj7HEh8Rx5Zncekv9s58shaVq6stI+ISPmEbdtgwzoYW5pTfFEIoSQbLgczux240t3/2EWRsGzZsp0Wnn/+KH760+Hss882nnmmbvvyffd9db5wuqf5/q4DOOCAwMKFUVH3Wcz4quWY9Hc7p522kW9+cx0dTZgwASDaaUV16PRz09DQQGNjYwrhdE7xdK8c8YTGFeTP/wTRaXPIHXlMt2X785mp2ARlZnsB9wEHuvvO3yCxHT5oU6fuQUtLtX6nSCnV1wcWLXpl+7wSVPoUT/fKkqCeW0j+W18id85FRAce3G3Z/nxmKuoaVDszGwH8Cvhcx+RkZmcCZwK4Ow0NDdvXPf30Nr785Rpuuy3Hli0R8WWswuNVON/dur6ULdZ2qim+ytlnTU3gxBPzXHFF2w7vJREhbmIOJekoFiowQZlZHXFyusndb+243t3nAnOT2VD4C6KuDurqRtPSMoyamkBbG8RfRoVCF9MDKVus7VRTfJWxz7Y2GDVqM7W16yj8MZr8GhQZ1EJ7N0clGGoDKqyRhJlFwLXAQne/vD/baGzMcdppGznyyMCIEXnq6wNTprRSXx+oqYHx49sYP76Nmhp2WteXssXaTjnjGzqUsu8zjdfZm+2MH9/GBz6QZ/LkNlatqinuG1mkWjSvhto6GD6yJJuvtBrU4cD/A54ws8eTZV9x9zt7u4F589YA0NAwJBPni7N03jorsSgOkQrRHA/1HkWluRxbUQnK3f+X6r0wLSJSUUKSoEqlok7xiYhIhjQ3lWQcqHZKUCIi0mchhPgaVIm6OQIlKBER6Y8tm6Fli07xiYhIxpS4iTlUWCMJEXmVmR0LXAHUAPPc/dIO688AvgO8nCy60t3nlTVIqV7JTbpRCWtQSlAiKUp6RRkDNLv7hj78XQ1wFfBuYCkw38zucPenOhS9xd3nFC1gkUSpb9IFJSiRsjOzA4GzgBOAKcS3TgQzWwz8HrjG3Z/oYTOHAM+5+6Jkmz8HZgEdE5RIaZS4myNQghIpqySRzAB+DnwEWAisB0YCBwBvB24ys6fcfXY3m5oILCmYXwoc2km5fzGztwHPAJ939yWdlOm2D8t2tbW1meqPUPF0r9TxrGvZxJZhI9ht4qSS7UMJSqS8furuv+1k+RrggeTxTTN7bxH29RvgZndvMbOzgBuAd3ZWsLs+LNtlrWcNxdO9UsfT9srLMHpsr/fRn/4r1YpPpIwKk5OZdVbjwcwO6SKJFXoZ2LNgfhKvNoZo39dqd29JZucB3Y+HINIXJe5FApSgRNLU1UCb/9OLv50PTDezvc1sCDAbuKOwgJntUTB7EvHpRJHiaF5d0hZ8UORTfGb2PeAGd3+8x8KSKSEE2hpXEJ75J2FtE6xtgo0b4semDUQf/hTRLsPSDrMqmFmOuGFElPTQX9i/5DSgtadtuHurmc0B7iJuZn6duz9pZpcAj7j7HcDZZnZSsr0m4IzivhIZrEI+D2vXlLQFHxT/GlQNcJeZrQJ+Qjxm09Ii70OKIGzZDM8+RVj4OGHR07DsJRo3b9qxUBTBLsNh2HCizZtACapYWnl18KmOySgPfKM3G0l68b+zw7ILC6bPB87vf5giXdiwNh4srZJqUO5+tpl9HjgO+DDwNTN7GLgRuLUv93lI8YUQ4OknCPf/gfDYg9C6LR7LZeq+RG85ihH7zmDjLiPjX0VjxsIuw4lyOgtcAnsT15r+ArytYHkAVrn75lSiEumt5B6oijrFB+DubcBvgd+a2WuBnwHXA/+dNLG9yN1f7mYTUgJh4QLyfh0sfSGuER15DNHMQ2GfA4iG1AMwrKGBTRlqhVSt3P3FZHJKqoGI9Nea0t+kCyVIUGY2CjiF+B6P1xMPz/5p4CXgPOIbEV9f7P1K58K6ZvI3XgkL/ga7vobojHOI3nzE9qQk5WVmlwPfdvfl3ZQZD3zR3c8tX2QivRfWlv4mXSh+I4lfAu8B7gOuBm4raOaKmZ0LrC3mPqVr4dmnyM/9NmzcQPT+04nedSJR3ZC0wxrsngb+ZmYLiU/xPc2rN+ruCxwF7Af8R1oBivRoTVN8jXrU2JLuptg1qIeAOV39OnT3vJntXuR9Sify8+8nXHs57PoacmdfRLTn3mmHJIC7X2Nm1xF3S3QccDJxX3xrgP8j/mH3G3fvsSWfSGrWNsHI0US1pe3rodiNJL7bizKbeiojAxMee4Aw7zKYtj+5ORcQDRuedkhSwN23Ab80syOJf9D9Le2YRPoiHuq9tNefoAK7OuppiIHBLjzzD/JzvwN770vu7AuJhqppeIYF4DYz2wjcBPzM3Z9JOSaRnq1ZDeNK3+9gRbUhLhhi4DjiDjdPNbMZ6UaVHaF5Nflrvg27jY9P6yk5ZZq7f464i6JPA5OBh83s0eRarUh2rW0iKkMNqqISFAVDDLj7VuIeoWelHFMmhNZW8ld/C1q2kPvU+TqtVyHcPe/uf3T3jwIHAquJBxkUyaSwbRusX1vyFnxQeaf4ehxioDfDBkB2usYvVhzrr7+STc//k9HnXcLQ178x1VgGajDFYWbDgfcBpxK34PsLcHpJdyoyEOvWxM9KUH3Xm2EDIDtd4xcjjvDoA+Rv/xnRUcezYf+ZbOjn9qrpmJQ6jv4MHdCRmf2C+HT1Y8DNwOnunv4LF+nOmvah3tVIoqMehxgYbMIz/yA/7zLYe18i+1ja4UjfzAfOc/eX0g5EpNfWJr1IjFUNqqPtQwwQJ6bZwIfSDSk94fl/kr/yP6Bhd3KfvZCori7tkKQP3P3baccg0lchqUExWo0kdpDcvNg+xMDCeJE/mW5U6cj/9W7y3/0KjBhF7nNfJxo5Ku2QRGQwaG6C2loYMbLku6q0GlSnQwxkXVi7hmh0cboECeuaCb/8MeHBe+GAg8id9UWi4aV/o4iIANC8GkaPI4qinssOUMUlqEoTVi0nf8Gn4aBDyJ1wCtHkaf3bzqaNhP/9I+F3t0BLC9HxRnTi7JJ3NSIiUiiUYaj3dvp2K7VhI4iOfT/hnt+Sf+wBOOAgojceRjTz0B7HUglbW+C5pwh/fyiuMbVsiWtNp55FtMekMr0AEZECzU1Ek/Yqy66UoEosGj6C6OSPEI45mXDvnYQH7iHc9EPCTT+Eht1Zs/d08mN2hSH18eCBW1ugaRWhcQW8+Pz2QQWjNx9JdPR7iabsk/ZLEpHBrLkJDuzfvZZ9pQRVJtGwEUQnGOH4U2DZEsKCh2HJC7Qtf5nw+N9g29a4YE1N3AnjrrsRHXU80YyZMH0G0dBd0n0BIjLohc2boGUzjC19Cz5Qgiq7KIpg4mSiiZOBV28GDSFAPg8RRLmalKMUEelEMtQ7o3UNalCJoiiuPYmIZFVz0otEmWpQFXUflIiIpCeUuQalBCUiIr3TnqDK1MxcCUpERHqneTXsMqxsjbaUoEREpFfKNdR7OyUoERHpnebVZTu9B0pQIiLSC2HBfHjhWaKJU8q2TyUoERHpVnjhWfJzvw2TpxLN+nDZ9qsEJSIiXQqrlpP/wSUwcjS5z15Q1l5tlKBERKRTYcM68ld8HdrayJ1zcdGGDeotJSgREdlJ2NoSj9i9eiW5OV9LZQQFJSgREdlByLeRv/ZyWPQ0uY+fSzR9RipxKEGJiMgOgl8Hjz1IdMpHiQ4+PLU4KqazWDP7DnAisBV4HvhXd29ONyoRkeoRQiD84deEu39DdPSJ5N49K9V4KqkG9UfgQHd/PfAMcH7K8YiIVIWwZRP5e+8kf9Ecwi+vhze+lcg+mnZYlVODcvc/FMw+BHwgrVhERKpBeGUp4d7fER68B7Zshin7EJ1xDtGhb8/EuHQVk6A6+ChwS2crzOxM4EwAd6ehoaHTDdTW1na5rpyyEgdkJxbFIVI6YfMmWLiA/J/vhIULoLaW6E1HEL3jBNh733hsuozIVIIysz8B4ztZ9VV3vz0p81WgFbips224+1xgbjIbGhsbO91X+0i2actKHJCdWCohjgkTJpQ5GpG+C/k8LF9KWPQ0LHo6fl72EoQAYxuITv4I0ZHHEI0ak3aoncpUgnL3d3W33szOAN4LHO3uoSxBiWSUmR0LXAHUAPPc/dIO6+uBG4GDgdXAB919cbnjlNIL27ZC4wpYtZywajmsWs6axuXkn3kKNm+MCw0bAVP3JTr4cKJp+8F+ryfK+CjemUpQ3Uk+jF8E3u7um9KORyRNZlYDXAW8G1gKzDezO9z9qYJiHwPWuPs+ZjYb+BbwwfJHK/0V2tpgwzpYuwbWNRPWxc+sbY7nmxth5fLtQ7FvVz+U/MTJRG8+EqbtRzR1P3jNBKJcJbWLq6AEBVwJ1AN/NDOAh9z9k+mGJJKaQ4Dn3H0RgJn9HJgFFCaoWcDFyfQvgSvNLNLZh9ILIUBrK2xtiR8tW6BlM2zeBFs2ETZvjhslbNkUL9u0ATZuIGxcDxs3wMb18bLNXfwWH1IPo8fC6HFEBxwEu42H3cYTJc+MHM2uu+2WiVPlA1ExCcrd90k7BpEMmQgsKZhfChzaVRl3bzWztcCuwE7fWr1pXJSVRiMhBGhroybfxrjhwyDfBq2tcW0j3wZtbYTWVmhrJbS1vrqutXA+Wd+6Dba1L98Wr2vdlizfRti2LT59tm0boXVrwbIW2LqVsG0rIXlu3NpCaNmSPFriWHqjpoZo+EhyI0eRGzGKaLfdyU2dHk+PGElu1BhyY8aRG7Nr8jyO3C7DetxsVv5fA1ExCUpESqenxkVh8bMMeeBuWjZvhpCHfB5CiC/Ch3i6fRn5tp3n8/mC+fbpgue2th2X5fM7/l2+DdoKypdDFEFtXfKoffV5SH08XTcE6upgxCioq2PoiJG0hAiG1BMNqYf6+rhs8oh2GQZDh8HQXWCXXeLpXYZBbd32lnPtr6zb1LZxU/zoQVYaG7XrT8MiJSiRyvQysGfB/KRkWWdllppZLTCauLFE361fx9Z/PEoIxF/cUQ5yuXh6h+dkeeGyXE38hd7xb5JHFCVlCpbtOF8DNR2X1zB85Eg2bmlJ1tUk5ZJHrgZqauNGADW1ry5vn66tTaZrk+mCZbV128v1pcn16IwlhGqgBCVSmeYD081sb+JENBv4UIcydwCnAw8S39h+T3+vP0WvO5iGd/w6U1/Awxsa2JyheKT4KqtJh4gA8TUlYA5wF7AwXuRPmtklZnZSUuxaYFczew44F/hyOtGK9I9qUCIVyt3vBO7ssOzCguktwCnljkukWKIQqrrFaVW/OElddvqEKS59bqRU+vSZqfZTfFFXDzN7tLv15XpkJY4sxVJBcVSrTP9fFE9Fx9Mn1Z6gRESkQilBiYhIJg3mBDW35yJlkZU4IDuxKI5sytrxUDzdq/h4qr2RhIiIVKjBXIMSEZEMU4ISEZFMqvobdbMwqJuZ7ZnsY3fie0zmuvsVHcocBdwOvJAsutXdLylmHMl+FgPrifujbHX3N3VYHxEfr+OBTcAZ7v5YCeLYD7ilYNFU4EJ3/35BmaMowTExs+uIB75c6e4HJsvGJfHsBSwGzN3XdPK3pwNfS2b/w91vGGg8laCnz1EK8Symm/dxGfbf7/dQGeO5GPgEsCop9pXk5u5yxNPpd15fj1FV16AKBnU7DpgBnGpmMzoU2z6oG/A94kHdiq0VOM/dZwBvAT7TSRwA97v7zORR9ORU4B3JPjr7UB8HTE8eZwI/LEUA7v50+2sl/nGwCfh1J0VLcUyuB47tsOzLwN3uPh24m066BUo+XBcRD2txCHCRmY0tUkyZ1cvPURq6ex+X2vX04z1U5ngAvlfw+SlLckp09Z3Xp2NU1QmKgkHd3H0r0D6oW6FZQPuv4F8CRye1iKJx91faayHuvp6477SJxdxHEc0CbnT34O4PAWPMbI8S7/No4Hl3f7HE+wHA3e8DmjosLnwf3ACc3Mmfvgf4o7s3Jb/6/kjnXwrVpjefo0FlAO+hcsaTmm6+8/p0jKr9FF9RB3UrBjPbC3gD8HAnq99qZguAZcAX3P3JEoQQgD+YWQCuScYBKtTZMZsIvFKCWNrNBm7uYl05jgnA7u7e/hqXE5+a6KirY1PtevM5Kree3sdp6M17qNzmmNlpwCPENZqynHIs1OE7r0/HqNprUJliZiOAXwGfc/d1HVY/Bkxx94OAHwC3lSiMI9z9jcSnaz5jZm8r0X56xcyGACcBv+hkdbmOyQ6SISl0/0W2Zep93FFG3kM/BKYBM4l/YF5W7gC6+87rzTGq9gTVl0HdGPCgbt0wszrif9RN7n5rx/Xuvs7dNyTTdwJ1Zlb08Zrd/eXkeSXxNZ9DOhTpzTErpuOAx9x9RccV5TomiRXtpzKT55WdlCn3scmKzL3uXryP09Cb91DZuPsKd29z9zzwI8p8jLr4zuvTMar2BLV9ULfkl/ps4kHcCrUP6gYDHNStK8k1rWuBhe5+eRdlxrdf+zKzQ4j/N0VNlGY23MxGtk8DxwD/6FDsDuA0M4vM7C3A2oIqeSmcShen98pxTAoUvg9OJ2492NFdwDFmNjZpHHFMsqza9eZzVDa9fB+noTfvobLpcO34fZTxGHXzndenY1T1PUmY2fHA94mbx17n7t8ws0uAR9z9DjMbCvyE+BxpEzDb3RcVOYYjgPuBJ4B8svgrwGQAd7/azOYAnyJu/bIZONfdHyhyHFN5taVcLfCz5Hh8siCOCLiS+OL/JuBf3f2RYsZREM9w4CVgqruvTZYVxlKSY2JmNwNHAQ3ACuKWebcBTvw/eZG4+WuTmb0J+KS7fzz5248S/+8AvuHuPx5oPJWgs89RirF0+j4ucwy9fg+lGM9RxKf3AnGT7rNK/GOzMJ6uvvMepg/HqOoTlIiIVKZqP8UnIiIVSglKREQySQlKREQySQlKREQySQlKREQySQlKREQySQlKREQySQlKREQyqdp7M5dumNk04m5s3uXuj5nZBGABcIq7/znV4ERk0FNPEoOcmX0C+DzwJuLuY55w9y+kG5WIiE7xDXru/iPgOeI+svYAvppuRCIiMSUogbgr/gOBH7h7S9rBiIiATvENesmAYguAe4nHZnpduXpgFhHpjmpQcgXx0CMfB34HXJ1yPCIigBLUoGZms4jHffpUsuhc4I1m9uH0ohIRiekUn4iIZJJqUCIikklKUCIikklKUCIikklKUCIikklKUCIikklKUCIikklKUCIikklKUCIikklKUCIikklKUCIikklKUCIikklKUCIikklKUCIikklKUCIikklKUCIikklKUCIikkm1aQdQYhqNUUopSjsAkWpW7QmKZcuWdbq8oaGBxsbGMkfTNcXTvazFM2HChLRDEKl6OsUnIiKZVPU1qM6Exx6g+bEHadvaknYo2zUPqS97PNFBh5I7/Oiy7lNEpLcGZ4LauIG25UuhtTXtULZrq60tbzxrmwgvPEs47J1EkS6liEj2DMoElTvyGHZ934cydU1j1zJfY8nfeyfhZ1dD4wrYbXzZ9isi0luZSVBmdixwBVADzHP3SzusPwP4DvBysuhKd59X1iCrSDR9BgEIzz5JpAQlIhmUiQRlZjXAVcC7gaXAfDO7w92f6lD0FnefU/YAq9GEyTBsBDz7FBym61Aikj1ZacV3CPCcuy9y963Az4FZKcdU1aJcDqbPIDzb8TeAiEg2ZKIGBUwElhTMLwUO7aTcv5jZ24BngM+7+5KOBczsTOBMAHenoaGh0x3W1tZ2uS4NacSz8aA3s2HB3xhbm6NmzLjU4+lO1uIRkdLLSoLqjd8AN7t7i5mdBdwAvLNjIXefC8xNZkNXDQ+yduNnGvGECVMAaHr4fqKDD089nu5kLR7dqCtSellJUC8DexbMT+LVxhAAuPvqgtl5wLfLEFd1mzINhgwhPPvUTglKRCRtWbkGNR+YbmZ7m9kQYDZwR2EBM9ujYPYkYGEZ46tKUW0dTN2f8OyTaYciIrKTTCQod28F5gB3ESced/cnzewSMzspKXa2mT1pZguAs4Ez0om2ukTTZ8CSxYRNG9MORURkB1EIVd3hd1Bnsd0LCxeQv/wCcmdfRPS6g1OPpytZiye5BqUuOERKKBM1KEnR1P2gpkan+UQkc5SgBrmofihMnqb7oUQkc5SghGj6a2HxM4RtW9MORURkOyUoiRtKtLbCC8+kHYqIyHZKUALTZwDoNJ+IZIoSlBANHwkTp6ihhIhkihKUAMlpvuf+SWhrSzsUERFACUra7TMDWjbD0hfSjkREBFCCkkQ0/bUAOs0nIpmhBCUAROMaoGF3NZQQkcxQgpLtoukz4NmnqPLur0SkQihByaumvxbWr4XlL/dcVkSkxJSgZDtdhxKRLFGCklftPgFGjgZdhxKRDFCCku2iKILpr1UNSkQyQQlKdhDt+1pYvZK2xhVphyIig5wSlOwgSvrl2/rUgpQjEZHBTglKdjRpL9hlGNuefDztSERkkFOCkh1EuRqYdgBbF6oGJSLpUoKSnUTT9qdtyQuEzZvSDkVEBjElKNlJNGWfeGLJonQDEZFBTQlKdjZlKgDhpedTDkREBjMlKNlJNGosuXEN8KJqUCKSHiUo6VTt1P1UgxKRVNX2VMDMaoGTgBOAg4AxQDOwAPg9cJu7t5YySCm/uqn7sfXRBwktLUT19WmHIyKDULc1KDP7JLAIOAt4HvgG8Mnk+XngE8CipJxUkdqp+0LIa4RdEUlNTzWofYBD3H15J+t+Dfynme0BnFf0yCRVddP2AyC8tIho2v4pRyMig1G3Ccrdv9DTBtz9FaDHclJZcru+BkaMAl2HEpGU9LqRhJk1dbF8ZfHCkayIogimTFNDCRFJTY+NJArUdVxgZnVATTECMbNjgSuS7c1z90s7rK8HbgQOBlYDH3T3xcXYt3QumjyN8IfbCNu2EdXt9O8XESmp3rTiux8IwFAzu6/D6knAAwMNwsxqgKuAdwNLgflmdoe7F46c9zFgjbvvY2azgW8BHxzovqVr0ZRphLZWWPYitPcuISJSJr2pQc0DIuDNwLUFywOwArinCHEcAjzn7osAzOznwCygMEHNAi5Opn8JXGlmkbuHIuxfOjN5GgDhxedf7f5IRKRMekxQ7n4DgJk95O7/LFEcE4ElBfNLgUO7KuPurWa2FtgVaCwsZGZnAmcm5WhoaOh0h7W1tV2uS0Mm49n/tawaNoKhK5cxKuXYsnZ8RKT0uk1QZnaSu98DVLt2AAALZklEQVQB0F1yKiyXNnefC8xNZkNjY2On5RoaGuhqXRqyGM/q1asJe+7N5meeZGvKsWXt+EyYMCHtEESqXk81qNlm9p/ATcBfgKeB9cBIYF/g7cBHgMeBgSSol4E9C+YnJcs6K7M06d1iNHFjCSmhaMo0wj2/I7S2EtX2pU2NiMjAdNvM3N0/BJxKfHrtJ8AqYEvyfAMwnrg13UcGGMd8YLqZ7W1mQ4DZ7Jzw7gBOT6Y/ANyj609lMHkatG6D5UvTjkREBpneXIN6AphjZgcBz5L0xefuRRvNLrmmNAe4i7iZ+XXu/qSZXQI8kpw+vBb4iZk9BzQRJzEpsWjyNALx0BvRpL3SDkdEBpEohN5VQszsJWA4cD/x6b6/AH/PeC0mLFu2rNMVWbumkdV4Qr6N/NmnEh3xbnKzP5F6PFmRXIOK0o5DpJr1uicJd59M3NT8NuD1wC+ANWb22xLFJhkQ5Wpgz6mEFwdXjxIh30Zvf7yJSGn0aTyo5D6lB4AHgYeANuA1JYhLMiSaMg2WLCLk82mHUhYh30aYdznhF9cpSYmkqNfNsszsFuCtwDLgz8Qt+z7p7utLE5pkxuSp0LIFVi6D8ZPSjqakQgiEm64mzL+f6ANnxH0Sikgq+lKDeiOQJx6ocAHwuJLT4BAV9ChRzUIIhF9dT7jvLqLjTyH3nvenHZLIoNaXa1DTiWtQ9wBHAL83s2fMbF6pgpOM2GNPqBtS9UNvhN//knDXr4mOOp7o5IHeOSEiA9XXa1CvEN+s+xywmPg+qOOKH5ZkSVRTA5P2quoaVP7eOwm//gnRoW8nOvVMndoTyYC+XIO6g7jmtJ64iflvgC+4+7Mlik0yJJo8lfC3+wkhVN2Xd/6hewk/uxoOOoTojHOIcn363SYiJdKXvmtuBc5x9xdKFYxk2ORp8Jf/gcYVsNv4tKMpmvD4w4QfXwH7vY7cWV9Ud04iGdLrT6O7X1/COCTjoilxjxK89HzVJKiwcAH5a74Nk6eRm/NVorohaYckIgV0LkN6Z8IUqKmtmutQYckL5K/6T3jNHuTOuYho6LC0QxKRDpSgpFeiujqYOJlQBS35wprV5P/rEthlGLnPfZ1oxKi0QxKRTihBSa9Fk6fBS4squneFsGUz+Sv/HTZvInf2hURjd007JBHpghKU9N7kabB+LaypzGG4Qr6N/I++C0sWkzvr34j23DvtkESkG0pQ0mvR5KnxRIWe5gt+Hfzf/Pg+p9e9Ke1wRKQHSlDSe5P2hihXkdeh8nf/lnD3b4jeNYvcO45POxwR6QUlKOm1qL4e9phUcS35woL5hFvmwcxDiU45I+1wRKSXlKCkT+KGEpWToMJLz5P/0Xdg8lRyHz8vHt9KRCqCEpT0zZSp0NxEaM5+Q4nQ1Ej+B/8Ow0eQm/M1ovqhaYckIn2gBCV9Eh3wBgDCI39NOZLuhU0byf/X12HLZnKfvYBozLi0QxKRPlKCkj6JJk6GKfsQ/np32qF0KbRuI3/1pbB8KblPnU80Sc3JRSqREpT0WXT4u2DpC5lszRdCINxwJSxcQHTaHKIZM9MOSUT6SQlK+iw65EiorSU8cE/aoewk3H4T4aF7iWZ9iNxhR6cdjogMgBKU9Fk0fCTRzLcQHv4zoXVb2uFsl7/vLsLvnOjIY4hO+GDa4YjIAClBSb9Ehx8NG9bDgvlphwJAeOJRwk0/hAPfSPShT1bdoIoig5ESlPTPjJkwZhz5B9JvLBFefJ78Nd+CSXtp0EGRKqIEJf0S5WqI3voO+MejhLVrUosjNK4g/4NLYPhIcp+9UOM6iVQRJSjpt+iwoyGfJzx0byr7D02ryF/2Ndi2LR50UPc6iVQVJSjpt2j8JJi2P+Gvd5d9jKjQvDpOThvXk/v814kmTC7r/kWk9JSgZECiw46GV5bA4mfLts+wbg35yy6Atc3kzrmYaK/pZdu3iJRP6leTzWwccAuwF7AYMHff6aKGmbUBTySzL7n7SeWKUboWvekIwi0/Ivz1T0R771vy/YX168hffiE0rYpP603bv+T7FJF0ZKEG9WXgbnefDtydzHdms7vPTB5KThkRDRtO9Ia3Ev52P2Hb1pLuK2xcT/57F8DKV+LOX/c9sKT7E5F0ZSFBzQJuSKZvAE5OMRbph+jwd8HmjYS/P1SyfeQ3biD/vYvglSXkPv0VogMOKtm+RCQbUj/FB+zu7q8k08uB3bsoN9TMHgFagUvd/bbOCpnZmcCZAO5OQ0NDpxurra3tcl0aKjmecPg7aPzJ7tTOv4+xx7+/6LHkN29k7SXnwtIXGPOlb1L/5iOKvg8RyZ6yJCgz+xMwvpNVXy2ccfdgZl01B5vi7i+b2VTgHjN7wt136q3U3ecCc5PZ0NjY2OnGGhoa6GpdGio9nnDoUWz9nbPqmX8SjStOog35NsJDfyHcfhM0N5E7699Yv/f+rM/AcZowYULaIYhUvbIkKHd/V1frzGyFme3h7q+Y2R7Ayi628XLyvMjM/gy8Ached9qDVHTY0YTf3kJ48B6iE2xA2wohwD8eI3/rDbB0MUyextjPX8y68XsWJ1gRqQhZuAZ1B3B6Mn06cHvHAmY21szqk+kG4HDgqbJFKD2KdhsP+x5IeGBg90SFxc+Sv+xr8WCDLVuIPvEFcl+9jCEHvqGI0YpIJcjCNahLATezjwEvAgZgZm8CPunuHwcOAK4xszxxUr3U3ZWgMiY67GjC9VeQ/9aXYPQ4ohEjYfhIGDESRowiGj4K6rp4y7Xl4+T2yP/GZWefSfT29xDV1pX3RYhIZkTl7gGgzMKyZcs6XVHp13xKrT/xhJYWwk//m7B6RdzT+YZ1sHE95PO928CQeqJjTiY65n1Eu+zYp17Wjk9yDUpdpouUUBZqUFIlovp6oo99fodlIQTYvOnVZNXW2vUGdp9INHJ0iaMUkUqhBCUlFUURDBseP9gj7XBEpIJkoZGEiIjITpSgREQkk6q+kUTaAUhVUyMJkRKq9hpU1NXDzB7tbn25H4qnIuMRkRKq9gQlIiIVSglKREQyaTAnqLk9FykrxdM9xSMyyFR7IwkREalQg7kGJSIiGaYEJSIimTQouzoys2OBK4AaYJ67X5pyPIuB9UAb0Orubyrz/q8D3gusdPcDk2XjgFuAvYDFgLn7mhTjuRj4BLAqKfYVd7+zTPHsCdxIPNpzAOa6+xVpHiORwWDQ1aDMrAa4CjgOmAGcamYz0o0KgHe4+8xyJ6fE9cCxHZZ9Gbjb3acDdyfzacYD8L3kGM0sV3JKtALnufsM4C3AZ5L3TJrHSKTqDboEBRwCPOfui9x9K/BzYFbKMaXK3e8DmjosngXckEzfAJyccjypcfdX3P2xZHo9sBCYSIrHSGQwGIyn+CYCSwrmlwKHphRLuwD8wcwCcI27Z6EJ8+7u/koyvZz49Fba5pjZacAjxDWasp9OM7O9gDcAD5PNYyRSNQZjDSqLjnD3NxKfdvyMmb0t7YAKuXsg/X4NfwhMA2YCrwCXlTsAMxsB/Ar4nLuvK1yXkWMkUlUGY4J6GdizYH5Ssiw17v5y8rwS+DXxaci0rTCzPQCS55VpBuPuK9y9zd3zwI8o8zEyszri5HSTu9+aLM7UMRKpNoMxQc0HppvZ3mY2BJgN3JFWMGY23MxGtk8DxwD/SCueAncApyfTpwO3pxhLewJo9z7KeIzMLAKuBRa6++UFqzJ1jESqzaDsScLMjge+T9zM/Dp3/0aKsUwlrjVBfE3wZ+WOx8xuBo4CGoAVwEXAbYADk4EXiZtQl6XhQhfxHEV8ei8QN+k+q+D6T6njOQK4H3gCyCeLv0J8HSqVYyQyGAzKBCUiItk3GE/xiYhIBVCCEhGRTFKCEhGRTFKCEhGRTFKCEhGRTFKCEhGRTFKCEhGRTPr/KEePRn2ZAaEAAAAASUVORK5CYII=\n", + "image/png": "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\n", "text/plain": [ "
" ]