{ "metadata": { "name": "development-ipynbtools-test" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# QuTiP development notebook for testing functions qutip.ipynbtools\n", "\n", "Copyright (C) 2011 and later, Paul D. Nation & Robert J. Johansson" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%pylab inline" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 28 }, { "cell_type": "code", "collapsed": false, "input": [ "from qutip import *\n", "import qutip.ipynbtools" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 29 }, { "cell_type": "code", "collapsed": false, "input": [ "import time" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 30 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Software versions" ] }, { "cell_type": "code", "collapsed": false, "input": [ "qutip.ipynbtools.version_table()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
SoftwareVersion
Cython0.19-dev
SciPy0.13.0.dev-38ad5d2
QuTiP2.3.0.dev-71d6e0c
Python2.7.3 (default, Sep 26 2012, 21:51:14) \n", "[GCC 4.7.2]
IPython0.13
OSposix [linux2]
Numpy1.8.0.dev-bd7104c
matplotlib1.3.x
Tue Apr 23 16:06:27 2013 JST
" ], "output_type": "pyout", "prompt_number": 31, "text": [ "" ] } ], "prompt_number": 31 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## IPython.parallel based parfor\n", "\n", "To run the following examples you first need to start an IPython cluster. Easy to do from the \"Clusters\" tab on the IPython notebook dashboard page, or from the command-line using\n", "\n", " $ ipcluster start -n 4\n", "\n", "### Simple example" ] }, { "cell_type": "code", "collapsed": false, "input": [ "delay_times = numpy.random.rand(10)\n", "\n", "delay_times" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 32, "text": [ "array([ 0.85397305, 0.6850936 , 0.99509335, 0.85106784, 0.65212566,\n", " 0.47303261, 0.18808245, 0.13273333, 0.72033813, 0.53014309])" ] } ], "prompt_number": 32 }, { "cell_type": "code", "collapsed": false, "input": [ "def task(delay):\n", " import os, time\n", "\n", " t0 = time.time()\n", " pid = os.getpid()\n", " time.sleep(delay)\n", " t1 = time.time()\n", " \n", " return (t1-t0) # return the actual delay" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 33 }, { "cell_type": "code", "collapsed": false, "input": [ "result = map(task, delay_times)\n", "\n", "result" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 34, "text": [ "[0.8548479080200195,\n", " 0.6857919692993164,\n", " 0.9961011409759521,\n", " 0.8519401550292969,\n", " 0.6527969837188721,\n", " 0.4735140800476074,\n", " 0.1882779598236084,\n", " 0.1328730583190918,\n", " 0.7210910320281982,\n", " 0.530709981918335]" ] } ], "prompt_number": 34 }, { "cell_type": "code", "collapsed": false, "input": [ "result = parfor(task, delay_times)\n", "\n", "result" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 35, "text": [ "[0.8548691272735596,\n", " 0.685809850692749,\n", " 0.996117115020752,\n", " 0.8517839908599854,\n", " 0.6528029441833496,\n", " 0.47353196144104004,\n", " 0.18828606605529785,\n", " 0.13289308547973633,\n", " 0.7210750579833984,\n", " 0.5306930541992188]" ] } ], "prompt_number": 35 }, { "cell_type": "code", "collapsed": false, "input": [ "result = qutip.ipynbtools.parfor(task, delay_times, show_scheduling=True, show_progressbar=True)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "
 
\n", "
\n", "

\n" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#d1f13e5c-eb43-4a38-8aae-b0341c5949d0').width('0%');$('p#ffab678b-9a9b-46f3-bbb9-bfff233cd389').text('Elapsed time: 0.00s. Est. remaining time: 0.00s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#d1f13e5c-eb43-4a38-8aae-b0341c5949d0').width('40%');$('p#ffab678b-9a9b-46f3-bbb9-bfff233cd389').text('Elapsed time: 1.01s. Est. remaining time: 1.51s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#d1f13e5c-eb43-4a38-8aae-b0341c5949d0').width('80%');$('p#ffab678b-9a9b-46f3-bbb9-bfff233cd389').text('Elapsed time: 1.51s. Est. remaining time: 0.38s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#d1f13e5c-eb43-4a38-8aae-b0341c5949d0').width('100%');$('p#ffab678b-9a9b-46f3-bbb9-bfff233cd389').text('Elapsed time: 1.77s. Est. remaining time: 0.00s.');" ], "output_type": "display_data", "text": [ "" ] }, { "output_type": "display_data", "png": "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\n27dv1/Tp0yVJMTExatmypY4ePaoOHTpUaa128Oe5zhv+Ns95y1/nOm/461xXIStv0CoqKjKefPJJ\nIy8vz7h3757Hm9J37NjhVzcretP/6dOnjZiYGGPHjh02VVn5vOn7m0aNGmWsWbOmCiu0jje9Hzly\nxOjZs6dRXFxs3Lp1y0hISDAOHz5sU8WVx5veJ0+ebLz11luGYRhGfn6+ERUVZRQUFNhRriXy8vK8\nuind3+Y6w3h47/44z33Tw3r/Jn+a68o8rHd/nesqYukKVVBQkObPn68+ffqopKREo0ePVlxcnH73\nu99JksaNG6f+/fvr73//u1q1aqW6devq008/tbKkKuVN/2+//bauXr3qvr4eHBysXbt22Vm2ad70\n7a+86b1Nmzbq27ev2rdvr4CAAI0ZM0bx8fE2V26eN71PmzZNr7zyihITE1VaWqr33ntPERERNlde\nOV544QVt2bJFly9fVvPmzZWRkaGioiJJ/j/XeerdH+e5Mp5692eeevfXua4itr05MgAAgL9gp3QA\nAACTCFQAAAAmEagAAABMIlABAACYRKACUONlZ2dr0KBBdpcBwIcRqAAAAEwiUAGw3a1btzRgwAA5\nnU61a9dOK1eu1N69e5WWlqYOHTqob9++ys/PlySdOHFCvXr1ktPpVEpKivLy8iRJU6ZMUbt27dS+\nfXutXLlS0oOVp7S0ND3//POKi4vTiBEj3GNmZWUpLi5OKSkp+utf/+r++pYtW5SUlKSkpCQlJyer\nsLCwCn8SAHyVf7zNOwCflpWVpaioKGVmZkqSbty4oX79+mn9+vVq0KCBVqxYoenTp2vx4sV66aWX\nNG3aND377LO6f/++SkpKtGbNGh04cEAHDx7UpUuX1LFjRz311FOSpJycHOXm5qpJkybq1q2btm/f\nruTkZI0dO1abN29WTEyMhg8f7n5fvTlz5ujjjz9Wly5ddPv2bdWqVcu2nwsA38EKFQDbtW/fXp99\n9pmmTp2qL774QmfOnNFXX32lXr16KSkpSe+8847Onz+vwsJCXbhwQc8++6wk6bHHHlOdOnW0bds2\nvfjii3I4HGrUqJF+/OMfa/fu3XI4HOrUqZOaNm0qh8Mhp9OpvLw8ff3112rZsqViYmIkSSNGjHC/\naW23bt00efJkffjhh7p69aoCAwNt+7kA8B2sUAGwXWxsrPbv36/MzEz9+te/Vo8ePdS2bVtt3769\n3HE3b96s8Bz//aYPZStO31xhCgwMVHFxsfu57/reN954QwMHDlRmZqa6deumjRs3qnXr1t+7NwA1\nAytUAGx38eJF1a5dWy+99JJ+8YtfaNeuXbp8+bJ27twpSSoqKlJubq7CwsLUrFkzrVu3TpJ07949\n3blzR6mpqVqxYoVKS0t16dIlbd26VZ06dfpWyJIeBK02bdrI5XLp1KlTkqTly5e7nz958qTatm2r\nX/7yl+rYsaOOHj1aBT8BAL6OFSoAtjt06JCmTJmigIAAPfbYY1qwYIECAwM1ceJEXb9+XcXFxZo8\nebLi4+O1dOlSjRs3Tm+++aaCg4O1evVq/eQnP9GOHTuUmJgoh8Oh999/X40aNdKRI0e+tRolPVi1\nWrhwoQYMGKCQkBClpqbq1q1bkqR58+Zp8+bNCggIUEJCgvr161fVPw4APog3RwYAADCJS34AAAAm\nEagAAABMIlABAACYRKACAAAwiUAFAABgEoEKAADApP8Dkhy6glHWkKwAAAAASUVORK5CYII=\n" } ], "prompt_number": 36 }, { "cell_type": "code", "collapsed": false, "input": [ "result" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 37, "text": [ "[0.8548541069030762,\n", " 0.6857941150665283,\n", " 0.9953198432922363,\n", " 0.8512799739837646,\n", " 0.6527988910675049,\n", " 0.4735231399536133,\n", " 0.18829107284545898,\n", " 0.13288402557373047,\n", " 0.7210788726806641,\n", " 0.5306930541992188]" ] } ], "prompt_number": 37 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### QuTiP example 1: steady state of a qubit-cavity system" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def visualize_results(g_vec, n_vec):\n", " \n", " fig, ax = subplots()\n", " ax.plot(g_vec, n_vec, lw=2)\n", " ax.set_xlabel('Coupling strength (g)')\n", " ax.set_ylabel('Photon Number')\n", " ax.set_title('# of photons in the steady state')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 38 }, { "cell_type": "code", "collapsed": false, "input": [ "def compute_task(g, args):\n", " wc, wa, N, kappa, n_th = args['wc'], args['wa'], args['N'], args['kappa'], args['n_th']\n", " \n", " a = tensor(destroy(N), qeye(2))\n", " sm = tensor(qeye(N), destroy(2))\n", " nc = a.dag() * a\n", " na = sm.dag() * sm\n", "\n", " c_ops = [sqrt(kappa * (1 + n_th)) * a, sqrt(kappa * n_th) * a.dag()]\n", "\n", " H0 = wc * nc + wa * na\n", " H1 = (a.dag() + a) * (sm + sm.dag())\n", " H = H0 + g * H1\n", " \n", " rho_ss = steadystate(H, c_ops)\n", " return expect(nc, rho_ss)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 39 }, { "cell_type": "code", "collapsed": false, "input": [ "# problem parameters\n", "args = {'wc': 1.0 * 2 * pi, # cavity frequency\n", " 'wa': 1.0 * 2 * pi, # atom frequency\n", " 'N': 25, # number of cavity fock states\n", " 'kappa': 0.05,\n", " 'n_th': 0.5,\n", " }\n", "\n", "g_vec = linspace(0, 2.5, 50) * 2 * pi" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 40 }, { "cell_type": "code", "collapsed": false, "input": [ "# serial calculation\n", "t0 = time.time()\n", "n_vec = array([compute_task(g, args) for g in g_vec])\n", "t1 = time.time()\n", "\n", "print \"elapsed =\", (t1-t0)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "elapsed = 4.68055295944\n" ] } ], "prompt_number": 41 }, { "cell_type": "code", "collapsed": false, "input": [ "visualize_results(g_vec / (2 * pi), n_vec)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEXCAYAAACjyo8UAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcVNX7B/DPCCirbG4IIqSluIACQi4o7iuapuaOSy6V\npWV7lqhZmvotl9JScyN3f6nhmiYumCsoluUObmgmiCAgMJzfHydHkW2AGe4w83m/XvNi7sy99zxz\nHR8O5577XJUQQoCIiIxWBaUDICIi/WKiJyIyckz0RERGjomeiMjIMdETERk5JnoiIiPHRG8C7ty5\ng9atW6Ny5cp47733ir19hQoVcOXKFT1Eph+HDh1C/fr1dba/4cOH49NPP9XZ/pQQFhaGoUOHKh0G\nKYSJ3oAFBATg0qVLuHLlCvz8/Eq8nx9++AHVqlXDgwcPMHv2bB1GWLi4uDhUqFABOTk5ZdYmAAQF\nBeHvv/8u0bYrVqxAUFBQrtdUKhVUKpUuQitWu7qkj/iDg4OxbNkyrdfnLxvlMNEbqKysLFy7dg11\n69bFqVOnSpXo4+Pj4eXlpcPoiofX5Bknff/yIx0SZJCio6NF27ZthRBCvP/+++K7774rdP2oqCjh\n7+8v7O3tRbNmzcSRI0eEEEKEhoYKCwsLUbFiRWFrayv27duXZ9vQ0FAxduxY0bFjR2FnZyfatGkj\n4uPjNe+rVCqxePFi8fzzzwsHBwfxxhtvaN7LyckR06dPF7Vr1xbVqlUTw4YNE8nJyUIIIWrVqiVU\nKpWwtbUVtra24ujRo4Wuf/XqVaFSqcTKlSuFu7u7qFKlipgxY4amrWPHjgk/Pz9RuXJlUb16dfHO\nO+/keyz2798v3NzcNMu1a9cWc+bMEd7e3sLe3l688sorIiMjI892586dE5aWlsLMzEzY2toKR0dH\nIYQQw4cPF2+88Ybo3r27sLOzE4GBgeLy5cua7f766y/RoUMH4eTkJOrVqyc2bNhQ4L/T8uXLxXPP\nPSfs7OyEp6en+Omnn8Rff/0lKlWqlKfdjIwMMWnSJOHu7i6qV68uxo0bJ9LT04UQQiQlJYnu3buL\nqlWrCkdHR9GjRw9x48YNTTtXrlwRrVu3FnZ2dqJjx45i/PjxYsiQIUIIIbp16yYWLFiQK67GjRuL\nLVu25Ik3PT1dDB48WDg7OwsHBwfRrFkzcefOHfHxxx8LMzMzYWlpKWxtbcWbb74phBDirbfeErVq\n1RKVK1cWfn5+4tChQ0IIIXbu3CkqVqwoLCwshK2trWjSpIkQQoj79++LkSNHChcXF+Hq6iomT54s\n1Gp1gcePSoaJ3sAsX75cODg4CGtra2FlZSUcHByEubm5sLOzE46OjiIuLi7PNvfu3RMODg4iPDxc\nqNVqsXbtWuHo6CgSExOFEDJRffrppwW2GRoaKuzs7MShQ4fEo0ePxIQJE0SrVq0076tUKhESEiKS\nk5PFtWvXRNWqVcWuXbuEEEIsW7ZM1K1bV1y9elWkpqaKPn36iKFDhwohhIiLixMqlSrXf9zC1n+c\n6MeMGSMyMjLEmTNnRKVKlcTff/8thBDixRdfFOHh4UIIIR4+fCiOHj2a7+d5NtF7eHiIwMBAkZCQ\nIBITE4WXl5dYvHhxvtuuWLEi12d/fHycnZ3FiRMnRHZ2thg8eLAYMGCAEEKI1NRU4ebmJlasWCHU\narWIiYkRVapUEefOncuz79TUVFG5cmVx4cIFIYQQt2/fFn/++WeB7U6cOFH06tVLJCUliZSUFBES\nEiI++ugjIYT8N/+///s/kZ6eLlJSUkS/fv3ESy+9pNn2xRdfFJMmTRKZmZni4MGDws7OTnOcN2zY\nIAIDAzXrnj59Wjg7O4usrKw8MS9evFiEhISI9PR0kZOTI6Kjo8WDBw+EEEIEBweLZcuW5Vo/PDxc\nJCYmCrVaLebOnStq1KghHj16JIQQIiwsTBPDYy+99JIYN26cSEtLE//8848ICAgQ33//fb7/NlRy\nTPQGKigoSJw+fVrEx8drej8FWbVqVa7/uEII0bx5c7FixQohhEz0kydPLnD70NBQMXDgQM1yamqq\nMDMz0/QQVSqViIqK0rzfv39/MWvWLCGEEO3atROLFi3SvHf+/HlhYWEh1Gq1JnE/nei1Wf/mzZua\n9wMCAsT69euFEEK0bt1aTJkyRdy9e7fQ45Ffov/pp580y++//74YN25cvtsuX748T8IdPny4GD16\ntGZ5x44don79+kIIIdatWyeCgoJyrT9mzBgxderUPPtOTU0VDg4OYvPmzSItLa3QdnNycoSNjU2u\nvxyOHDkiPD098407JiZG85dAfHy8MDc3z9XGoEGDND369PR04ejoKC5duiSEEGLSpEm5/kp72o8/\n/ihatGghYmNj87wXHBwsli5dmu92jzk6Omq2nTJliiYGIeQvukqVKmn+ShFCiDVr1mj+kiXd4Ri9\nAUlMTISDgwMcHBxw5MgRBAcHo379+jh//jwcHR0xb968fLe7desW3N3dc71Wu3Zt3Lp1S6t2VSoV\n3NzcNMs2NjZwcnLKtX2NGjU0z62trZGamgoASEhIQO3atTXvubu7Izs7G3fu3Mm3LW3WL6itZcuW\n4cKFC/Dy8kJAQAC2b9+u1ed7dp9WVlaafWqrevXq+W4fHx+PY8eOwdHRUfNYs2ZNvp/fxsYG69ev\nx+LFi1GzZk306NED58+fz7e9u3fvIi0tDX5+fpr9du3aFf/++y8AIC0tDWPHjoWHhwfs7e3Rpk0b\nJCcnQwiBW7duwdHREVZWVpr9PX3MLS0t0b9/f6xevRpCCKxbt67Ak6RDhw5F586dMWDAALi6uuKD\nDz5Adna25v1nx+nnzJmDBg0awMHBAY6OjkhOTtbE/Kz4+HhkZWXBxcVF8xnHjRuHu3fv5rs+lRwT\nvQFxcnLC/fv38f3332P06NFISkpCly5dEBERgaSkJEyYMCHf7VxdXREfH5/rtfj4eLi6umrVrhAC\n169f1yynpqYiMTERNWvWLHLbmjVrIi4uTrN87do1mJubo3r16vmerCts/aLUrVsXa9aswd27d/HB\nBx+gb9++SE9PL3K7ZxV2ErG4Jxjd3d3Rpk0bJCUlaR4pKSn49ttv812/U6dO2LNnD27fvo369etj\n9OjR+bZbpUoVWFlZ4dy5c5r93r9/Hw8ePAAAzJ07FxcuXMDx48eRnJyMAwcOQMi/0OHi4oKkpCSk\npaVp9hcfH5+rjdDQUPz000/Yu3cvrK2tERgYmG+85ubm+Oyzz/Dnn3/iyJEjiIiIwKpVq/KN+dCh\nQ5g9ezY2btyI+/fvIykpCfb29pqT8c+uX6tWLVSqVAn37t3TfMbk5GScPXu2yONOxcNEb4BOnjwJ\nX19fAEBMTEyRM266deuGCxcuYO3atcjOzsb69evx999/o0ePHgC0m/WyY8cOREVFITMzE59++ima\nN29e4C+KxwkFAAYOHIivv/4acXFxSE1Nxccff4wBAwagQoUKqFq1KipUqIDLly9rti1s/aKEh4dr\nenv29vZQqVRabZdf/AWpUaMGbty4gaysLK3W7969Oy5cuIDw8HBkZWUhKysLJ06cyHd65z///IOt\nW7fi4cOHsLCwgI2NDczMzADIvxiebrdChQoYPXo0Jk6cqPnMN2/exJ49ewDIX8ZWVlawt7dHYmIi\npk6dqmmndu3a8Pf3x5QpU5CVlYXDhw8jIiIiVyzNmzeHSqXCu+++i2HDhhX4+SIjI3H27Fmo1WrY\n2dnBwsIiV8xP/9umpKTA3NwcVapUQWZmJqZNm6b5xfT42MbFxWmOp4uLCzp16oR33nkHKSkpyMnJ\nweXLl3Hw4MEC46GSYaI3QNHR0fD19cW9e/dgbm4Oe3v7Qtd3cnJCREQE5s6diypVqmDOnDmIiIiA\nk5MTgKLngatUKgwaNAhTp06Fs7MzYmJiEB4enuv9Z9d//NrIkSMxdOhQtG7dGs899xysra2xYMEC\nAHLY5ZNPPkHLli3h6OiI48ePF7p+fm09bffu3WjUqBHs7Ozw9ttvY926dahUqVKBn6mwz1vQ++3a\ntUPDhg1Ro0YNVKtWrcD1Hy/b2dlhz549WLduHVxdXeHi4oKPPvoImZmZefadk5ODr7/+Gq6urnB2\ndsahQ4ewaNEiAED79u3ztDtr1izUrVsXL774Iuzt7dGxY0dcuHABADBx4kSkp6ejSpUqaNGiBbp2\n7ZorxjVr1uDYsWNwcnLCtGnTEBoamieeYcOG4ezZsxgyZEiBx+r27dvo168f7O3t0aBBAwQHB2uG\neSZMmIBNmzbByckJEydORJcuXdClSxe88MIL8PDwgJWVVa4hxX79+gEAnJ2d4e/vDwBYtWoVMjMz\n0aBBAzg5OaFfv364fft2gfFQyaiENt09MmojRoyAm5sbpk+frnQoVIZWr16NJUuWsAdtAnTeoz9/\n/jyaNm2qedjb22P+/Pm6boZ0iL/rTU9aWhq+/fZbjBkzRulQqAzoPNHXq1cPMTExiImJwalTp2Bt\nbY3evXvruhnSobK4xJ8Mx+7du1GtWjW4uLhg0KBBSodDZUCvQzd79uzBtGnTcPjwYX01QURERTDX\n587XrVuXp8fAniMRUcmUtF+ut1k3mZmZ+OWXXzRn2p/2eHqeqT+mTJmieAyG8uCx4LHgsSj8URp6\nS/Q7d+6En58fqlatqq8miIhIC3pL9GvXrsXAgQP1tXsiItKSXhL9w4cPsXfvXvTp00cfuzcawcHB\nSodgMHgsnuCxeILHQjfK/IIplUpV6vEmIiJTU5rcyRIIRERGjomeiMjIMdETERk5JnoiIgP3X5HT\nEuPJWCIiA7Z7N9C9O6BWlzx3MtETERmoP/8EWrQA5P1bOOuGiMio/PMP0KOHTPJ9+5ZuX+zRExEZ\nmPR0oF074OhRICAAiIwErK3ZoyciMgpCACNHyiTv7g5s3QpYWZVun0z0REQGJCwMWLcOsLMDIiKA\nGjVKv08O3RARGYjwcGDoUKBCBZnku3Z98h5LIBARlXMHDsghGwD45pvcSb602KMnIlLY338DzZsD\n9+8DEybIRP+s0uROJnoiIgX98w/w4ovA1atAr17A5s2AmVne9ZjoiYjKofR0oG1b4NgxwN9fTqO0\nscl/XY7RExGVMzk5wJAhMsnXrg388kvBSb60mOiJiBTw/vvA//0fYG8P7Nihm2mUBWGiJyIqY999\nB8ydC5iby2TfoIF+22OiJyIqQ9u3A2++KZ8vXSpLHegbEz0RURk5cQLo31+Oz3/2GRAaWjbtctYN\nEVEZuHxZzpW/excYPhz48UdApdJ+e06vJCIyYHfvyrryly4BnTrJ8gYWFsXbB6dXEhEZqLQ0oGdP\nmeSbNAE2bSp+ki8tvST6+/fvo2/fvvDy8kKDBg1w9OhRfTRDRGTQ1Gpg0KAnJYd37JBVKcuauT52\nOmHCBHTr1g2bNm1CdnY2Hj58qI9miIgMlhDAW2/JevIODsCuXYCLizKx6DzRJycn49ChQ1i5cqVs\nwNwc9vb2udYJCwvTPA8ODkZwcLCuwyAiUtTs2XK+fMWKwLZtgJdX8baPjIxEZGSkTmLR+cnY06dP\nY+zYsWjQoAHOnDkDPz8/zJs3D9bW1rJBnowlIiP3uK48AGzYAPTrV/p9GtTJ2OzsbERHR+P1119H\ndHQ0bGxsMHPmTF03Q0RkkHbtAkaMkM//9z/dJPnS0nmid3Nzg5ubG5o1awYA6Nu3L6Kjo3XdDBGR\nwTlxAujbF8jOBt57D3j7baUjknSe6GvUqIFatWrhwoULAIC9e/eiYcOGum6GiMigXLwIdOsGPHwo\nh20MaSBDLxdMnTlzBq+++ioyMzNRp04dLF++XHNClmP0RGRsbt+WF0RdvQp07ixLDut6rjyvjCUi\nUsiDB0CbNsDp00CzZsBvvwG2trpvx6BOxhIRmYpHj4DevWWSf/55WZlSH0m+tJjoiYhKQK0Ghg2T\nPfgaNYDdu4GqVZWOKn9M9ERExSQEMH68nCNvZwfs3Al4eiodVcGY6ImIimnKFGDxYqBSJXnVa5Mm\nSkdUOCZ6IqJimDcPmD4dqFABWL8eKA8VXJjoiYi0FB4OTJwony9dCvTqpWw82mKiJyLSwvbtT0ob\nzJnz5Hl5wERPRFSEw4eflDb48ENg0iSlIyoeXjBFRFSI2FigdWsgORl49VXghx+Kd69XXeGVsURE\nenDxIhAUBNy5A/TpI6dTmpkpEwsTPRGRjl2/DrRqBVy7BnToIG/oXamScvGwBAIRkQ79849M7teu\nAc2bA1u2KJvkS4uJnojoKUlJQKdOwIULgI+PvKG3jY3SUZUOEz0R0X9SU4Hu3YEzZ4AXXgD27JE3\n9i7vmOiJiABkZMhKlL//Dri7A3v3AtWqKR2VbjDRE5HJy84GBg6Uyb16dfmzVi2lo9IdJnoiMmlq\nNTB8uDzh6ugI/PqrrC1vTJjoichk5eQA48YBP/0kbxiycyfQuLHSUekeEz0RmSQhgAkTZHEyKytZ\nyyYwUOmo9IOJnohMjhDABx8ACxfK+fFbt8oyB8aKiZ6ITM7UqcDs2YC5ObBpE9Cxo9IR6RcTPRGZ\nlFmzZKKvUAFYuxbo0UPpiPTPXB879fDwQOXKlWFmZgYLCwscP35cH80QERXLvHmyzLBKBaxaJUsP\nmwK9JHqVSoXIyEg4OTnpY/dERMX2/fdP7g61ZAkweLCy8ZQlvQ3dsEIlERmKpUvlNEoAmD8fGDVK\n2XjKmt569B06dICZmRnGjh2L0aNH53o/LCxM8zw4OBjB5eHuukRULi1fDowZI5//73/Am28qG4+2\nIiMjERkZqZN96aUefUJCAlxcXHD37l107NgRCxYsQFBQkGyQ9eiJqIysWiWvehVCzrJ5912lIyo5\ng6tH7+LiAgCoWrUqevfuzZOxRFTmfvrpSZKfObN8J/nS0nmiT0tLQ0pKCgDg4cOH2LNnDxob4zXF\nRGSw1q4Fhg2TSf7zz+XFUaZM52P0d+7cQe/evQEA2dnZGDx4MDp16qTrZoiI8rVhAzBkiKxjM3Uq\n8MknSkekPN4zloiMxqZNwIABsiLlp58C06YpHZHuGNwYPRFRWVu//kmS//hj2ZsniYmeiMq9tWuB\nQYNkkp88WY7Lq1RKR2U4mOiJqFz76acnY/KffSaHa5jkc2OiJ6Jya/VqObsmJwcIC5PDNUzyeTHR\nE1G5tGIFEBoqk/y0acCUKUpHZLgKTfSPp0cSERmSH38ERo6U8+RnzJAzbKhghSZ6c3NzxMfH49Gj\nR2UVDxFRob7/XhYlEwL48ks5w4YKV+QFU56enmjVqhV69uwJa2trAHI+5zvvvKP34IiInjZv3pNS\nw+W9dk1ZKjLR16lTB3Xq1EFOTg5SU1PLIiYiojxmzgQ++kg+X7AAGD9e2XjKE62vjH348CFsbGxK\n3yCvjCWiYhBCzqZ5PKPmhx+AV19VOqqyp9crY48cOYIGDRqgfv36AIAzZ87g9ddfL1FjRETFIYS8\n9d/je7yuWmWaSb60ikz0EydOxK5du1ClShUAgI+PDw4cOKD3wIjItAkhx+O/+gowNwfWrZMXRlHx\naVW90t3dPfdG5nq5MRUREQBZyuD11+UwTcWKwMaNQM+eSkdVfhWZsd3d3REVFQUAyMzMxPz58+Hl\n5aX3wIjINGVlyQuh1q4FLC2BLVuAzp2Vjqp8K/Jk7N27dzFhwgTs3bsXQgh06tQJ8+fPh7Ozc8ka\n5MlYIipARgbQvz/wyy+ArS0QEQG0aaN0VIahNLmT9eiJyCCkpAC9egH79wNOTsCuXUCzZkpHZTj0\nOuvm8uXLCAkJQZUqVVC1alX06tULV65cKVFjRET5SUwEOnaUSd7FBThwgElel4pM9IMGDUL//v2R\nkJCAW7duoV+/fhg4cGBZxEZEJuD2bSA4GDh2DPDwAA4dAho1Ujoq41Lk0I23tzdiY2Nzvebj44Mz\nZ86UrEEO3RDRf+LjgQ4dgEuXgPr1gV9/BdzclI7KMJUmdxY46yYxMRFCCHTt2hVffvmlphe/fv16\ndO3atWSREhH959w5oFMn4OZNoGlTYPduoGpVpaMyTgX26D08PKDKp4K/EAIqlQpXr14tWYPs0ROZ\nvKNHge7d5dh8q1Zydo29vdJRGTbOuiGicmP3bqBPHyAtDejRQ97U+7/CuFQIvQzdPJadnY3t27cj\nPj4e2dnZmh49yxQTUXGtWydv/ZeVJX8uXQpYWCgdlfErMtGHhITAysoKjRs3RoUK2t95UK1Ww9/f\nH25ubvjll19KFSQRlX/ffgu8+aasYTNpkqxhU4yUQqVQZKK/efNmnlk32pg3bx4aNGiAlJSUEgVG\nRMbh6TLDgKwr//77vIl3WSry92mnTp2we/fuYu30xo0b2LFjB1599VWOxxOZMLUaeOONJ2WGlywB\nPviASb6sFdmjb9GiBXr37o2cnBxY/DeYplKp8ODBgwK3efvttzF79uwC1wkLC9M8Dw4ORnBwcPGi\nJiKDl54ODB4M/PwzUKkSsGaNPAlL2omMjERkZKRO9lXkrBsPDw9s27YNjRo10mqMPiIiAjt37sS3\n336LyMhIzJ07N9cYPWfdEBm/xERZVjgqSk6b3LYNaN1a6ajKN73OunF3d0fDhg21PhF75MgRbNu2\nDTt27EBGRgYePHiAYcOGYdWqVSUKkIjKl2vXgC5dgL/+kle57tzJkgZKK7JHHxoaiqtXr6Jr166o\nWLGi3EjL6ZUHDhzAnDlz2KMnMhFnzwJdu8qrXRs2lEm+Vi2lozIOeu3Re3p6wtPTE5mZmcjMzNTM\noy9OcERk/A4ckGWGk5PlMM2WLYCjo9JREcArY4lIBzZsAIYOBTIzgZdfBsLD5d2hSHf02qNv27Zt\nvg3+9ttvJWqQiIyHEMDs2XLKJACMHw988w1gZqZsXJRbkYl+9uzZmucZGRnYvHkzbw5ORMjOlle6\nLl4sl+fMAd55h3PkDVGJhm6aNWuGEydOlKxBDt0QlXupqcArrwA7dsg58uHhQN++Skdl3PQ6dJOY\nmKh5npOTg5MnTxZ6sRQRGbdbt2TVyZgYwNlZzpFv0ULpqKgwRSZ6X19fzcwZc3NzeHh4YNmyZXoP\njIgMz9mzso789etA3bqyR//880pHRUXhrBsi0sqvv8rhmQcPZA9+61agShWlozIdehm6OXDgQKFz\n4FvzemYik7FokTzxqlYD/foBK1cCVlZKR0XaKrBH36NHj3wTfWxsLG7cuAG1Wl2yBtmjJyo31GpZ\nO37ePLn88cfA9OmsI68EvfToIyIici1HRUVh+vTpcHFxwcKFC0vUGBGVHykpwIABchzewkLeDWrY\nMKWjopIo8mTs3r178fnnnwMAPvnkE3Ts2FHvQRGRsuLjgZAQefLV2VmWGg4KUjoqKqlCe/QzZsyA\ng4MDpk+fjiD+KxOZhGPHZM2aO3eAevWAiAg5w4bKrwLH6CtUqAA3Nzf4+Pjk3UilwrZt20rWIMfo\niQzWmjXAqFFARgbQvj2wcSMLkxkKvYzRP65lk9/OWZGSyLio1cDkyfJ+rgAwZgywcKEcm6fyj/Po\niUzcgwfyln8REbIY2bx5wOuvs2aNodFrCQQiMl6XLslb/v31lxyi2bhRDtmQceFsWCITtW8fEBAg\nk3yDBsCJE0zyxoqJnsjECCHH3zt3BpKSZIGy338H6tRROjLSlyKHbs6fP485c+YgLi4O2dnZAHjj\nEaLyKiNDjr8vXy6XP/wQ+Pxz3ijE2BV5Mtbb2xuvvfYafH19Yfbft0GlUsHPz69kDfJkLJEirl8H\n+vQBTp6UdWqWLgUGDVI6KtJWaXJnkYnez88Pp06dKtHO822QiZ6ozEVGAv37A3fvAh4e8krXJk2U\njoqKozS5s8gx+pCQEHz77bdISEhAYmKi5kFEhk8IOV2yQweZ5Dt2lD16JnnTUmSP3sPDI88FUiqV\nCleuXClZg+zRE5WJ9HRg7Fhg9Wq5/P77wIwZAG/5XD7pdehG15joifTvyhV5k5CYGMDaWp587d9f\n6aioNPR6wVRmZiYWLVqEgwcPQqVSoU2bNhg3bhwsCrg2OiMjA23atMGjR4+QmZmJXr164csvvyxR\ncERUfBERwNChwP37csrkzz8DjRsrHRUpqcge/ahRo5CdnY3Q0FAIIbB69WqYm5tj6dKlBW6TlpYG\na2trZGdno1WrVpgzZw5atWolG2SPnkgv1Grgs8+AL76Qyz17yjtBOTgoGxfphl579CdOnEBsbKxm\nuX379vD29i50G2trawDyrwG1Wg0nJ6cSBUdE2vnnHzlVct8+efenL74A3nuPd4IiqchEb25ujkuX\nLqHufwWpL1++DPMizubk5OTA19cXly9fxmuvvYYGDRrkej8sLEzzPDg4GMHBwcWPnIgAyKta+/UD\nbt4EqlUD1q0D2rZVOioqrcjISERGRupkX0UO3ezbtw8jRoyAp6cnACAuLg7Lly9Hu3btitx5cnIy\nOnfujJkzZ2qSOYduiHRDCGDBAnlP1+xsoEULYMMGwNVV6chIH/Q66yYjIwOALIUAAPXq1QMAWFpa\natXA9OnTYWVlhXfffbfUwRKRdP8+MHKkPNEKABMnAl99xfrxxkyvF0y1aNEClpaW8PHxgY+PDywt\nLdGiRYsC1//3339x//59AEB6ejp+/fVXNG3atETBEVFex48DTZvKJF+5siwt/PXXTPJUsAIH2xMS\nEnDr1i2kpaUhOjoaQgioVCo8ePAAaWlpBe4wISEBoaGhyMnJQU5ODoYOHYr2rH1KVGpCAPPny5Os\nWVmAnx+wfj2rTlLRChy6WblyJVasWIGTJ0/C399f87qdnR2GDx+OPn36lKxBDt0QFVtSkhyq2bJF\nLr/5JjB7NlCpkrJxUdnR6xj9pk2b0Ldv3xLtPN8GmeiJiuXoUWDAACA+HrC3B378UVahJNOi1zH6\nDh064O2334afnx/8/PwwadIkJCcnl6gxItKeWi3nw7dqJZO8vz8QHc0kT8VXZKIfOXIkKleujI0b\nN2LDhg2ws7PDiBEjyiI2IpN186asNPnJJzLhv/MOcPgw8NxzSkdG5VGRQzc+Pj44c+ZMka9p3SCH\nbogKtXVAXPPIAAAVpklEQVSrHI9PTJQXQK1cCXTponRUpDS9Dt1YWVnh0KFDmuXDhw9rShwQke6k\npwNvvAG89JJM8p07A7GxTPJUekX26E+fPo1hw4ZpxuUdHR2xcuVK+Pj4lKxB9uiJ8jh7Vtaq+eMP\nOR9+5kx5ERRr1dBjZVKP/sGDBwCAypUrl6ghTYNM9EQaOTnAN98AH30EZGYCL7wArF0L+PoqHRkZ\nGr1Wr8zIyMDmzZsRFxcHtVqtuXDqs88+K1GDRCRdvw6EhgL798vlMWOAuXMBW1tl4yLjU2Si79Wr\nFxwcHODn56d1fRsiKtyaNcDrrwPJyUDVqsCyZUBIiNJRkbEqcuimUaNG+OOPP3TXIIduyIQlJckE\nv26dXA4JAZYulbNriAqj96JmT994hIhKZs8ewNtbJnkbG+CHH+RUSiZ50rcCe/SN/7vJpFqtxsWL\nF+Hp6YlK/xXWUKlUJU7+7NGTqUlJkYXIvv9eLgcGAuHhwH/38iHSil5m3cTFxUGlUgFAvjv38PAo\nWYNM9GRC9u+XFz/FxQEVKwJTpwLvvgsUcZM2ojz0kujT09OxePFiXLp0Cd7e3hg1alSRtxDUqkEm\nejIBDx/KKZMLFsjlpk2BVauARo2UjYvKL70k+v79+6NixYpo1aoVdu7cCQ8PD8ybN69UgQJM9GT8\nDh8GRowALl2SPffJk4GPP+aNQah09JLoGzdujLNnzwIAsrOz0axZM8TExJQ8yscNMtGTkUpNlQl9\n4UJ5k5DGjYEVK3jxE+mGXmbdPD1Mo4shGyJjtmePHJZZsECWLfj4Y+DECSZ5MgwF9ujNzMxyFS9L\nT0+HlZWV3Oi/WwqWqEH26MmIJCXJEsIrVsjlpk3ljUGaNFE0LDJCeimBoFarSxwQkSn4+Wd58dPt\n2/KWfmFhwKRJHIsnw8MxGaJiunULeOstYPNmudyypSxhUK+esnERFYRFUIm0pFYD334L1K8vk7yN\njRyTP3iQSZ4MG3v0RFo4fVpWlzxxQi737CmTvLu7snERaYM9eqJCpKbKK1n9/WWSd3WVY/NbtzLJ\nU/mh80R//fp1tG3bFg0bNkSjRo0wf/58XTdBpHdCANu2AQ0byhrxQgATJgB//SVv9UdUnmh9hylt\n3b59G7dv30aTJk2QmpoKPz8/bNmyBV5eXrJBTq8kA3f5sjzZumOHXPb1lQXJ/P2VjYtMm17LFBdX\njRo10OS/ScS2trbw8vLCrVu3dN0Mkc6lpQGffSZ78Tt2AJUry9v8HTvGJE/lm15PxsbFxSEmJgaB\ngYG5Xg8LC9M8Dw4ORnBwsD7DICrU42GaiRNllUkAGDYMmDULqFFD0dDIhEVGRiIyMlIn+9L50M1j\nqampCA4OxuTJk/HSU4OaHLohQ3Lxokzwj4dpfHzkFMqWLZWNi+hZBjV0AwBZWVl4+eWXMWTIkFxJ\nnshQ3L8vr2J9PExjbw/Mnw+cPMkkT8ZH5z16IQRCQ0Ph7OyMr7/+Om+D7NGTgtRqeY/WyZOBf/8F\nVCpZUviLL4Dq1ZWOjqhgeilTXFKHDx9G69at4e3trblD1ZdffokuXbrIBpnoSSG//Qa8/Tbw+C6Y\nQUHyZCsrTFJ5YFCJvsgGmeipjF24AHzwAbBli1yuXRuYPRvo21f26InKA71UryQq7/75B5g2Tc6B\nz86WtWk+/lj26v+ruE1kEpjoyeikpQFffy2nR6akyBuBjBolk37NmkpHR1T2mOjJaKjV8gYgn30m\nSwkDQPfuwMyZvCk3mTYmeir3hJBFxiZPBv78U77m5yfH4du2VTY2IkPARE/l2t69wCefAMePy2UP\nD+DLL4H+/eWQDREx0VM5dfSoTPC//SaXq1eXPfrRo+Vt/YjoCSZ6KldiY4FPP5W1aQDAwUFOnXzz\nTTmrhojyYqKncuHsWTlrZtMmuWxtLadJvvuuTPZEVDAmejJozyb4SpWAsWPlfHiWLCDSDhM9GaT8\nEvyYMXKYxtVV2diIyhsmejIop07JWTObN8tlJnii0mOiJ8UJARw6JCtI7t4tX2OCJ9IdJnpSjBCy\nFvwXXwBHjsjXbGyA116TJ1pZroBIN5joqcxlZQEbNwJffQWcOSNfc3QEJkyQ0ySdnJSNj8jYMNFT\nmUlOBpYsAebNA27ckK+5uMg7PY0ZA9jZKRsfkbFioie9i4+XyX3pUllNEgDq1wfeeQcYOhSwtFQ2\nPiJjx0RPeiGELFMwb56cIqlWy9fbtpU9+K5dWYuGqKww0ZNOpacD69YBCxcC0dHyNXNzYPBg2YPn\nbfuIyh4TPelEXBywaJEcnklMlK85OwOvvgqMHw+4uSkaHpFJY6KnElOrgV275K36IiLkcA0A+PvL\n2TP9+3P8ncgQMNFTscXFAT/+KB83b8rXKlYEXnlF9t4DAhQNj4iewURPWsnMlKWBlywBfv31Se+9\nbl05PDNiBFCtmrIxElH+mOipQEIAJ08Cq1cDa9cC//4rX69UCXj5ZXmTjzZtAJVK2TiJqHB6SfQj\nR47E9u3bUa1aNZw9e1YfTZAeXbsGhIfLBP/3309eb9RIJvchQ3j1KlF5ohLi8R/hunPo0CHY2tpi\n2LBheRK9SqWCHpqkUkpMBH7+WSb4yMgnr1erBgwcKC9s8vVl751IKaXJnXrp0QcFBSEuLk4fuyYd\nSk4Gtm4F1q+X4+5ZWfJ1S0ugVy+Z3Dt1AiwslI2TiEpHkTH6sLAwzfPg4GAEBwcrEYZJSkkBfvlF\nJvddu+RJVkBepdqhAzBgANC3L2Bvr2ycRKYuMjISkU//eV0Kehm6AYC4uDiEhIRw6MYA3L0rZ8z8\n/DOwdy/w6JF8XaWSJ1NfeQXo04ezZogMmcEN3ZDy4uKALVtkcj98GMjJka+rVEDLljK59+0rq0cS\nkXFjojcSajVw/Li8QjUiAoiNffKehYUca+/dG+jZE6hRQ7k4iajs6WXoZuDAgThw4ADu3buHatWq\nYdq0aRgxYoRskEM3OpOcLG+9t327vFPT43nuAGBrC3TrJpN7164ccycq70qTO/U2Rl9gg0z0JZaT\nA8TEyOS+axfw++9AdvaT9z09gZAQoEcPoHVreWETERkHjtEbsdu3gT17ZHL/9Vd5YvUxMzOZ0Hv0\nkI/69TnPnYjyYqI3MElJwIEDwG+/yceff+Z+390d6NxZPtq3BxwclImTiMoPJnqFPXgAHDkC7N8P\n7Nsnb9bx9F9nVlZAcPCT5F6vHnvtRFQ8TPRlLCFBTnc8dEg+YmOfTH0E5AyZ5s2Bdu3kIyCAY+1E\nVDpM9Hr06JFM5MePy0dUFHD5cu51zM1lMm/TRg7FtGwJWFsrEy8RGScmeh3JzgYuXJBDL8eOycR+\n+vSTEgOP2drKHntQkHwEBDCxE5F+MdEXkxDAnTuyp372rPwZGwucO5c3qQNyJkxAgHy8+CLg4yN7\n8UREZYUpJx85OTKZX74MXLqU95GcnP92np4ykT9O7P7+vFCJiJRnMok+O1tOXUxMBO7de/JISABu\n3ZL3Pr11Sz4SEnJfiPQse3ugcWPA2/vJz0aNgMqVy+7zEBFpS5FEf/Gi7DULkfenWi3romdny59P\nPzIzgYwMID0978+HD2UJ3tRU+fPpR1JSwb3wgjg7A3XqyHuiPvuoUoVTHImo/FCkBAJQ9iUQVCrA\n0VEmcCcn+dPZWRb4cnUFataUD1dX+ZqlZZmHSERUoHJXAqFuXZl4K1TI+7NCBTmX3Nxc/nz2YWUl\nH5aWuX9aWwN2dk8etrZPnjs6yuEWMzMlPi0RkbJY1IyIqBwoTe6soONYiIjIwDDRExEZOSZ6IiIj\nx0RPRGTkmOiJiIwcEz0RkZFjoiciMnJM9ERERo6JnojIyDHRKygyMlLpEAwGj8UTPBZP8Fjohl4S\n/a5du1C/fn08//zzmDVrlj6aMAr8Ej/BY/EEj8UTPBa6ofNEr1arMX78eOzatQvnzp3D2rVr8ddf\nf+m6GSIi0pLOE/3x48dRt25deHh4wMLCAgMGDMDWrVt13QwREWlJ59UrN23ahN27d2PJkiUAgPDw\ncBw7dgwLFiyQDfKOHUREJWIw9eiLSuQsUUxEVLZ0PnTj6uqK69eva5avX78ONzc3XTdDRERa0nmi\n9/f3x8WLFxEXF4fMzEysX78ePXv21HUzRESkJZ0P3Zibm2PhwoXo3Lkz1Go1Ro0aBS8vL103Q0RE\nWtLLPPquXbvi/PnzWLhwIVauXFnofPq33noLzz//PHx8fBATE6OPcAxCUdcWREZGwt7eHk2bNkXT\npk3x+eefKxCl/o0cORLVq1dH48aNC1zHVL4TRR0LU/lOAHKIt23btmjYsCEaNWqE+fPn57ueKXw3\ntDkWxf5uCD3Jzs4WderUEVevXhWZmZnCx8dHnDt3Ltc627dvF127dhVCCHH06FERGBior3AUpc2x\n2L9/vwgJCVEowrJz8OBBER0dLRo1apTv+6bynRCi6GNhKt8JIYRISEgQMTExQgghUlJSxAsvvGCy\n+UKbY1Hc74beSiBoM59+27ZtCA0NBQAEBgbi/v37uHPnjr5CUoy21xYIE5iRFBQUBEdHxwLfN5Xv\nBFD0sQBM4zsBADVq1ECTJk0AALa2tvDy8sKtW7dyrWMq3w1tjgVQvO+G3hL9zZs3UatWLc2ym5sb\nbt68WeQ6N27c0FdIitHmWKhUKhw5cgQ+Pj7o1q0bzp07V9ZhGgRT+U5ow1S/E3FxcYiJiUFgYGCu\n103xu1HQsSjud0PnJ2OfDkQbz/5WMsYLqrT5TL6+vrh+/Tqsra2xc+dOvPTSS7hw4UIZRGd4TOE7\noQ1T/E6kpqaib9++mDdvHmxtbfO8b0rfjcKORXG/G3rr0Wszn/7ZdW7cuAFXV1d9haQYbY6FnZ0d\nrK2tAciT2VlZWUhMTCzTOA2BqXwntGFq34msrCy8/PLLGDJkCF566aU875vSd6OoY1Hc74beEr02\n8+l79uyJVatWAQCOHj0KBwcHVK9eXV8hKUabY3Hnzh1Nb+X48eMQQsDJyUmJcBVlKt8JbZjSd0II\ngVGjRqFBgwaYOHFivuuYyndDm2NR3O+G3oZuCppP//333wMAxo4di27dumHHjh2oW7cubGxssHz5\ncn2FoyhtjsWmTZuwaNEimJubw9raGuvWrVM4av0YOHAgDhw4gH///Re1atXC1KlTkZWVBcC0vhNA\n0cfCVL4TABAVFYXw8HB4e3ujadOmAIAvvvgC165dA2Ba3w1tjkVxvxs6L2pGRESGhXeYIiIyckz0\nRERGjomeiMjIMdETERk5Jnoqtdu3b2PAgAGoW7cu/P390b17d1y8eFGnbYSFhWHu3LkAgClTpmDf\nvn063f/TVq5ciYSEBL3t/7Hk5GQsWrRIsxwZGYmQkBCttn333XeLvHH2tm3bMH369NKESEaCiZ5K\nRQiB3r17o127drh06RJOnjyJL7/8Uuc1SJ6+AnLq1Klo3769Tvf/tBUrVuRbWwQAcnJydNZOUlIS\nvvvuu2Jvl5KSgoMHDyI4OLjQ9UJCQrB582bNlE0yXUz0VCr79+9HxYoVMWbMGM1r3t7eaNWqFQDg\nvffeQ+PGjeHt7Y0NGzYAyNtzHT9+PFauXAkA8PDwwAcffABvb28EBgbi8uXLedocPnw4Nm/erFk/\nLCwMfn5+8Pb2xvnz5wEAd+/eRceOHdGoUSOMHj0aHh4eea4cVKvVGD58uCa+b775Bps3b8bJkycx\nePBg+Pr6IiMjAx4eHvjwww/h5+eHjRs3Ys+ePWjRogX8/PzQv39/PHz4sNix3Lt3Dx9++CEuX76M\npk2b4v3334dKpUJqair69esHLy8vDBkyJN9jvnXrVnTo0EGzvGPHDnh5ecHf3x9vvfWW5tiqVCo0\nb94ce/bs0fafk4wUEz2Vyh9//AE/P79839u8eTPOnDmD2NhY7N27F++99x5u376dZz2VSqXpsatU\nKjg4OCA2Nhbjx4/P98rAZ9evWrUqTp06hddeew1z5swBIHv9HTp0wB9//IG+fftqLjZ52unTp3Hr\n1i2cPXsWsbGxGDlyJF5++WX4+/tjzZo1iI6OhqWlJVQqFapUqYJTp06hffv2mDFjBvbt24dTp07B\nz88P//vf/4odi0qlwqxZs1CnTh3ExMTgq6++ghACMTExmDdvHs6dO4crV64gKioqT9xRUVHw9/cH\nAGRkZGDcuHHYtWsXTp48iX///TfXXz8BAQE4ePBgwf+AZBKY6KlUCisqFRUVhUGDBkGlUqFatWpo\n06YNTpw4UWQhqoEDBwIABgwYgN9//73IGPr06QNAFnqKi4vTtD1gwAAAQOfOnfMtB1ynTh1cuXIF\nb731Fnbv3g07OzvNe89eR/jKK68AkJfenzt3Di1atEDTpk2xatWqXL9EihNLftcqBgQEoGbNmlCp\nVGjSpIlmH0+Lj4+Hi4sLAODvv//Gc889h9q1awOQx+7p/dasWTPffZBp0VsJBDINDRs2xKZNmwp8\nP79qg+bm5rnGutPT0wvc/ulfCgX9gqhUqRIAwMzMDNnZ2QW2/azHfzns2rULixcvxoYNG7Bs2bJ8\n27KxsdE879ixI9asWaPTWJ7dPr99PK2gcwXPtpOTk2PUFR5JO+zRU6m0a9cOjx49wpIlSzSvxcbG\n4vDhwwgKCsL69euRk5ODu3fv4uDBgwgICIC7uzvOnTuHzMxM3L9/H7/99luufa5fv17zs0WLFgBk\nAitOtY6WLVtqzgns2bMHSUlJeda5d+8esrOz0adPH0yfPl1zazo7Ozs8ePAg3/0GBgYiKipKc+7g\n4cOHRc4wKigWOzs7pKSkaP2ZHqtdu7ZmCKxevXq4cuUK4uPjATw5do8lJCRoevtkutijp1L7+eef\nMXHiRMyaNQuWlpbw9PTEN998g1atWuH333+Hj48PVCoVZs+ejWrVqgEA+vfvj0aNGsHT0xO+vr65\n9peUlAQfHx9YWlpi7dq1AHKPyxfk6XWmTJmCgQMHYvXq1WjevDlq1KiRa2gGkDeyGDFihKZ3PHPm\nTADyZO+4ceNgbW2NI0eO5NqmatWqWLFiBQYOHIhHjx4BAGbMmIHnn3++2LFYWFigZcuWaNy4Mbp1\n64Zu3brl+Yz5feZWrVrh5MmTePnll2FlZYXvvvsOXbp0gY2NDZo1a5Zrm+PHj2s9ZZOMF4uakUHx\n9PTEqVOnSl2ONzMzE2ZmZjAzM8Pvv/+ON954A9HR0TqKUtlYUlNT0bZtW5w4cQKA/Kvi8dDSG2+8\ngRdeeAETJkxATk4OfH19cfLkSZibs09nyvivTwZFV+PJ165dQ//+/ZGTk4OKFSvmGloqa7qOxdbW\nFm3btsX+/fvRtm1b/PDDD1i1ahUyMzPh6+uLsWPHAgAiIiLQt29fJnlij56IyNjxZCwRkZFjoici\nMnJM9ERERo6JnojIyDHRExEZOSZ6IiIj9/8NkJH9QimF/wAAAABJRU5ErkJggg==\n" } ], "prompt_number": 42 }, { "cell_type": "code", "collapsed": false, "input": [ "# parallel calculation using qutip parfor\n", "t0 = time.time()\n", "n_vec = parfor(compute_task, g_vec, args=args)\n", "t1 = time.time()\n", "\n", "print \"elapsed =\", (t1-t0)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "elapsed = 1.57517004013\n" ] } ], "prompt_number": 43 }, { "cell_type": "code", "collapsed": false, "input": [ "visualize_results(g_vec / (2 * pi), n_vec)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n" } ], "prompt_number": 44 }, { "cell_type": "code", "collapsed": false, "input": [ "# parallel calculation using qutip IPython.parallel parfor\n", "t0 = time.time()\n", "n_vec = qutip.ipynbtools.parfor(compute_task, g_vec, args=args, show_scheduling=True, show_progressbar=True)\n", "t1 = time.time()\n", "\n", "print \"elapsed =\", (t1-t0)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "
 
\n", "
\n", "

\n" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f394088a-aff0-47ac-93f5-36e71b5d47db').width('0%');$('p#75fd46c8-e9c4-4afd-a836-d11417a65d53').text('Elapsed time: 0.00s. Est. remaining time: 0.00s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f394088a-aff0-47ac-93f5-36e71b5d47db').width('28%');$('p#75fd46c8-e9c4-4afd-a836-d11417a65d53').text('Elapsed time: 0.51s. Est. remaining time: 1.31s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f394088a-aff0-47ac-93f5-36e71b5d47db').width('52%');$('p#75fd46c8-e9c4-4afd-a836-d11417a65d53').text('Elapsed time: 1.01s. Est. remaining time: 0.93s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f394088a-aff0-47ac-93f5-36e71b5d47db').width('82%');$('p#75fd46c8-e9c4-4afd-a836-d11417a65d53').text('Elapsed time: 1.51s. Est. remaining time: 0.33s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f394088a-aff0-47ac-93f5-36e71b5d47db').width('100%');$('p#75fd46c8-e9c4-4afd-a836-d11417a65d53').text('Elapsed time: 1.81s. Est. remaining time: 0.00s.');" ], "output_type": "display_data", "text": [ "" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "elapsed = 1.96851205826\n" ] }, { "output_type": "display_data", "png": "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\n" } ], "prompt_number": 45 }, { "cell_type": "code", "collapsed": false, "input": [ "visualize_results(g_vec / (2 * pi), n_vec)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n" } ], "prompt_number": 46 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### QuTiP example 2: steady state of a qubit-cavity system with pre-allocated Qobjs" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def compute_task(g, args):\n", " H0, H1, c_ops, nc = args['H0'], args['H1'], args['c_ops'], args['nc']\n", " H = H0 + g * H1\n", " rho_ss = steadystate(H, c_ops)\n", " return expect(nc, rho_ss)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 47 }, { "cell_type": "code", "collapsed": false, "input": [ "# problem parameters\n", "wc = 1.0 * 2 * pi\n", "wa = 1.0 * 2 * pi\n", "N = 75\n", "kappa = 0.05\n", "n_th = 0.5\n", "\n", "a = tensor(destroy(N), qeye(2))\n", "sm = tensor(qeye(N), destroy(2))\n", "nc = a.dag() * a\n", "na = sm.dag() * sm\n", "\n", "c_ops = [sqrt(kappa * (1 + n_th)) * a, sqrt(kappa * n_th) * a.dag()]\n", "\n", "H0 = wc * nc + wa * na\n", "H1 = (a.dag() + a) * (sm + sm.dag())\n", "\n", "args = {'H0': H0,\n", " 'H1': H1,\n", " 'c_ops': c_ops,\n", " 'nc': nc\n", " }\n", "\n", "g_vec = linspace(0, 2.5, 50) * 2 * pi" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 48 }, { "cell_type": "code", "collapsed": false, "input": [ "# serial calculation\n", "t0 = time.time()\n", "n_vec = array([compute_task(g, args) for g in g_vec])\n", "t1 = time.time()\n", "\n", "print \"elapsed =\", (t1-t0)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "elapsed = 30.7636711597\n" ] } ], "prompt_number": 49 }, { "cell_type": "code", "collapsed": false, "input": [ "visualize_results(g_vec / (2 * pi), n_vec)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nTkSuQmCC\n" } ], "prompt_number": 50 }, { "cell_type": "code", "collapsed": false, "input": [ "# parallel calculation using qutip parfor\n", "t0 = time.time()\n", "n_vec = parfor(compute_task, g_vec, args=args)\n", "t1 = time.time()\n", "\n", "print \"elapsed =\", (t1-t0)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "elapsed = 13.2212700844\n" ] } ], "prompt_number": 51 }, { "cell_type": "code", "collapsed": false, "input": [ "visualize_results(g_vec / (2 * pi), n_vec)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nTkSuQmCC\n" } ], "prompt_number": 52 }, { "cell_type": "code", "collapsed": false, "input": [ "# parallel calculation\n", "t0 = time.time()\n", "n_vec = qutip.ipynbtools.parfor(compute_task, g_vec, args=args, show_scheduling=True, show_progressbar=True)\n", "t1 = time.time()\n", "\n", "print \"elapsed =\", (t1-t0)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "
 
\n", "
\n", "

\n" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('0%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 0.01s. Est. remaining time: 0.00s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('2%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 0.52s. Est. remaining time: 25.25s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('4%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 1.02s. Est. remaining time: 24.52s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('10%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 1.53s. Est. remaining time: 13.75s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('10%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 2.03s. Est. remaining time: 18.29s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('18%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 2.54s. Est. remaining time: 11.56s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('18%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 3.04s. Est. remaining time: 13.86s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('26%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 3.55s. Est. remaining time: 10.10s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('26%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 4.05s. Est. remaining time: 11.54s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('34%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 4.56s. Est. remaining time: 8.85s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('34%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 5.06s. Est. remaining time: 9.82s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('40%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 5.57s. Est. remaining time: 8.35s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('42%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 6.07s. Est. remaining time: 8.38s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('46%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 6.57s. Est. remaining time: 7.72s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('50%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 7.08s. Est. remaining time: 7.08s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('54%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 7.58s. Est. remaining time: 6.46s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('57%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 8.09s. Est. remaining time: 5.85s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('62%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 8.59s. Est. remaining time: 5.26s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('66%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 9.09s. Est. remaining time: 4.68s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('66%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 9.60s. Est. remaining time: 4.94s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('74%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 10.10s. Est. remaining time: 3.55s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('74%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 10.60s. Est. remaining time: 3.72s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('82%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 11.10s. Est. remaining time: 2.44s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('82%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 11.61s. Est. remaining time: 2.55s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('90%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 12.11s. Est. remaining time: 1.35s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('90%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 12.61s. Est. remaining time: 1.40s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('98%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 13.11s. Est. remaining time: 0.27s.');" ], "output_type": "display_data", "text": [ "" ] }, { "javascript": [ "$('div#f71ddb01-5d66-4354-8e2d-3bdf210395a5').width('100%');$('p#466ca3c0-51b8-429f-9a14-759e39657916').text('Elapsed time: 13.44s. Est. remaining time: 0.00s.');" ], "output_type": "display_data", "text": [ "" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "elapsed = 13.6379978657\n" ] }, { "output_type": "display_data", "png": "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\nd955R9999502btyogwcPqkOHDvrNb34jSdqwYYPy8/PVpEkTdenSRV999ZXS09M1ZswYrVixQi1a\ntNCQIUOCJ3R98skn9fzzz+vmm2/WqVOnVLt2bcfmBYA52EIFwHFt27bVxx9/rClTpmjlypXas2eP\nvv/+e/Xo0UNpaWl67LHHtG/fPvn9fu3fv1933HGHJKlWrVq67rrrtGrVKg0dOlQul0uNGzfWb3/7\nW33zzTdyuVzq2LGjmjZtKpfLJa/Xq927d2vLli268cYb1aJFC0nSsGHDghfG7tKliyZNmqRnnnlG\nR44cUXh4uGPzAsAcbKEC4LikpCStX79ey5cv11//+ld169ZNqampv7gY8IkTJypcx8UXfSjb4nTh\nFqbw8HAVFxf/4vJCF773oYceUt++fbV8+XJ16dJFH330kVq1anXNnw3A/wa2UAFw3IEDB1SnTh3d\nfffd+tOf/qQ1a9bo0KFDysvLkyQVFRUpPz9fMTExSkhI0NKlSyVJZ8+e1enTp5WZmalFixaptLRU\nBw8e1BdffKGOHTv+omRJ54tWcnKyfD6fdu3aJUlauHBhcPnOnTuVmpqqP//5z+rQoYO2bt1aBTMA\nwHRsoQLguE2bNmny5MkKCwtTrVq19MILLyg8PFwPPPCAjh07puLiYk2aNEkej0evv/66xo4dq4cf\nfliRkZF6++239bvf/U6rV69Wu3bt5HK5NGvWLDVu3FibN2++5MWua9eurXnz5un2229XVFSUMjMz\ndfLkSUnS3LlztWLFCoWFhal169bq3bt3VU8HAANxcWQAAACL2OUHAABgEYUKAADAIgoVAACARRQq\nAAAAiyhUAAAAFlGoAAAALPo/iK2AzqMezJkAAAAASUVORK5CYII=\n" } ], "prompt_number": 53 }, { "cell_type": "code", "collapsed": false, "input": [ "visualize_results(g_vec / (2 * pi), n_vec)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nTkSuQmCC\n" } ], "prompt_number": 54 } ], "metadata": {} } ] }