{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# DiscreteDP Example: Job Search" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Daisuke Oyama**\n", "\n", "*Faculty of Economics, University of Tokyo*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We study an optimal stopping problem, in the context of job search as discussed in\n", "[http://quant-econ.net/py/lake_model.html](http://quant-econ.net/py/lake_model.html)." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from __future__ import division, print_function\n", "import numpy as np\n", "import scipy.stats\n", "import scipy.optimize\n", "import scipy.sparse\n", "from numba import jit\n", "import matplotlib.pyplot as plt\n", "from quantecon.markov import DiscreteDP" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Optimal solution" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We skip the description of the model, just writing down the Bellman equation:\n", "\n", "\\begin{aligned}\n", "U &= u(c) + \\beta \\left[(1 - \\gamma) U + \\gamma E[V_s]\\right], \\\\\n", "V_s &= \\max\\left\\{U,\n", " u(w_s) + \\beta \\left[(1 - \\alpha) V_s + \\alpha U\\right]\n", " \\right\\}.\n", "\\end{aligned}\n", "\n", "For this class of problem, we can characterize the solution analytically." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The optimal policy $\\sigma^*$ is monotone;\n", "it is characterized by a threshold $s^*$, for which\n", "$\\sigma^*(s) = 1$ if and only if $s \\geq s^*$,\n", "where actions $0$ and $1$ represent \"reject\" and \"accept\", respectively.\n", "The threshold is defined as follows:\n", "Let\n", "\n", "\\begin{aligned}\n", "g(s) &= u(w_s) - u(c), \\\\\n", "h(s) &= \\frac{\\beta \\gamma}{1 - \\beta (1 - \\alpha)}\n", " \\sum_{s' \\geq s} p_s u(w_s).\n", "\\end{aligned}\n", "\n", "It is easy to see that $g$ is increasing and $h$ is decreasing.\n", "Then the threshold $s^*$ is such that $s \\geq s^*$ if and only if $g(s) > h(s)$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given $s^*$, the optimal values can be computed as follows:\n", "\n", "\\begin{aligned}\n", "U &=\n", "\\frac{\\{1 - (1 - \\alpha) \\beta\\} u(c) + \\beta \\gamma \\sum_{s \\geq s^*} p_s u(w_s)}\n", " {(1 - \\beta) \\left[\\{1 - (1 - \\alpha) \\beta\\} +\n", " \\beta \\gamma \\sum_{s \\geq s^*} p_s\\right]}, \\\\\n", "V_s &=\n", "\\begin{cases}\n", "U & \\text{if s < s^*} \\\\\n", "\\dfrac{u(w_s) + \\alpha \\beta U}{1 - (1 - \\alpha) \\beta} & \\text{if s \\geq s^*}.\n", "\\end{cases}\n", "\\end{aligned}\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The optimal policy defines a Markov chain over $\\{\\text{unemployed}, \\text{employed}\\}$.\n", "Its stationary distribution is\n", "$\\pi = \\left(\\frac{\\alpha}{\\alpha + \\lambda}, \\frac{\\lambda}{\\alpha + \\lambda}\\right)$,\n", "where\n", "$\\lambda = \\gamma \\sum_{s \\geq s^*} p(w_s)$;\n", "note that the flow from unemployed to employed is $\\lambda$,\n", "while the flow from employed to unemployed is $\\alpha$.\n", "\n", "The expected value at the stationary distribution is\n", "$$\n", "\\pi_0 U + \\pi_1 \\frac{\\sum_{s \\geq s^*} p_s V_s}{\\sum_{s \\geq s^*} p_s}.\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following implements the job search problem with the analytical solution above:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "class JobSearchModel(object):\n", " \"\"\"\n", " Job search model.\n", " \n", " Parameters\n", " ----------\n", " w : array_like(float, ndim=1)\n", " Array containing wage levels. Must be ordered in ascending order.\n", " \n", " pdf : array_like(float, ndim=1)\n", " Wage distribution.\n", " \n", " beta : scalar(float)\n", " Discount factor\n", " \n", " alaph :scalar(float)\n", " Firing probability.\n", " \n", " gamma : scalar(float)\n", " Wage offer arrival probability.\n", " \n", " rho: scalar(float)\n", " Degree of (constant) relative risk aversion.\n", " \n", " \"\"\"\n", " def __init__(self, w, pdf, beta, alpha=0, gamma=1, rho=0):\n", " w = np.asarray(w)\n", " self.pdf = np.asarray(pdf)\n", " self.beta, self.alpha, self.gamma, self.rho = beta, alpha, gamma, rho\n", " self.u_w = self.u(w)\n", " \n", " def u(self, y):\n", " \"\"\"\n", " y must be array_like.\n", " \n", " \"\"\"\n", " rho = self.rho\n", " small_number = -9999999\n", " y = np.asarray(y, dtype=float)\n", " nonpositive = (y <= 0)\n", " if rho == 1:\n", " util = np.log(y)\n", " else:\n", " util = (y**(1 - rho) - 1)/(1 - rho)\n", " util[nonpositive] = small_number\n", " return util\n", " \n", " def solve(self, c, *args, **kwargs):\n", " \"\"\"\n", " Solve directly s_star and U and V_s.\n", " \n", " \"\"\"\n", " S = len(self.u_w)\n", " \n", " a0 = 1 - (1 - self.alpha) * self.beta\n", " a1 = self.beta * self.gamma\n", " coeff = a1 / a0\n", " u_c = self.u(np.array([c]))[0]\n", " s_star = _bisect(self.u_w, self.pdf, u_c, coeff)\n", " \n", " C = np.zeros(S, dtype=int)\n", " C[s_star:] = 1\n", " \n", " U = a0 * u_c + a1 * self.u_w[s_star:].dot(self.pdf[s_star:])\n", " U /= a0 + a1 * self.pdf[s_star:].sum()\n", " U /= 1 - self.beta\n", " \n", " V = np.empty(S)\n", " V[:s_star] = U\n", " V[s_star:] = (self.u_w[s_star:] + self.alpha * self.beta * U) / a0\n", " \n", " return V, U, C\n", " \n", " def stationary_distribution(self, C):\n", " lamb = self.pdf.dot(C) * self.gamma \n", " pi = np.array([self.alpha, lamb])\n", " pi /= pi.sum()\n", " return pi\n", " \n", " \n", "@jit(nopython=True)\n", "def _bisect(u_w, pdf, u_c, coeff):\n", " lo = -1\n", " hi = len(u_w)\n", " while(lo < hi-1):\n", " m = (lo + hi) // 2\n", " lhs = u_w[m] - u_c\n", " rhs = 0\n", " for i in range(m+1, len(u_w)):\n", " rhs += (u_w[i] - u_w[m]) * pdf[i]\n", " rhs *= coeff\n", " if lhs > rhs:\n", " hi = m\n", " else:\n", " lo = m\n", " return hi" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For comparison, let us also consider the implementation with the DiscreteDP class:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [], "source": [ "class JobSearchModelDiscreteDP(JobSearchModel):\n", " \"\"\"\n", " Job search model with DiscreteDP.\n", " \n", " \"\"\"\n", " def __init__(self, w, pdf, beta, alpha=0, gamma=1, rho=0):\n", " super(JobSearchModelDiscreteDP, self).__init__(w, pdf, beta, alpha, gamma, rho)\n", " \n", " # Number of states\n", " # s = 0, ..., len(w)-1: wage w[s] offered, s = len(w): no offer\n", " num_states = len(w) + 1\n", " \n", " # Number of actions: 0: reject, 1: accept\n", " num_actions = 2\n", " \n", " L = num_states*num_actions - 1\n", " s_indices, a_indices = np.empty(L), np.empty(L)\n", " s_indices[-1], a_indices[-1] = len(w), 0\n", " s_indices[:-1] = np.repeat(np.arange(len(w)), num_actions)\n", " a_indices[:-1] = np.tile(np.arange(num_actions), len(w))\n", " \n", " R0 = np.zeros(L)\n", " R0[[num_actions*i+1 for i in range(len(w))]] = self.u_w\n", " \n", " Q = scipy.sparse.lil_matrix((L, num_states))\n", " it = np.nditer((s_indices, a_indices))\n", " for (s, a) in it:\n", " i = it.iterindex\n", " if a == 0:\n", " Q[i, -1] = 1 - self.gamma\n", " Q[i, :len(w)] = self.pdf*self.gamma\n", " else: # if a == 1\n", " Q[i, s], Q[i, -1] = 1 - self.alpha, self.alpha\n", " \n", " self.ddp = DiscreteDP(R0, Q, beta, s_indices, a_indices)\n", " \n", " self.num_iter = None\n", " \n", " def solve(self, c, *args, **kwargs):\n", " n, m = self.ddp.num_states, self.ddp.num_actions\n", " self.ddp.R[[m*i for i in range(n)]] = self.u(np.array([c]))[0]\n", " res = self.ddp.solve(*args, **kwargs)\n", " V = res.v[:-1] # Values of jobs\n", " U = res.v[-1] # Value of unemployed\n", " C = res.sigma[:-1]\n", " self.num_iter = res.num_iter\n", " \n", " return V, U, C" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following paramter values are from [lakemodel_example.py](https://github.com/QuantEcon/QuantEcon.py/blob/master/examples/lakemodel_example.py)." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "w = np.linspace(0, 175, 201) # wage grid\n", "\n", "# compute probability of each wage level \n", "logw_dist = scipy.stats.norm(np.log(20.),1)\n", "cdf = logw_dist.cdf(np.log(w))\n", "pdf = cdf[1:]-cdf[:-1]\n", "pdf /= pdf.sum()\n", "w = (w[1:] + w[:-1])/2" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [], "source": [ "gamma = 1\n", "alpha = 0.013 # Monthly\n", "alpha_q = (1-(1-alpha)**3) # Quarterly\n", "beta = 0.99\n", "rho = 2 # risk-aversion" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [], "source": [ "js = JobSearchModel(w, pdf, beta, alpha_q, gamma, rho)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [], "source": [ "js_ddp = JobSearchModelDiscreteDP(w, pdf, beta, alpha_q, gamma, rho)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us check that the results coincide:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True\n" ] } ], "source": [ "cs = np.linspace(1, 75, 25)\n", "bools = []\n", "for c in cs:\n", " V, U, C = js.solve(c=c)\n", " V1, U1, C1 = js_ddp.solve(c=c)\n", " bools.append(np.allclose(V, V1))\n", " bools.append(np.allclose(U, U1))\n", " bools.append(np.array_equal(C, C1))\n", "print(all(bools))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Take a look at the optimal solution for $c = 40$ for example:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "c = 40\n", "V, U, C = js.solve(c=c)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimal policy: Accept if and only if w >= 65.1875\n" ] } ], "source": [ "s_star = len(w) - C.sum()\n", "print(r\"Optimal policy: Accept if and only if w >= {0}\".format(w[s_star]))" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAFRCAYAAADpda42AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmcnfPd//HXmwi1JZJaYsmd2BoNJQiJUlFLbaXiRxc7\nRaUIilK9Je67rViqlru00kSJiH1LW8Q2sYUEsYcg0myIJYJIIpN8fn98r0nHmJlMZubMdZb38/GY\nx5zrOtfy+c7MmfM531URgZmZmVWuFfIOwMzMzPLlZMDMzKzCORkwMzOrcE4GzMzMKpyTATMzswrn\nZMDMzKzCORkwK1KSukr6TJIKcO3BkkYU4Lp/l/S/rX3d7Nq/k/SBpFmFuH4j971G0m/b8p5mbc3J\ngFkrkXS0pJclzZP0rqSrJXVYjvOnSvp+zXZETIuINaIwk4EUaoKRKMS1JXUFzgB6RMT6rX39Wvc5\nWtLjtfdFxEkR8btC3dOsGDgZMGsFkn4FDAF+BawJ9AH+C3hQ0kpNvEwArV4L0IBC3qcQ1+4KfBQR\nHxXg2mYVz8mAWQtJWhMYDJwcEWMiYnFE/Bs4FOgGHJ4dN1jS7ZJulvSppOckfSd7bgTpDW901jRw\npqRukpZIWiE7pkrS/0p6MjvmXkmdJY2UNFfSeEn/VSuuKyRNy557VtLOTSzPJEn71dpul1XPb5Nt\n35bVfHwiaaykb9e5RGTHfe1TdlaejbPHK0u6VNK/Jb2XVcevUk88ewBjgPWzcg+X1E/S9DrHLa1Z\nyX7Wt0q6PvtZvyJpu1rHbiTpTkmzJX0o6SpJPYC/AH2z+3ycHfuVpg9Jx0t6U9JHku6R1KVO+U6U\nNFnSHEn/15SfuVnenAyYtdxOwCrAnbV3RsQ84F/AnrV2HwDcCqwF3ATcLWnFiDgCmAbsnzUNXNrA\nvX5MSi42ADYBngKGAZ2AScCgWseOB7auda/bJLVvQnluAn5aa/sHwOyIeCHb/iewKbA28DwwsgnX\nrM+Q7DpbZ983AM6ve1BEPATsA8zKfjbHNnC9us0TPwRGAR2Ae4H/A5C0IvAP4B1S7c0GwKiIeB04\nERiX3adTrevWJDjfB/4AHAJ0Af4N3FznvvsB2wPfAQ6V9INl/iTMcuZkwKzlvgl8GBFL6nnuvez5\nGs9GxJ0RsRi4jJRE9GnifQK4LiLeiYhPgfuAtyLikex6twG9lh4cMTIi5kTEkoi4DFgZ+FYT7nMT\ncECtT+k/I72p1lz37xExLyIWARcAW0tao4llACDrFHk8cEZEfBIRnwMXAj9p6JTluX7m8Yi4P+tz\ncSMp6QDYgfRGflZEzI+IhRHxVBPvcxgwLCJeiIgvgXNJNQldax0zJCI+jYjpwKPANs2I3axNORkw\na7kPgW/WVOfX0QX4oNb2jJoH2ZvUDGB5OsS9X+vxAmB2ne3VazaypobXsur8OaRPyLUTk3pFxNuk\nWoYDJK1K+oR9U3bNFSUNkfSWpLmkT9c05bp1rA2sCjyXVafPISU3y3udxtT+WX0BrJL9jjYC/t1A\n8rYsNbUBwNLan49ItQs13qtz39UxK3JOBsxabhywEDi49k5JqwN7Aw/X2r1RredXADYEaobKLW8v\n/AaPl7QLcBZwSER0jIi1gLk0/RP2KFJTwYHAaxExJdv/M1JTx+4R0QHoXnPLeq4xj/SGXxPTerWe\n+xCYD3w7ItbKvjpGxJpNjK/utVckJRhNMR3omp1T17J+B7NI/UBq7rsa0BmY2cR7mxUlJwNmLRQR\nc0nV5VdJ+oGklSR1I/UNmA7UHs+/naSDJLUDTiN9mn86e+59Uj+AxqiBx3WtAVQDH0pqL+l80iiH\nprqZ1FfgF3y1T8DqpMTn4+yN8A/1xFcT14tAT0lbZ00Og2sOyj6VDwUul7Q2gKQNJO3VxPgmkz7p\n76s0WuO3pGaQphgPvAsMkbSqpFUk7ZQ99z6wob46AqR2mUYBx2RlWplU/qcjYloD92qr0SFmLeJk\nwKwVRMQlwG+AS0mfwJ8mVSfvnrWtQ/rUeQ+pE+DHpPbn/ll7P6Q2899m1eZn1DrnK7eq87ih5+/P\nviYDU0mfwqfVOa7BT8ER8R6pc2Jf4JZaT92QlWsm8AqpVqTemCJiMvA/wEPAG8DjdY79NfAW8HTW\n5PAgsHlDMdU+N0vABgB/IzW1fE5KvBorX01ci0lNH5uSfibTSSM/INXivAq8J2l2rfNqzn0Y+G/g\nDlItQXe+2s+hvnsWak4Hs1ajwsxnkl1cGgj8nJQdD42IK7LhSX8hZfHVwICImFDnvG/x1R66GwP/\nHRFXSupE+uf0X6R/codGxCcFK4RZK5E0CNg0GzlgZlY0ClYzIGlLUiLQm9SLd39JmwAXA4Miohdp\nGNHFdc+NiDciold2zHakTjh3ZU+fAzwYEZuTsvhzClUGs1bmKmMzK0qFbCboATwTEQuyarmxQH9g\nMalXM0BHlt3xZg/g7WyYDqTOS9dnj68HftSqUZsVjquMzawoFayZIJvN6x5Sm+MC0qf48cA1wAOk\nT0krAH1rvdHXd53hpLHZV2fbc7Ke0TVjlT+u2TYzM7PlV+g+A8eSOvnMI3XKWUhKAKoi4i5JhwAn\nRMSeDZzfnlRz8O2I+CDbN6f2m7+kj2vNFGZmZmbLqaDJwFduJP2e1Ov3wojomO0T8Ek2Xrm+cw4E\nToqIvWvtex3oFxHvZXOCPxoRPeo519WxZmZWUSKiWX2TCjq0UNI62feupP4CNwGzJO2aHfJ90tCn\nhvyUWtOgZu4FjsoeHwXc3dDJEVHSX4MGDco9BpejfMrgchTXVzmUoVzKUQ5liGjZ5992LTp72W6X\n1BlYRBpCOFfS8cAV2aQr84ETACStTxp+uF+2vRqp8+Dxda45BLhV0nFkQwsLXAYzM7OyVtBkICK+\nV8++J0kretXdP4u02lfN9jzqmac8Ij4mJQlmZmbWCjwDYRHr169f3iG0inIoRzmUAVyOYlIOZYDy\nKEc5lKGl2qwDYVuTFOVaNjMzs7okEc3sQFjoPgNFJw1gKE9OfszMrDkqLhmA8nzTLOckx8zMCst9\nBszMzCqckwEzM7MK52TAzMyswjkZMDMzq3BOBszMzCqck4EiMmPGDI488kjWW289RowYsXT/m2++\nSc+ePTn77LOZM2dOjhGamVk5qrhJh7JJGXKIqGmef/55DjnkEN5+++2l+2bMmMFTTz3FoYc2vAxD\nsZfLzMwKqyWTDrlmoMh069aN6dOns2TJkqX7brvttkYTATMzs5ZwMlCH1DpfzdWpUydWW201pk2b\nBsAdd9zBwQcf3EqlMzMz+7qKnIGwMcVQ077xxhvzzjvv0L59exYtWkTXrl3zDsnMzMqYk4EitPHG\nG/P2228zceJEzjjjjLzDMTOzMudmgiLUrVs3rr32Wg466KC8QzEzswrgmoEitPnmm9O9e3e6d++e\ndyhmZlYBPLSwTJRruczMrGk8tNDMzMyazcmAmZlZhXMyYGZmVuGcDJiZmVU4JwNmZmYVzsmAmZlZ\nhXMyYGZmVuGcDJiZmVU4JwNmZmYVzsmAmZlZhXMyUEQWLVrElVdeyQorrMAll1zClClTALj++uvp\n1q0bl1xyiaccNjOzVueFiorISiutxA477ECvXr0466yzlu4//PDD+eKLLzjppJNyjM7MzMqVawaK\nzMMPP8yee+75lX3jx49nhx12yCkiMzMrd04G6ho8GKSvfw0e3PTjGzq2CR555BH22GOPr+x7/vnn\n2XbbbZt9TTMzs8Z4CeMiMn/+fNZff33ee+89Vl555aX7r7zySk499dRGzy3mcpmZWeF5CeMy8cor\nr7DFFlt8JRGYOXMmXbp0yTEqMzMrd04Gisi6667LKqussnS7urqakSNH0r9//xyjMjOzcudmgiJz\n4403MmXKFLp06cLixYs57LDDWGONNZZ5XrGXy8zMCqslzQROBspEuZbLzMyaxn0GzMzMrNmcDJiZ\nmVU4JwNmZmZF4p134Lrr2v6+TgbMzMxyEgHPPw/nnw/f+Q7suCM88QQsXNi2cbgDYZko13KZmZWb\nxYth3Di44w64805o3x5+9KP01acPrLhi867bkg6EXqjIzMyswBYtgrFjUwJw992wzjrQvz/885/Q\ns2eayT5PFZkMKO+fupmZlb0FC+Chh1ICMHo0bLJJSgAeeww22yzv6L6q4poJzMzMCmXePLjvvpQA\n3HcfbL11SgD694eNNirsvT3pUD2cDJiZWVv44otU3X/LLfDgg6ndv3//1Adg3XXbLg4nA/VwMmBm\nZoWycCE88ADcfDP861+www7w4x/DQQdBp075xFS0MxBKGijpZUmvSBqY7dtG0tOSJkqaIKl3A+d2\nlHS7pEmSXpO0Y7Z/sKQZ2fkTJe1dyDKYmZlB6gR4//1wzDHQpQv88Y+wyy4weTKMGQPHHZdfItBS\nBasZkLQlMAroDSwC7gd+AVwD/DEiHpC0D3B2ROxWz/nXA2MjYrikdsBqETFX0iDgs4i4bBn3d82A\nmZm1yOLFqcPfLbekfgCbbppqAA45BDbYIO/ovqpYhxb2AJ6JiAUAksYC/YHFQIfsmI7AzLonSuoA\n7BIRRwFERDUwt/YhBYzbzMwq3Msvw4gRcNNNsPba8NOfwoQJ0K1b3pEVRiGTgVeA30vqBCwA9gPG\nA6cDD0i6lNRM0beec7sDH0i6DtgaeA4YGBFfZM+fIulI4FngVxHxSQHLYWZmFWDmzPTmf+ONMGcO\nHH546hfQs2fekRVeQTsQSjoWGADMA14FFpISgKqIuEvSIcAJEbFnnfO2B8YBO0XEBEmXA59GxPmS\n1gE+yA79X6BLRBxXz73dTGBmZo367LM0C+CIEWla4P794YgjUl+AFUpswv6SGE0g6ffADODCiOiY\n7RPwSUR0qHPsesC4iOiebe8MnBMR+9c5rhswOiK2qud+MWjQoKXb/fr1o1+/fq1ZJDMzK0HV1anD\n34gRaSRAv36pFuCHP4RVVsk7uqarqqqiqqpq6fYFF1xQnMmApHUiYrakrsADQB/SJ/6TImKspN2B\nIRHxtREFkh4Dfh4RkyUNBr4REb+W1CUi3s2OOR3oHRE/q+d81wyYmdlSb7yRVgS84Qbo2hWOPBIO\nPRS++c28I2sdxdqBEOB2SZ1JowkGZKMBjgeuyEYIzAdOAJC0PjA0IvbLzj0FGCmpPfA2cEy2/yJJ\n2wABvAOcWOAymJlZifrsM7j1Vhg+HN5+OyUADz8MW2yRd2TFxZMOmZlZWYmAxx9PCcDdd8Nuu8Gx\nx8Lee8NKK+UdXeGURJ+BtuZkwMysssyYAddfn5oCVl45JQCHH962UwLnqZibCczMzApm8eK0INBf\n/wpPPpn6ANx0E/Tunf+ywKXEyYCZmZWcWbNg2DAYOjRNDXziiWmdgNVWyzuy0uRkwMzMSsKSJWlV\nwL/8Baqq0rTA99wDvXrlHVnpczJgZmZF7f33U2fAoUOhY8dUC3DDDbDGGnlHVj6cDJiZWdGJSH0A\nrroqTRB08MFpsaDtt3dfgEJwMmBmZkVjwQIYNQquvBLmzYOTT4Zrr4UOHZZ9rjWfhxaamVnupk+H\na66Bv/0tffo/5RT4wQ9Kb32APLVkaKF/zGZmlouayYEOOQS23jrVBDzxRFovYJ99nAi0JTcTmJlZ\nm5o/PzUFXHUVfPFFqgUYNgzWXDPvyCqXmwnMzKxNfPABXH11+tpuOxg4EPbc0zUArcXNBGZmVrTe\nfBMGDIBvfQtmzoSxY1NTgPsEFA//GszMrCDGjYP+/WGnnaBzZ5g0KY0M6NEj78isLvcZMDOzVrN4\nMdx7L1x6Kbz7LpxxBowY4WmCi52TATMza7H589OKgZddBmutBWedBQcdBCuumHdk1hROBszMrNk+\n/TTND3D55WmlwGHDYOedPUtgqXEyYGZmy+2jj+CKK9LIgL32SlMGb7VV3lFZc7kDoZmZNdm778KZ\nZ8Jmm6VlhJ9+Gm66yYlAqXMyYGZmyzR1ahoe2LMnfPklvPhimjp4003zjsxag5MBMzNr0NSpcPzx\naZKgNddMwwOvvBI22ijvyKw1ORkwM7OvmTYNTjwxJQHrrpsmDhoyJD228uNkwMzMlpoxIzUH9OoF\nnTrBG2/A736XHlv5cjJgZmbMmpUWDPrOd2D11eH11+HCC+Gb38w7MmsLTgbMzCrY7Nlw2mmw5Zaw\n8sopCbj4Ylh77bwjs7bkZMDMrAJ9+ikMHgxbbJGmEH7ttTSF8Drr5B2Z5cHJgJlZBVm4MM0WuNlm\nMGUKPPssXHUVrLde3pFZnjwDoZlZBVi8GG68EQYNSv0CHnrIEwXZfzgZMDMrYxEwejT85jfQsWNK\nCHbeOe+orNg4GTAzK1Pjx8OvfgVz58JFF8G++3oBIauf+wyYmZWZadPgsMPSEsLHHgsTJ8J++zkR\nsIY5GTAzKxOffQbnnZcmDNp00zRh0DHHwIor5h2ZFTsnA2ZmJa66Gq69FjbfPM0g+OKLcMEFafIg\ns6ZwnwEzsxI2ZkzqF9C5M/zjH2ktAbPl5WTAzKwEvf02nH56WkXwkkvgwAPdJ8Caz80EZmYl5Isv\n4PzzYccdYaed4JVX4Ec/ciJgLeOaATOzEhABd90FZ5wBffqkEQIbbZR3VFYunAyYmRW511+HU09N\nKwtedx3stlveEVm5cTOBmVmR+uwzOPvsNGPgvvum2gAnAlYITgbMzIpMBNxxR1pRcPbs1C/gtNNg\npZXyjszKlZsJzMyKyLRpcPLJ8NZbMGoU7LJL3hFZJXDNgJlZEaiuhj/9CbbdFnr3Tk0CTgSsrbhm\nwMwsZ889ByecAB06wFNPpZkEzdqSawbMzHLy+edp4qB9902jBR5+2ImA5cPJgJlZDv75T+jZE+bM\ngVdfhaOO8sRBlh83E5iZtaE5c9LIgCeegOHDYffd847IzDUDZmZt5h//gK22gjXXTCsLOhGwYuGa\nATOzApszBwYOhCefhJEjYddd847I7KsKWjMgaaCklyW9Imlgtm8bSU9LmihpgqTeDZzbUdLtkiZJ\nek1Sn2x/J0kPSposaYykjoUsg5lZS4weDVtuCR07wksvORGw4qSIKMyFpS2BUUBvYBFwP/AL4Brg\njxHxgKR9gLMj4msTbEq6HhgbEcMltQNWi4i5ki4GPoyIiyX9GlgrIs6p5/woVNnMzJbl449TbcC4\ncTBsmJMAKzxJRESzuqEWsmagB/BMRCyIiMXAWKA/sBjokB3TEZhZ90RJHYBdImI4QERUR8Tc7OkD\ngOuzx9cDPypcEczMlt+//pX6BnTqlPoGOBGwYlfImoEewD1AX2AB8DAwnlQz8AAgUjLSNyKm1zl3\nG+CvwGvA1sBzwMCI+ELSnIhYKztOwMc123Wu4ZoBM2tTX3wBZ56ZkoHrr3cSYG2rJTUDBetAGBGv\nS7oIGAPMAyYCS4CTgNMi4i5JhwDDgT3riWtb4OSImCDpcuAc4Pw69whJDb7jDx48eOnjfv360a9f\nv5YWy8ysXs8+C4cdBjvumGoDOnRY9jlmLVFVVUVVVVWrXKtgNQNfu5H0e2AGcGFEdMz2CfgkIjrU\nOXY9YFxEdM+2dwF+HRH7S3od6BcR70nqAjwaET3quZ9rBsys4Kqr4aKL4Mor09ePf5x3RFapirXP\nAJLWyb53JfUXuAmYJamm8uz7wOS650XEe8B0STUTc+4OvJo9vhc4Knt8FHB3YaI3M2vclCmpKeDR\nR9P6Ak4ErFQVtGZA0mNAZ9JogtMj4lFJ3wWuIDUFzAcGRMRESesDQyNiv+zcrYG/Ae2Bt4FjstEE\nnYBbga7AVODQiPiknnu7ZsDMCmbUqLSewLnnphkFV/AUbpazltQMtFkzQVtzMmBmhTBvXkoCnngC\nbr4ZevXKOyKzpGibCczMyslLL8H226d+As8950TAyoeTATOzZYiAa65Jawmce24aNrj66nlHZdZ6\nvDaBmVkjPvkEfv5zePvttLbA5psv+xyzUuOaATOzBkycCNttB126wNNPOxGw8uVkwMysHsOGwV57\nwe9/D1ddBSuvnHdEZoXjZgIzs1rmz4df/jLVBDz2GGyxRd4RmRWeawbMzDJvvQV9+8KCBTB+vBMB\nqxxOBszMgHvugZ12guOPh5EjPVrAKoubCcysoi1ZAhdcANddB6NHp4WGzCqNkwEzq1iffgpHHAEf\nfQQTJsC66+YdkVk+3ExgZhVp8mTo0ycNG3zkEScCVtmanAxIWrWQgZiZtZX77oOdd4aBA+Evf4H2\n7fOOyCxfy0wGJO0k6TXgjWx7G0lXFzwyM7NWFgFDhsBxx8Gdd8KJJ+YdkVlxaEqfgcuBvYF7ACLi\nBUm7FjQqM7NWtnBhmlZ40qQ0bHDDDfOOyKx4NKmZICKm1dlVXYBYzMwK4oMP0iJD8+eniYScCJh9\nVVOSgWmSvgsgqb2kM4FJhQ3LzKx1TJqUOgp+73tw662wqns/mX2NIqLxA6S1gSuAPQABY4BTI+Kj\nwofXfJJiWWUzs/L20EPws5/BxRfD0UfnHY1ZYUkiItSsc8v1DdPJgFllu/ZaOP98uOUW2NW9nKwC\ntCQZWGYHQknX1dkVABFxbHNuaGZWSEuWwNlnp9kEH38cNtss74jMil9TRhP8kywBAL4BHATMKlhE\nZmbNtHAhHHUUzJoF48ZBp055R2RWGpa7mUDSCsCTEdG3MCG1DjcTmFWWuXPhRz+Czp3hxhthlVXy\njsisbbWkmaA50xFvDqzdnJuZmRXCzJmwyy6w5Zapj4ATAbPl05Q+A5/zn2aCAN4Hfl3IoMzMmmrS\nJNhnHzjppNRXQM36XGRW2ZaZDESEV/U2s6L0xBNw8MFw6aVp9UEza54GkwFJ2/GfGoGviYjnCxKR\nmVkT3HtvWmNg5EjYa6+8ozErbQ12IJRURePJwG4FiqlVuAOhWfkaORJ+9as0fLB377yjMSsOnnSo\nHk4GzMrTNdfAH/4A998PPXvmHY1Z8SjopEPZDbYCtgCW9tGNiBuac0Mzs+YaMgSGDoWxY2HjjfOO\nxqx8NGU0wWBgV6AnaQKifYAnACcDZtYmIuDcc1OzwGOPwQYb5B2RWXlpyjwD/4+0SNG7EXEMsDXQ\nsaBRmZllliyBX/4SHn441Qg4ETBrfU1pJpgfEYslVUvqAMwGNipwXGZmVFfDMcfAtGkpGVhzzbwj\nMitPjQ0tvBq4CZggqSMwFHgWmAc81TbhmVmlqq5Ocwd89BHcdx+sumreEZmVr8ZqBiYDlwDrA58D\no4A9gTUj4qU2iM3MKlR1NRx2WFpv4J574BvfyDsis/K2zKGFkroBPwF+DKxKqi0YFRGTCx1cS3ho\noVlpWrQoJQKffQZ33eV1Bsyaqs3mGZDUC7gO2CoiVmzODduKkwGz0rNoEfz0pzB/PtxxhxMBs+VR\n0FULJbWTdICkm4D7gdeB/s25mZlZQ778En78Y1iwAO6804mAWVtqbDrivUjNA/sB40l9Bu6NiM/b\nLrzmc82AWemoSQQWL4bbboOVV847IrPSU5BmAkmPkBKAOyLi4xbElwsnA2aloboafvKT1ERw223Q\nvn3eEZmVJq9NUA8nA2bFb8kSOPpoeP/9tAqhawTMmq/gaxOYmbW2CBgwAKZOTYsOOREwy4+TATNr\ncxFw5pkwcSI8+KAnFDLLm5MBM2tzF1wADz0Ejz7qKYbNioGTATNrU5dcAjffnFYf7NQp72jMDJwM\nmFkbuvpquOYaePxxWGedvKMxsxpOBsysTdx6K/zhD6lGwMsQmxUXJwNmVnCPPAInn5z6CWy8cd7R\nmFldy5yO2MysJSZOTJMK3XorfOc7eUdjZvUpaDIgaaCklyW9Imlgtm8bSU9LmihpgqTeDZw7VdJL\n2XHja+0fLGlGtn+ipL0LWQYza74pU2D//VNfgX798o7GzBpSsGYCSVsCPwd6A4uA+yX9A7gYGBQR\nD0jaJ9verZ5LBNCvnqmQA7gsIi4rVOxm1nKzZ8MPfgDnnQf/7//lHY2ZNaaQfQZ6AM9ExAIASWNJ\nqx0uBjpkx3QEZjZyjYamVWzWdItm1jY+/xz22y81DwwYkHc0ZrYsBVubQFIP4B6gL7AAeJi0+uE1\nwAOkN/QVgL4RMb2e86cAc0nJw18jYmi2fxBwTPbcs8CvIuKTes732gRmOfjyS/jhD6FrV7j2WpBT\nd7M2UbQLFUk6FhgAzANeBRaSEoCqiLhL0iHACRGxZz3ndomIdyWtDTwInBIRj0taB/ggO+x/gS4R\ncVw958egQYOWbvfr149+brQ0K6gIOO44+PBDuPNOaOfxSmYFU1VVRVVV1dLtCy64oDiTga/cSPo9\nMAO4MCI6ZvsEfBIRHZZx7iDg84j4Y5393YDREbFVPee4ZsCsjQ0ZkkYNPP44rLZa3tGYVZaW1AwU\nejTBOtn3rqT+AjcBsyTtmh3yfWByPeetKmmN7PFqwF7Ay9l2l1qHHlSz38zydfvtadTA6NFOBMxK\nTaEr8W6X1Jk0mmBARMyVdDxwhaR2wHzgBABJ6wNDI2I/YD3gzlRxQDtgZESMya55kaRtSKMK3gFO\nLHAZzGwZxo+Hk06CMWM8u6BZKWqzZoK25mYCs7bx73/DTjvBX/6SOg6aWT6KtpnAzMrbp5+mSYXO\nOsuJgFkpc82AmTVLdXVKALp3hz//2UMIzfLmmgEza3OnnQZLlsCVVzoRMCt1HgVsZstt6FB4+GF4\n+mnPJWBWDtxMYGbLZdw4OPDANJfAt76VdzRmVsPNBGbWJmbNgkMOgeHDnQiYlRMnA2bWJAsXptUH\nTzwxjSAws/LhZgIza5ITToAPPoA77oAV/DHCrOi0pJnAXX/MbJn++ld48snUYdCJgFn5cc2AmTXq\nySfhoIPS9802yzsaM2uIOxCaWUHMnAmHHgp//7sTAbNy5mTAzOpVXQ0/+UlagGjfffOOxswKyc0E\nZlavc86BF16Af/3L/QTMSoE7EJpZq/rnP2HkSHj+eScCZpXAyYCZfcW0aXDssWkI4dpr5x2NmbUF\n5/xmttSiRamfwBlnwM475x2NmbUV9xkws6XOPBMmTYLRo908YFZq3GfAzFrs3nvhttvcT8CsEjkZ\nMDOmToW4WQ+lAAAQ00lEQVTjj4e774bOnfOOxszamvN/swpX00/g7LOhb9+8ozGzPLjPgFmFO+88\nmDgxDSdUs1obzawYuM+AmTXL2LFw3XVpciEnAmaVy80EZhXq44/hiCNg2DBYZ528ozGzPLmZwKwC\nRaQFiNZfH664Iu9ozKw1uJnAzJbLddfBG2/AiBF5R2JmxcA1A2YV5s03Yaed4NFHYcst847GzFpL\nS2oG3GfArIIsXgxHHQW//a0TATP7DycDZhXkkktglVXglFPyjsTMiombCcwqxIsvwh57wHPPQdeu\neUdjZq3NzQRm1qiFC+HII1PNgBMBM6vLNQNmFeDcc9NqhHfd5cmFzMqVhxaaWYPGjYO//z01EzgR\nMLP6uJnArIzNnw9HHw3/93+eZdDMGuZmArMyds45MGUK3Hpr3pGYWaG5mcDMvmbChDTT4Esv5R2J\nmRU7NxOYlaEvv4TjjoM//QnWXTfvaMys2DkZMCtDF14I3brBT3+adyRmVgrcZ8CszLz0Euy+O7zw\nAmywQd7RmFlb8aRDZgZAdXVqHhgyxImAmTWdkwGzMvLnP8Maa8Cxx+YdiZmVEjcTmJWJ6dOhVy94\n6inYfPO8ozGztuZmAjPjlFPg1FOdCJjZ8vM8A2Zl4O674Y034JZb8o7EzEqRmwnMStynn0LPnjBy\nJHzve3lHY2Z5aUkzgZMBsxI3cCB8/jkMG5Z3JGaWJ09HbFahnn02NQ28+mrekZhZKStoB0JJAyW9\nLOkVSQOzfdtIelrSREkTJPVu4Nypkl7Kjhtfa38nSQ9KmixpjKSOhSyDWbFasgR++cs0p0DnznlH\nY2alrGDJgKQtgZ8DvYGtgf0lbQJcDAyKiF7A+dl2fQLoFxG9ImKHWvvPAR6MiM2Bh7Nts4ozfDis\nuCIceWTekZhZqStkM0EP4JmIWAAgaSzQH1gMdMiO6QjMbOQa9bV9HADsmj2+HqjCCYFVmI8/hvPO\ng/vvhxU8QNjMWqhgHQgl9QDuAfoCC0if4scD1wAPkN7oVwD6RsT0es6fAswlJQ9/jYih2f45EbFW\n9ljAxzXbdc53B0IrWwMGgJRmHDQzgyIeTSDpWGAAMA94FVhISgCqIuIuSYcAJ0TEnvWc2yUi3pW0\nNvAgcEpEPF47GciO+zgiOtVzvpMBK0vPPQf77QeTJsFaX0uDzaxSFe1ogogYDgwHkPR7YAZwYUQM\nzA65HfhbA+e+m33/QNJdpL4HjwPvS1ovIt6T1AWY3dD9Bw8evPRxv3796NevX0uLZJarmk6Df/iD\nEwGzSldVVUVVVVWrXKvQNQPrRMRsSV1JTQN9gHHASRExVtLuwJCI6F3nvFWBFSPiM0mrAWOACyJi\njKSLgY8i4iJJ5wAdI+JrfQZcM2DlaPhwuPbatP6A+wqYWW3F3EzwGNAZWAScHhGPSvoucAWpVmI+\nMCAiJkpaHxgaEftJ2hi4M7tMO2BkRFyYXbMTcCvQFZgKHBoRn9RzbycDVlY+/RR69IB774Xtt887\nGjMrNkWbDOTJyYCVm3PPhffeg+uuyzsSMytGTgbq4WTAysk770Dv3vDSS7D++nlHY2bFyEsYm5W5\ns8+G0093ImBmheG1CcyK3GOPwYQJcMMNeUdiZuXKNQNmRWzxYjjtNLjoIvjGN/KOxszKlZMBsyJ2\nww0pCTj00LwjMbNy5g6EZkVq3jzYfHO4++7UedDMrDHuQGhWhi67DHbd1YmAmRWeawbMitDs2fDt\nb6eOg9275x2NmZUCzzNQDycDVspOPhnatYPLL887EjMrFU4G6uFkwErVm29C377w+uvwzW/mHY2Z\nlQr3GTArI+edB2ec4UTAzNqOawbMisgzz8DBB8PkybDqqnlHY2alxDUDZmUgIk07PHiwEwEza1tO\nBsyKxH33wQcfwNFH5x2JmVUaJwNmRWDJEvjtb+F3v0ujCMzM2pKTAbMicNdd6ftBB+Ubh5lVJn8G\nMcvZ4sXw3/8Nl14KalbXHzOzlnHNgFnORo2CtdaCffbJOxIzq1QeWmiWo0WLYIstYOhQ2G23vKMx\ns1LmoYVmJervf4du3ZwImFm+XDNglpMFC9ISxbfeCn365B2NmZU61wyYlaChQ2HrrZ0ImFn+XDNg\nloMFC2CTTWD0aNh227yjMbNy4JoBsxIzbFhKApwImFkxcM2AWRtbuBA22wxuvx122CHvaMysXLhm\nwKyEXH899OzpRMDMiodrBsza0KJFqVZg1Cjo2zfvaMysnLhmwKxEjBgBm27qRMDMiotrBszaSHU1\n9OgBw4fD976XdzRmVm5cM2BWAkaNgg03dCJgZsXHNQNmbWDx4tRp8M9/ht13zzsaMytHrhkwK3J3\n3w0dO8L3v593JGZmX+dkwKzAIuCii+Ccc0DNytnNzArLyYBZgT36KHz2GRxwQN6RmJnVz8mAWYFd\ndBGcfTas4FebmRUpdyA0K6Dnn081AlOmQPv2eUdjZuXMHQjNitTFF8PppzsRMLPi5poBswJ5+23Y\ncUd45x1YY428ozGzcueaAbMidOml8ItfOBEws+LnmgGzApg6FbbdFl5/HdZZJ+9ozKwSuGbArIj8\n4x/Qpw/8z/84ETCz0tAu7wAKabPN8o7AKk1EWqb4jjvgu9/NOxozsyaKiLL8AuLDkwdFpP/PX/n6\n8ORBMXlyfO3Lx/v4QhwfgwZFvQb5eB/v4318A8c3Q3pLb957pvsMmJmZlQH3GTAzM7NmczJgZmZW\n4ZwMmJmZVbiCJgOSBkp6WdIrkgZm+7aR9LSkiZImSOrdyPkrZseNrrVvsKQZ2f6JkvYuZBnMzMzK\nXcGSAUlbAj8HegNbA/tL2gS4GBgUEb2A87PthgwEXgNq9wQM4LKI6JV93V+QAhSBqqqqvENoFeVQ\njnIoA7gcxaQcygDlUY5yKENLFbJmoAfwTEQsiIjFwFigP7AY6JAd0xGYWd/JkjYE9gX+BtTtHdms\n3pKlplz+QMuhHOVQBnA5ikk5lAHKoxzlUIaWKmQy8Aqwi6ROklYF9gM2BE4HLpE0DbgEOLeB8/8E\nnAUsqee5UyS9KGmYpI4FiN3MzKxiFCwZiIjXgYuAMcB9wETSG/tJwGkR0ZWUGAyve66k/YHZETGR\nr9cCXAN0B7YB3gX+WKgymJmZVYI2m3RI0u+BGcCFEdEx2yfgk4joUOfYPwBHANXAKsCawB0RcWSd\n47oBoyNiq3ru5xmHzMysojR30qGCJgOS1omI2ZK6Ag8AfYBxwEkRMVbS7sCQiGhsRMGuwJkR8cNs\nu0tEvJs9Ph3oHRE/K1ghzMzMylyhFyq6XVJnYBEwICLmSjoeuEJSO2A+cAKApPWBoRGxXz3XqZ2x\nXCRpm2zfO8CJBS2BmZlZmSvbtQnMzMysacpuBkJJe0t6XdKbkn6ddzxNJWkjSY9KejWbpOnUbH8n\nSQ9KmixpTCmMnqg7WVSJlqGjpNslTZL0mqQdS60ckk7P/pZelnSTpJVLoQyShkt6X9LLtfY1GLek\nc7PX++uS9son6q9roByXZH9TL0q6U1KHWs8VXTnqK0Ot534laYmkTrX2FV0ZoOFySDol+328Iumi\nWvuLrhwN/D01OInfcpehucsdFuMXsCLwFtANWAl4Adgi77iaGPt6wDbZ49WBN4AtSJMynZ3t/zWp\nj0Xu8S6jLGcAI4F7s+1SLMP1wLHZ43akuTFKphzABsAUYOVs+xbgqFIoA7AL0At4uda+euMGvp29\nzlfKXvdvASvkXYZGyrFnTXzAkGIvR31lyPZvBNxPaqrtVMxlaOR3sRvwILBStr12MZejgTKMAX6Q\nPd4HeLS5ZSi3moEdgLciYmpELAJuBg7MOaYmiYj3IuKF7PHnwCTSP/QDSG9MZN9/lE+ETdPAZFGl\nVoYOwC4RMRwgIqojYi4lVg5SErNq1j9nVWAWJVCGiHgcmFNnd0NxHwiMiohFETGV9E9vh7aIc1nq\nK0dEPBgRNXOnPEOaewWKtBwN/C4ALgPOrrOvKMsADZbjJNLotkXZMR9k+4uyHA2UYQn1T+K33GUo\nt2RgA2B6re0Z2b6Skg2Z7EX6Z7FuRLyfPfU+sG5OYTVVfZNFlVoZugMfSLpO0vOShkpajRIqR0TM\nJM3BMY2UBHwSEQ9SQmWoo6G41ye9zmuU0mv+WOBf2eOSKYekA4EZEfFSnadKpgyZzYDvZdXsVZK2\nz/aXUjlOo/5J/Ja7DOWWDJR8b0hJqwN3AAMj4rPaz0Wq/ynaMqrxyaKA4i9Dph2wLXB1RGwLzAPO\nqX1AsZdD0lqkT9PdSP8YVpd0eO1jir0MDWlC3EVfJknnAV9GxE2NHFZ05VCaTfY3wKDauxs5pejK\nUEs7YK2I6EP6AHNrI8cWazkGsIxJ/GpptAzllgzMJLVl1diIr2ZHRU3SSqREYERE3J3tfl/Setnz\nXYDZecXXBDsBB0h6BxgFfF/SCEqrDJD+ZmZExIRs+3ZScvBeCZVjD+CdiPgoIqqBO4G+lFYZamvo\nb6jua35DGljvpFhIOprUlHZYrd2lUo5NSAnmi9nrfEPgOUnrUjplqDGD9Loge60vkfRNSqscR0bE\nXdnj2/lPU8Byl6HckoFngc0kdZPUHvgxcG/OMTWJJAHDgNci4vJaT91L6vhF9v3uuucWi4j4TURs\nFBHdgZ8Aj0TEEZRQGSD13wCmS9o827UH8CowmtIpx7+BPpK+kf1t7UFaAbSUylBbQ39D9wI/kdRe\nUndS1e/4HOJrEqUl188CDoyIBbWeKolyRMTLEbFuRHTPXuczgG2zJpySKEMtdwPfB8he6+0j4kNK\nqxyzlCbmg1SWydnj5S9D3j0kW/uL1KPyDVKHiXPzjmc54t6Z1M7+Amkdh4nA3kAn4KHslzwG6Jh3\nrE0sz678ZzRByZWBtOz2BOBF0qeHDqVWDmAwqSPqy6ROdyuVQhlItUqzgC9JfYCOaSxuUrX1W8Dr\nZD2ri+GrnnIcC7xJStRqXuNXF3M5apVhYc3vos7zU8hGExRrGRoqR/Z6GJG9Pp4D+hVzORp4XXyX\n9CH4BdLsvr2aWwZPOmRmZlbhyq2ZwMzMzJaTkwEzM7MK52TAzMyswjkZMDMzq3BOBszMzCqckwEz\nM7MK52TAzOol6U+SBtbafkDS0Frbf5R0ej7RmVlrcjJgZg15gjTFNJJWADqTlkat0Rd4Moe4zKyV\nORkws4aMI73hA/QEXgE+k9RR0srAFsAPJI2X9LKkv9acKKm3pJckTZR0iaSXs/0rZtvjJb0o6YS2\nLpSZfZ2TATOrV0TMAqolbURKCsaR5jfvC2xPmsb1qojYISK2Ar6RrVwJcB1wfET0Aqr5z4ppx5GW\nU96BtKjK8dmS3WaWIycDZtaYp0hNBTuRkoFx2eOaJoLds/XgXyItlPJtSR2B1SPimewaN/GfZW73\nAo6UNBF4mrTmwKZtVRgzq1+7vAMws6L2JGkxlK1INQHTgTOBuaRP/0OB7SJipqRBwCp8fd30uuvd\nnxwRDxY0ajNbLq4ZMLPGPAXsD3wUyRygI9Anew7gI0mrA4cARMRcUt+CmrXVf1Lreg8AAyS1g7R0\nrKRV26AcZtYI1wyYWWNeIY0iuLHWvpeAVSPio2yo4SvAe8AztY45DhgqaQkwllSTAPA3oBvwvCQB\ns4GDCloCM1smL2FsZq1O0moRMS97fA6wbkR4TgKzIuWaATMrhP0knUv6HzMVODrXaMysUa4ZMDMz\nq3DuQGhmZlbhnAyYmZlVOCcDZmZmFc7JgJmZWYVzMmBmZlbhnAyYmZlVuP8PqlkGxQa017oAAAAA\nSUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(8,5))\n", "ax.plot(w, V, label=r'$V$')\n", "ax.plot((w[0], w[-1]), (U, U), 'r--', label=r'$U$')\n", "ax.set_xlabel('Wage')\n", "ax.set_ylabel('Value')\n", "ax.set_title('Optimal value function')\n", "plt.legend(loc=2)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Performance comparison:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "10000 loops, best of 3: 58.7 µs per loop\n" ] } ], "source": [ "c = 40\n", "%timeit js.solve(c=c)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "100 loops, best of 3: 8.04 ms per loop\n" ] } ], "source": [ "%timeit js_ddp.solve(c=c)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Optimal unemployment insurance policy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We compute the optimal level of unemployment insurance\n", "as in the [lecture](http://quant-econ.net/py/lake_model.html#fiscal-policy),\n", "mimicking [lakemodel_example.py](https://github.com/QuantEcon/QuantEcon.py/blob/master/examples/lakemodel_example.py)." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [], "source": [ "class UnemploymentInsurancePolicy(object):\n", " def __init__(self, w, pdf, beta, alpha=0, gamma=1, rho=0):\n", " self.w, self.pdf, self.beta, self.alpha, self.gamma, self.rho = \\\n", " w, pdf, beta, alpha, gamma, rho\n", " \n", " def solve_job_search_model(self, c, T):\n", " js = JobSearchModel(self.w-T, self.pdf, self.beta,\n", " self.alpha, self.gamma, self.rho)\n", " V, U, C = js.solve(c=c-T)\n", " pi = js.stationary_distribution(C)\n", " \n", " return V, U, C, pi\n", " \n", " def implement(self, c):\n", " \n", " def budget_balance(T):\n", " _, _, _, pi = self.solve_job_search_model(c, T)\n", " return T - pi[0]*c\n", " \n", " # Budget balancing tax given c\n", " T = scipy.optimize.brentq(budget_balance, 0, c)\n", " \n", " V, U, C, pi = self.solve_job_search_model(c, T)\n", " \n", " EV = (C*V).dot(self.pdf)/(C.dot(self.pdf))\n", " W = pi[0] * U + pi[1] * EV\n", " \n", " return T, W, pi" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [], "source": [ "uip = UnemploymentInsurancePolicy(w, pdf, beta, alpha_q, gamma, rho)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimal unemployment benefit: 67.4\n" ] } ], "source": [ "grid_size = 501 #25\n", "cvec = np.linspace(5, 135, grid_size)\n", "Ts, Ws = np.empty(grid_size), np.empty(grid_size)\n", "pis = np.empty((grid_size, 2))\n", "for i, c in enumerate(cvec):\n", " T, W, pi = uip.implement(c=c)\n", " Ts[i], Ws[i], pis[i] = T, W, pi\n", "i_max = Ws.argmax()\n", "print('Optimal unemployment benefit:', cvec[i_max])" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot(ax, y_vec, title):\n", " ax.plot(cvec, y_vec)\n", " ax.set_xlabel(r\"$c$\")\n", " ax.vlines(cvec[i_max], ax.get_ylim()[0], y_vec[i_max], \"k\", \"-.\")\n", " ax.set_title(title)\n", "\n", "fig, axes = plt.subplots(2, 2, figsize=(10, 6))\n", "plot(axes[0, 0], Ws, \"Welfare\")\n", "plot(axes[0, 1], Ts, \"Taxes\")\n", "plot(axes[1, 0], pis[:, 1], \"Employment Rate\")\n", "plot(axes[1, 1], pis[:, 0], \"Unemployment Rate\")\n", "\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXUAAAEZCAYAAABoy7XpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xnc1XP+//HHKxWRkQZpFBlE1og0fE0XQj/50pgZy8g6\n9q1pJoQvLcxYxjpoGJRsqaEhlaFpXFmGIZIWMZakqCwJSV11vX5/vD7XOHLVtZ1zfc7yvN9u161z\nPuecz3mdq+u8zvu83pu5OyIiUhyapB2AiIhkj5K6iEgRUVIXESkiSuoiIkVESV1EpIgoqYuIFBEl\ndZE8Y2bHmdmTacchhUlJXdbKzOaY2UIzWz/j2Klm9nQtH3+PmV1Rw33MzM43s+lm9pWZfWBmo81s\n54bGn+/MrIOZVZrZf9+L7v6Aux+SZlxSuJTUpTaaAH1zeP6bgfOB84CNgY7Ao0CvHD5nvrG0A5Di\noKQuNXHgOqC/mW1U3R3MbAczm2hmn5rZbDP7ZXL8dOBXwIVm9qWZPVbNY7cDzgaOcfdyd69w92Xu\n/qC7X5PcZyMzu9fMFiXfHC41M0tuO8nMnjezG8xssZm9Y2Y/SY7PTb5lnJDxfPeY2e1m9pSZfWFm\n5Wa2ZU2vJeOxt5nZuOSxL5rZjzNuvzF5viVm9rqZ7ZQc72VmU5Pjc81sYMav4Jnk38+Tc3ZLYn82\n47z7mNnLZva5mb1kZj/JuK3czIaY2XPJ4580sx/W/N8qxUpJXWpjClAO9F/9BjPbAJgI3A9sChwD\nDDWzTu7+F+AB4Bp339Ddj6jm3AcCH7j7lLU8/y3AhsDWQHfgBODkjNu7AtOA1sCDwCigC7AN0Ae4\nNbN8RHzQDAE2AV5LYlzra8l47NHAIOIbxdvA75PHHgLsB2zn7hsBvwQ+TR7zFdAnOd4LOMvMqn4X\n+yX/buTuP3D3FzNfuJm1BsYDNyWv7wZgvJltnHG3Y4GTgM2A5lTz/ySlQ0ldasOBy4HzzGyT1W47\nDHjP3Ue4e6W7vwaMIZIaRFlhbaWFHwIL1nSjma1DJNKL3X2pu78PXA8cn3G3qud3YDTQDhiStPon\nAiuAbTPuP87dn3P3FcClwE/MrF0tXgvAGHef4u6riA+DzsnxCuKDp5OZNXH3N919AYC7T3b3mcnl\n6cBDxIdT1e9nbXoBbyZ19kp3fwiYDRye3O7AcHd/292/SV5/5zWcS0qAkrrUSpKUxgEDiERSZStg\n76T0sdjMFhMt4TZVD63h1J8Cbddy+yZAM+D9jGNzgS0yri/MuLwsiffj1Y61zIhnXtUN7r4U+Az4\nUS1fy+rP1TI5zz+BW4HbgIVmdoeZbQhgZnub2dNJ+ehz4Aziw6w2fpS83kzvJ8erZH4oZr5WKUFK\n6lIXA4HT+G5CnQtMdveNM342dPdzkttrSuqTgHZm1mUNt39CtII7ZBzbkozEXEcGtP/vFbOWRFlj\nPjW/lrVy91vcfU9gR6Kz94LkpgeJjt927t4KuJ1v33s1/X7mEx82mbZKjot8j5K61Jq7v0PUqzNH\nwowHOppZHzNrlvzsZWY7JLcvBH68+rkyzvkfYCgw0sy6m1lzM1vPzI4xs4uSMsdo4Pdm1tLMtgL6\nEXXv+jrUzPY1s+bAFcAL7j6/Fq9ljaUSM9szaZE3A74GvgFWJTe3BBa7+woz60q0/quS+cdAJVH/\nr84TSUzHmllTMzsa2IH41vTfp6/rL0CKl5K61NUQYH2SpOTuXwIHE52K84GPgKuIDjuAu4Edk3LG\nmOpO6O7n823pYjHRAXkEMDa5y3nAUuBd4Fmilj286uF8v7W7ttavEy3ngUTpZ3eiM7U2r2Vtz/UD\n4C9EKWcO8Q3jj8ltZwNDzOwL4DLig7HqtX9NdLY+b2afmdnemc/j7p8Stf7fJefsDxzm7p+t4fVW\nF6OUEKvNJhlmNgf4gmh5VLh716RXfhTxVXAOcJS7f567UEUazsyGA/Pc/bK0YxHJhdq21B0oc/fd\n3b1rcmwAMNHdOxJ10QG5CFAky1SqkKJWl/LL6m+Gw4ERyeURQO+sRCSSWypPSFGrbfnlXWAJUX65\nw93vNLPF7r5xcrsBn1VdFxGRdDSt5f32dfePzGxTYKKZzc680d3dzNT6ERFJWa2Surt/lPz7sZn9\njZiWvdDMNnf3BWbWFli0+uOU6EVE6sfd69X/U2NN3czWz5gZtwEx5Gs6MdzsxORuJxKTK6oLrGB/\nBg4cmHoMpRi74k//R/Gn+9MQtWmptwH+liyK1xR4wN2fMrMpwGgz+zXJkMYGRSIiIg1WY1J39/eo\nZoEgj8kPPXIRlIiI1I9mlK5FWVlZ2iHUWyHHDoo/bYq/cNVqSGO9T27muTy/iEgxMjM8Vx2lIiJS\nOJTURUSKiJK6iEgRUVIXESkiSuoiIkVESV1EpIgoqYuIFBEldRGRIqKkLiJSRJTURUSKiJK6iEgR\nUVIXESkiSuoiIkVESV2kgMydCxUV4A7ffPP92z/9FFas+P5xLZZaOpTURfJEZSV88EFcHj8err0W\nli6FM8+EefNg0iTYcUe480447zzo0gUWLYL994cjj4QpU6BTJ7jxRhg3Dnr3jmT+wAPQrl2ca9w4\nePXVeA4l+uKk9dRFUnDffbB4MRxwABx9NIwZAxdcAH//Oxx3HEyYAMuXw047wZtvQrdu8NJLcOKJ\ncMstsPfe8N57kZhPPBEmToRZs+DUU2HkSDCDlSvj3GPHQqtWsM02cd6f/zw+CAYPhnfegddegyVL\n4OCDYcGC+HD50Y/S/g2Vtoasp57rzVNdpJQtXep+/fXuFRXuffu633yz+913u2++uXvr1u5t27p3\n6RKXf/EL94kT49jUqe69e7ufd577M8+4b7KJ+8svuy9b5n7lle5ff+1+yy3ut90WzzNjhvtLL7kv\nX+5+9NHub77pfs457jvv7P7BB3G/3XZzf/FF92bN3Lfd1r1TJ/dTTnHfbDP3Nm3cb701Lh9zjPtn\nn8XzrFyZ7u+vVCW5s155Vy11kSxZuRKaNIEvvoC//hWOPx6OOAL++c9oaX/2WZRRNtwwjl19NRxy\nCOy6KwwbBlddBU2bRku5SZNohZt9e+6mtdkmPsOyZXGeddf9ttRiBrffDr/4RZRxhg+PUs+YMXDl\nlXDddXDJJbDJJlEK+sc/4PHHYfvt4aSTYObMaNXvs09Wf3Wymoa01JXURbLgs8/gwAOhRw947jl4\n+WXo2hXat4devSJpjx0bifvkk6Fjx7Qjjg+Kykpo3jw6Xz/+OMouhx4aNfpZs2DECPjhD6FtWzj3\nXPj1r2HnnSPZ33ZbHGvRIu1XUnyU1EUa0YoV8MYbsO22cNRR0KdPdE5usw089BCcdlq0bF95JZJi\ns2ZpR1w/r78Ojz0GfftCmzbx8+CDUXvfdtuo9T/6aHwLWLkSDjss7YiLh5K6SCNwj5btscfGKJJu\n3aIU8eqrcPbZcOut0Urfd98oexST0aOjc3XTTeH006MDd/HiOD5vXrTen3wyWu/9+kXJR+pPSV0k\nR956C3784xheOH58DBmcMyfKKsuWwb33RlnlyCOLL5HXZPr0GEFz3XWR1Nu1i3H0EybA+utHSWff\nfdOOsjApqYvkwNNPQ8+esN9+MXxw881jaOCoUZG0Si2Jr82558Kee8Ls2dEJ/PbbsPHGcf2WW6Lz\neNCgtKMsHErqIlny2WfRkXn00fCb38DFF8dokSeegK23/nY0ilTvhRfg8stjZM3pp8eHYYsW8Mkn\n8a3n+uujRt+qVdqR5jcldZEGGjQoRnvMmxe181mzorRyxBFpR1a4Fi2KjuMzz4wSVtOmUYe/6y7o\n3j0ub7992lHmJyV1kXr44IMYtTFhAtx8c0yjP/BAuOeeON68edoRFo8bb4zRM/PnRyfz7NmR0J95\n5rvj8SUoqYvUknskko4dYwLNsmWwzjoxamX99WNMdl0n+UjtTZsGv/wl3HADHHNMlLb694dnn4Xt\ntks7uvyhpC5SS9dcAwMGxGSac86Jf3v0gC23TDuy0tOlC3z5ZXRA9+kTwyUrKmLsf6lTUhdZi8WL\nY/x027YwZEi0EmfMiA49fe1Pz5w5kcgfeAAuvTSOdegQs3E//LC0FxVTUhepxvPPR0mlX7/42r/u\nujB5sjrn8s2CBTB0aIyK2XLLWIrg1lvj/2yXXdKOLh1K6iKreeWV6PRcujRGsAwdGptKqMyS3w44\nIBYTq6iAgw6Kb1ItWsRiYqVESV0kce+9McrilFOi5LJ4cXTIadGpwlC1QuWdd0bLfautonN79uxY\ncGyTTUqjZNaQpK45cVLwVqyIOuzIkTGzsWfPGFHRuze8//4gJfQCUjVL92c/i2Gmr78es1FPOCGW\nZjjuuHTjKwRqqUtBc4/dfkaMiGnpkybB55/H1H6z/7Z40g5TGqC8POYSnH467L57zCO49FJ4+OFY\nc6YY5bz8YmbrAFOAee7+v2bWGhgFbAXMAY5y98+reZySuuTEN9/E4lGPPhot9MGDI6nvt99376ek\nXly6d4//9/btY7z78cfHh3iHDmlHll0NSeq1nWbRF5gFbJhcHwBMdPdrzeyi5PqA+gQgUleVlTGu\n+YknIpG/+GKsEFidgQMHNm5wklOjR0PLlrGo2q23wh/+EOvYP/dc2pHljxpb6mbWDrgH+D3w26Sl\nPhvo7u4LzWxzoNzdd6jmsWqpS9YsXQqHHw7rrRfrmJ97Luy4Y2wHJ6Xlvffig/2SS2Ky0gcfwN13\nwxlnwA9+kHZ0DZfrlvqNwAVA5q+qjbsvTC4vBNrU58lFaquyMjrLmjaNhP63v8XEFSlNW28d8xCq\nLnfsGOv1bLdddJCXsrUmdTM7DFjk7lPNrKy6+7i7m9kam+ODMhZRLisro6ys2tOIVGv58lgCd9Uq\nWLgwOkK1q45kGjwYWreOiWXPPhuzhZs3hwsvTDuy2isvL6e8vDwr51pr+cXM/gAcD6wE1iNa62OA\nvYAyd19gZm2Bp1V+kWxavjzGmF9ySazRXVEB//oXbLZZ2pFJvpowITb53mefWBf/jTfSjqj+cjZO\n3d0vcff27r41cAzwT3c/HhgLnJjc7UTg0fo8uUh1KitjwtA228T+n1OmxAYL9Unog7TdTsk4+OAo\nyUyeHDX222+Pcsx776UdWeOq6+Sjqmb31cBBZvYWcEByXSQrBg+O2YPDhsXa2xtsoK3jpGZNm0Yr\nvWlT2GuvmJW66aYxMsY9au6lQJOPJG9ceWWsdf7mm/DSSzHdX6Q+vvwyFnO78cbYM/WTT6Iz9f77\n046sdrRMgBS0N9+Mccd33RWbVPztb0ro0jAbbhibn3TvHqs9HnbYt6NllixJN7ZcU0tdUvXYYzEE\nbcMNo5XeuXPaEUkxqqyMiWq//GUsMzBjBuzwvaEd+aMxZpSKZN2sWbFuy/jx0QmqhC650qRJNB6a\nN48O1Zdeis2wKyqiz6aYqPwijW7u3Fjj/H//F/74Rzj0UNhzz9w8l0a/SJURI2Jd/QMPjNmnO+wQ\nM1CLjcov0mgqK2P8+X77QadOUe889dTcPqcW9JLVvfYanH12LON7003wn//A119Hx2q+0CYZkvcq\nK+HII2Mi0QEHwIMPNs5mB0rqsiarVsFGG8Gxx8bmKm+9FZty5AONfpG8N2RIzPIbODBGuTTW7jVa\npVHWZJ11os7eogXsu2/U2YuBWuqSUy+8AGPGwEMPxe5Em2+edkQi3zdkSMxeXrQI9t47xrenSS11\nyUszZsRSuc2axQQQJXTJV2Vl8fe6336xKFghU0tdsm7JEhg+PEYaXHZZ7E4jUgi+/jo2t77jjqiv\n//Sn6cShjlLJG1UdojNmxLDF669POyKRutljj6izz5oVf8dbbNH4Maj8Innh6afhvPOiLjlrVn4k\ndI1Tl7p6/vlYBKxHDxg79tvlBQqFZpRKVrz6amwrtvPOsY9k8+ZpRyRSPy1axL89esCZZ0af0JIl\n3x7Pdyq/SIN9/HEsdfrHP8baGiLF4JtvYM4c+NWvYm32XXeNZX2bNkJTWOUXSUVlJZx1Vkwm+tWv\nlNCluKy3XiwlsPvucPnl0K4d3HJL2lHVTEld6u3aa6PscswxcMUVaUcjkhuHHx57oJ55ZmFMUFL5\nReps+vRvN7R4+eVowYgUu+nT4Wc/i3Vjnn8eHnkkd8+l8os0mi++gJ//HFq2jA7RfE/oGv0i2dKp\nE3z6aYyM+cc/YpRXPlJLXWqtsjISeps20XFUCLSgl2TT8uWw7rqw//5wwQXRyOnaNdZmzya11CXn\nnnoqNvX99FP405/SjkYkHeuuG/927hyT7M45J9ZpzydK6lKj99+Pqf4nnRTbzxXSGHSt0ii50K9f\nrGd0xx2xPjvA0qXpxlRF5RdZI/dYre7++2PIYv/+aUckkl/eeQe6dYMdd4zNNubPz86y0iq/SE7c\nfXe0RHr2hN/9Lu1oRPLP1lvDQQfB6afDypXw4YdpR6SWulRjyRJ4/PH4ivnMM9HrLyJrd8ghsYjd\ne+/Fbkp77FH/czWkpa61X+Q73OGEE2DatOgQVUIXqZ0uXWDAANhmm5iN2pCk3hAqv8h33HwzfPRR\n7Nd47LFpR9NwGqcujeWyy6Kmftll0Xm6alU65Ri11AWAFStg0iT4wx/g3/8urBEuIvmgahXH3XaL\nCUrbbx+bbjR2YldNXXCPWuALL0TH6JFHph2RSOGqrIRLL4VeveJ9NXNm3bdyVE1dGuTmm2HBgvjq\nqBa6SMM0aQJXXRWXO3eOQQenndZ4z6+kXsK++CKWy331VZVcRHJh111juONhh0Hbto3znCq/lCj3\nmFC03nrRsZPttStEJNaKcY/3WV1o8pHUybx5cOGFsanu0KHFndA1+kXStO66dU/oDaWWeolZvhx+\n8hNo3x6uuSZ2dilmWqVRCpE6SqXWBgyADh1igf9srFEhIvlFSb1EfPUV9O0bi/tPnVo6CV2rNEqp\nWWv5xczWAyYD6xIfAA+7+yAzaw2MArYC5gBHufvn1Txe5Zc8UDUOfaON4Kab4Ic/TDsiEVmbnHWU\nuvs3wP7u3hnoDPQ0s72BAcBEd+8ITEquS5667baY+n/33UroIsWuxvKLu3+dXGwONAMcOBzonhwf\nAZSjxJ53Kirgiivgz3+Gf/1L49BFSkGNQxrNrImZvQYsBJ5y95eANu6+MLnLQqBNDmOUeho0CCZP\nhkcfhe22SzsaEWkMNSZ1d69Myi/tgL3NbOfVbnei9S55pLwchg+H0aNh333TjiY9GqcupabWo1/c\nfYmZPQ0cAiw0s83dfYGZtQUWrelxmW+qsrIyysrK6h+t1Eq/fjGp6LHHoI2+Q4nkvfLycsrLy7Ny\nrppGv2wCrHT3z82sBfAkcDVQBnzq7teY2QCglbt/r6au0S+Nb+xYOP/8WM+5Vau0oxGR+sjl5KO2\nwAgzW4co1Yxy9wlm9iIw2sx+TTKksT5PLtk1blwsHvTII0roIqVKywQUib/+Ffr3j9EuJ5yQdjQi\n0hANaakrqReBefNiP8Rx46Br17SjEZGG0iqNJezJJ+HAA2MJACX079PoFyk1aqkXsPnzo4X+pz/F\nZhdN9BH9PVqlUQqRyi8lqLISDj4YunePTS6kekrqUohUfikxixbFDFF3uPjitKPJb1qlUUqNWuoF\npmrFxR13hKuvTjsaEckFbZJRIlaujKVz582Dhx9OOxoRyUdK6gXktNPglVdg1CituCgi1VNSLxBj\nxsBzz8WuRS1bph2NiOQrdZQWgMmT4eyz4b77lNDrSuPUpdSopZ7nnn8ejjoKbrwRunVLOxoRyXca\n/ZLHvvwSOneG66+H3r3TjkZEGosmHxWhDz+EM86ATTeFYcPSjkZEGpMmHxWZVaui5LLFFrEEgIhI\nbammnoeuuw6aNYvdi7Sei4jUhVJGnvnLXyKp33OPEno2aPSLlBrV1PPI44/HVnSPPBKrL0rDaUEv\nKUTqKC0Cn3wCu+4KI0fGyouSHUrqUojUUVrg3n8ffvYzOPZYJfRs0yqNUmrUUk/ZqlXwP/8DP/1p\n7C+qNV1ERKs0FrDrroMWLeCqq9QxKiINp6Seovvui6Q+ZYoSuohkh1JJSsrLYcAA+PvfYaut0o5G\nRIqFknoKvvwSTj45xqR36ZJ2NMVN49Sl1CipN7LPP4cTToD994devdKORkSKjUa/NLKjjoKmTaOV\nrrXRRaQ6Gv1SIEaPhunTY/ei9dZLOxoRKUZK6o3k9ddjCYCxY5XQRSR3lNQbwdy5cOCBcMMN0LVr\n2tGISDFTR2mOVVTAqafCb34Dxx+fdjSlR6NfpNSoozSHKivhkENixuiYMdFBKo1LC3pJIVJHaZ76\n85/hq69igtE666QdjYiUAiX1HHn3XRg4EJ57Tgk9TVqlUUqNyi858O67Mbmof38477y0oxGRQqNN\nMvJIZWWMdDn0ULjggrSjEZFCpE0y8sjtt8M338Bvf5t2JCJSimpM6mbW3syeNrOZZjbDzM5Pjrc2\ns4lm9paZPWVmrXIfbn6bMAEuvxyGDVMdXUTSUZuWegXQz913AroB55hZJ2AAMNHdOwKTkusla+5c\nOPFEeOwx6NQp7WikisapS6mpMam7+wJ3fy25/BXwBrAFcDgwIrnbCKB3roLMd8uWwSmnQN++sO++\naUcjIqWsTh2lZtYBmAzsDMx1942T4wZ8VnU94/5F31HqDr/4RZRbHngAmjVLOyIRKXSNMvnIzFoC\njwB93f3LyOPB3d3Mijt7r8HDD8Mbb8Crryqhi0j6apXUzawZkdDvc/dHk8MLzWxzd19gZm2BRdU9\nNrOmWVZWRllZWYMCzieffBIrL44Zo5UXRaT+ysvLKS8vz8q5aiy/JKWVEcCn7t4v4/i1ybFrzGwA\n0MrdB6z22KItv3zxRdTPe/eGK65IOxoRKSa5Hqe+L9AH2N/MpiY/PYGrgYPM7C3ggOR6yRgwAPba\nSwk932n0i5QazSith4cegt/9DmbOhFYlPzo/v2mVRilEWqWxEU2bFuu5TJqkhC4i+UfLBNTBypXw\n61/D1VfDrrumHY3UhlZplFKj8ksdnH8+vP02jB8PVq8vRiIiNVP5pRE8+CA8+ST8+99K6CKSv9RS\nr4VFi2CXXaKFvueeaUcjIsVOS+/m0LJlcNxxcMIJSugikv+U1GswcCBssAFcdVXakUh9aJy6lBrV\n1Nfi5ZdhxAiYPh2a6jclIgVANfU1mDcPunaFW2+FI49MOxoRKSXaozTL3OGII6BLlyi/iIg0Jg1p\nzLI77oB33olldUVECola6quZMgV69YLnnoPttks7GhEpRRrSmCUVFXDqqXDddUroxUKjX6TUqKWe\n4Zxz4P334fHHNWu0WGiVRilEqqlnwWOPwd//DlOnKqGLSOFSUie2pTvrLBg1Cn7wg7SjkWzSKo1S\nakq+/OIORx0FW20VtXQRkbSp/NIAo0bFDkb33Zd2JCIiDVfSLfWPPoLOnbX6oojkFw1prIfKSjjl\nFDjzTCV0ESkeJZvUb7oJliyB//u/tCORXNI4dSk1JVlTnzo19hl96SVo1iztaEREsqfkauorVkS5\n5cILoU+ftKMREfk+1dTrYMgQ6NAhdjMSESk2JVV+eeIJuPfeKLto1qiIFKOSKb8sXQo77wx33gk9\neqQdjYjImqn8UgsXXQT77KOEXmo0+kVKTUm01MeOhd/+NtZKb9Uq7WikMWmVRilE2s5uLb76Cnba\nCe65B/bfP9VQJAVK6lKIVH5Zi759I5kroZcmrdIopaaoW+pjx0L//vDqq9CyZWphiIjUicov1Vi6\nNMouw4bBAQekEoKISL0oqVfjpJNiLPrw4ak8vYhIvWk99dWMHQvPPw+vvZZ2JCIijavoOkqXLIkN\npO+6CzbYIO1oJG0apy6lpuiS+kUXwaGHQvfuaUciItL4aqypm9kwoBewyN13SY61BkYBWwFzgKPc\n/fNqHtuoNfXJk2OhrpkzYaONGu1pRUSyKtfj1IcDPVc7NgCY6O4dgUnJ9VR98UV0jt5xhxK6iJSu\nWo1+MbMOwOMZLfXZQHd3X2hmmwPl7r5DNY9rtJb6KadA06bwl780ytOJiORMGqNf2rj7wuTyQqBN\nPc+TFePHR+ll2rQ0oxARSV+DhzS6u5vZGpvjmaMPysrKKCsra+hTfsdXX8HZZ8ckI80aldUNGjRI\nI2Ak75WXl1NeXp6VczWk/FLm7gvMrC3wdFrll379YPHiWLBLZHVa0EsKURrll7HAicA1yb+P1vM8\nDTJlCowcCTNmpPHsIiL5p8bRL2Y2EvgXsL2ZfWBmJwNXAweZ2VvAAcn1RrViBZx6Klx7LWyySWM/\nuxQKrdIopaZg134ZPDj2Gh03TvuNikhxKbkFvaZNg4MOgqlTYYstsn56EZFUldQmGatWRdnl6quV\n0EVEVldwSX3o0Fio6+ST045ERCT/FFRSnz8fhgyB229XHV1qR2PUpdQUVFLv2xfOOgt2+N6IeBER\ngQLqKB03LiYaTZ8O662XlVOKiOSlot/5aOlSOPfc2PhCCV1EZM0KoqV+4YXw4Ydw//1ZCEpEJM8V\ndUt92rRY10VLAYiI1CyvO0orK+HMM+H3v4fNNks7GilEGv0ipSavyy+33x4ll2eegSZ5/fEj+Uqr\nNEohKsplAhYsgF12gfJy2Gmn7MYlpUNJXQpRUS4T0K9fLAeghC4NoVUapdTkZUv9ySdjktGMGbD+\n+jkITEQkjxVVS/3rr2N7uqFDldBFROoq75L6lVfCXntBz55pRyIiUnjyqvwycyaUlcHrr0PbtjkL\nS0QkrxVF+aVqTPrgwUrokj0apy6lJm+S+rBhUFEBZ5yRdiQiIoUrb8ovffrABRfAbrvlLBwRkYJQ\nlJOPRERKVVHU1EVEpOGU1EVEioiSuhQ1jX6RUqOauhQ1LeglhUg1dRERAZTUpchplUYpNSq/iIjk\nGZVfREQEUFIXESkqSuoiIkVESV2KmsapS6lRUhcRKSIa/SIikmc0+kVERIAGJnUz62lms83sP2Z2\nUbaCEhGR+ql3UjezdYBbgZ7AjsCxZtYpW4Hlg/Ly8rRDqLdCjh0Uf9oUf+FqSEu9K/C2u89x9wrg\nIeCI7IRJ11smAAAFLklEQVSVHwr5D6OQY4fsxZ/W6Bf9/tNV6PE3REOS+hbABxnX5yXHRPLG4MGD\n0w5BpFE1JKlrWIuISJ6p95BGM+sGDHL3nsn1i4FKd78m4z5K/CIi9dDoG0+bWVPgTeBA4EPgJeBY\nd3+jXicUEZEGa1rfB7r7SjM7F3gSWAe4WwldRCRdOZ1RKiIijSsnM0oLbVKSmbU3s6fNbKaZzTCz\n85Pjrc1sopm9ZWZPmVmrtGNdGzNbx8ymmtnjyfWCid/MWpnZw2b2hpnNMrO9CyV+M+uX/N1MN7MH\nzWzdfI7dzIaZ2UIzm55xbI3xmtnFyXt5tpkdnE7U31pD/H9M/nammdkYM9so47a8jz/jtt+ZWaWZ\ntc44Vqf4s57UC3RSUgXQz913AroB5yQxDwAmuntHYFJyPZ/1BWbx7cikQor/ZmCCu3cCdgVmUwDx\nm9kWwHlAF3ffhShFHkN+xz6ceH9mqjZeM9sROJp4L/cEhppZ2suLVBf/U8BO7r4b8BZwMRRU/JhZ\ne+Ag4P2MY3WOPxcvruAmJbn7And/Lbn8FfAGMeb+cGBEcrcRQO90IqyZmbUDDgXuAqp6zQsi/qRV\ntZ+7D4Por3H3JRRI/ETf1PrJ4IH1iYEDeRu7uz8LLF7t8JriPQIY6e4V7j4HeJt4j6emuvjdfaK7\nVyZX/w20Sy4XRPyJG4ALVztW5/hzkdQLelKSmXUAdif+MNq4+8LkpoVAm5TCqo0bgQuAyoxjhRL/\n1sDHZjbczF41szvNbAMKIH53nw9cD8wlkvnn7j6RAoh9NWuK90fEe7hKIbyfTwEmJJcLIn4zOwKY\n5+6vr3ZTnePPRVIv2J5XM2sJPAL0dfcvM29L1hDOy9dmZocBi9x9Kt+20r8jn+MnWrp7AEPdfQ9g\nKauVK/I1fjPbmGjldiDegC3NrE/mffI19jWpRbx5+1rM7FJghbs/uJa75VX8ZrY+cAkwMPPwWh6y\n1vhzkdTnA+0zrrfnu580ecnMmhEJ/T53fzQ5vNDMNk9ubwssSiu+GuwDHG5m7wEjgQPM7D4KJ/55\nRCvl5eT6w0SSX1AA8fcA3nP3T919JTAG+AmFEXumNf2trP5+bpccyztmdhJRgjwu43AhxL8N0SiY\nlryH2wGvmFkb6hF/LpL6FGA7M+tgZs2JIv/YHDxP1piZAXcDs9z9poybxgInJpdPBB5d/bH5wN0v\ncff27r410Un3T3c/nsKJfwHwgZl1TA71AGYCj5P/8b8PdDOzFsnfUQ+is7oQYs+0pr+VscAxZtbc\nzLYGtiMmGuYVM+tJlB+PcPdvMm7K+/jdfbq7t3H3rZP38Dxgj6QcVvf43T3rP8D/I2abvg1cnIvn\nyHK8/0PUol8DpiY/PYHWwD+I3vSngFZpx1qL19IdGJtcLpj4gd2Al4FpRGt3o0KJHxhEdK5PJzoZ\nm+Vz7MS3uQ+BFUT/18lri5coDbxNjEg6JA/jPwX4D/EBW/X+HVoA8S+v+v2vdvu7QOv6xq/JRyIi\nRSTt8ZoiIpJFSuoiIkVESV1EpIgoqYuIFBEldRGRIqKkLiJSRJTURUSKiJK6iEgRUVIXESkiSupS\ncsysl5mdbGYjzWzLtOMRySYtEyAlJVk07Ap3P9rM1nX35WnHJJJNaqlLqTkJuB9ACV2KkZK6lJqm\nxC5FmNlmyZrVIkVD5RcpKWb2Y2KN/xlAC3cfnXJIIlmlpC4iUkRUfhERKSJK6iIiRURJXUSkiCip\ni4gUESV1EZEioqQuIlJElNRFRIqIkrqISBH5/+q90RZBjLHaAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "plot(ax, cvec-Ts, \"Net Compensation\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.1" } }, "nbformat": 4, "nbformat_minor": 0 }