{ "metadata": { "name": "", "signature": "sha256:9c67cb74ac2a14a2ae15cc28bb5a1f1eaec86014bfb781319fa3621974dd8c94" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Design Exploration and Optimization\n", "\n", "## BEMT Helicopter Hover Example\n", "\n", "Use \"Cell > Run All\" to run this notebook.\n", "\n", "### import gpkit and enable $\\LaTeX$ printing" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%pylab inline\n", "%config InlineBackend.figure_format = 'retina'\n", "\n", "import gpkit\n", "import gpkit.interactive\n", "gpkit.interactive.init_printing()\n", "mon = gpkit.mon\n", "vec = gpkit.vecmon" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### make BEM model factory for varying weight and number of bins" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Constants #\n", "rho = mon(\"\\\\rho\", 1.23, \"kg/m^3\", \"Density of Air\")\n", "W = mon(\"W\", \"N\", \"Weight of Vehicle\")\n", "xi = vec(2,\"\\\\xi\", \"N\", \"Thrust per bin\")\n", "\n", "# Scalars #\n", "A = mon(\"A\", \"m^2\", \"Disk Area\")\n", "Omega = mon(\"\\\\Omega\", \"rpm\", \"Rotor RPM\")\n", "R = mon(\"R\", \"m\", \"Rotor Radius\")\n", "P = mon(\"P\", \"W\", \"Induced Power\")\n", "\n", "# Vectors #\n", "r = vec(2, \"r\", \"-\", \"Non-dimensional Radius\")\n", "dr = vec(2, \"\\\\Delta r\", \"-\", \"Non-dimensional Radius Step\")\n", "Vi = vec(2, \"V_i\", \"m/s\", \"Induced Velocities\")\n", "dCT = vec(2, \"dC_T\", \"-\", \"Incremental Thrust Coefficient of Each Bin\")\n", "dCP = vec(2, \"dC_P\", \"-\", \"Incremental Power Coefficient of Each Bin\")\n", "dP = vec(2, \"dP\", \"W\", \"Incremental Power of Each Bin\")\n", "\n", "def BEMT_GP(N=5, Weight=1e4):\n", " Weight = float(Weight)\n", " global xi, r, dr, Vi, dCT, dCP, dP\n", " \n", " xi = vec(N, \"\\\\xi\", \"N\", \"Thrust per bin\")\n", " \n", " constants = {W: Weight,\n", " xi: Weight/float(N) * ones(N),\n", " #xi: 2*Weight/float(N)**2 * array(range(1,N+1))\n", " }\n", " \n", " # Vector reasignment #\n", " r = vec(N, \"r\", \"-\", \"Non-dimensional Radius\")\n", " dr = vec(N, \"\\\\Delta r\", \"-\", \"Non-dimensional Radius Step\")\n", " Vi = vec(N, \"V_i\", \"m/s\", \"Induced Velocities\")\n", " dCT = vec(N, \"dC_T\", \"-\", \"Incremental Thrust Coefficient of Each Bin\")\n", " dCP = vec(N, \"dC_P\", \"-\", \"Incremental Power Coefficient of Each Bin\")\n", " dP = vec(N, \"dP\", \"W\", \"Incremental Power of Each Bin\")\n", "\n", " phys_constraints = (A == pi*R**2,\n", " R <= 8 * gpkit.units.m,\n", " Omega <= 280 * gpkit.units.rpm )\n", "\n", " r_constraints=([r[j] >= dr[:j].sum() for j in range(1,N)],\n", " 1 >= dr.sum(),\n", " r[0] == dr[0]/2,\n", " [r[j] >= r[j-1] + .5*dr[j-1] + .5*dr[j] for j in range(1,N)],\n", " r[-1] <= 1)\n", "\n", " main_constraints = (xi == rho*A*(Omega*R)**2*dCT,\n", " 0.25 == Vi**2*r*dr/(dCT*(Omega*R)**2),\n", " 0.25 == Vi**3*r*dr/(dCP*(Omega*R)**3), \n", " dP == rho*A*(Omega*R)**3*dCP,\n", " P >= dP.sum())\n", " objective = P\n", " eqns = phys_constraints + r_constraints + main_constraints\n", " return gpkit.GP(objective, eqns, constants)\n", "\n", "gp = BEMT_GP()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### show gp" ] }, { "cell_type": "code", "collapsed": false, "input": [ "gp" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$\\begin{array}[ll]\n", "\\text{}\n", "\\text{minimize}\n", " & P\\mathrm{\\left[ W \\right]} \\\\\n", "\\text{subject to}\n", " & A = 3.142R^{2} \\\\\n", " & R \\leq 8\\mathrm{\\left[ m \\right]} \\\\\n", " & \\Omega \\leq 280\\mathrm{\\left[ rpm \\right]} \\\\\n", " & {r}_{1} \\geq {\\Delta r}_{0} \\\\\n", " & {r}_{2} \\geq {\\Delta r}_{0} + {\\Delta r}_{1} \\\\\n", " & {r}_{3} \\geq {\\Delta r}_{0} + {\\Delta r}_{1} + {\\Delta r}_{2} \\\\\n", " & {r}_{4} \\geq {\\Delta r}_{0} + {\\Delta r}_{1} + {\\Delta r}_{2} + {\\Delta r}_{3} \\\\\n", " & 1 \\geq {\\Delta r}_{0} + {\\Delta r}_{1} + {\\Delta r}_{2} + {\\Delta r}_{3} + {\\Delta r}_{4} \\\\\n", " & {r}_{0} = 0.5{\\Delta r}_{0} \\\\\n", " & {r}_{1} \\geq 0.5{\\Delta r}_{0} + 0.5{\\Delta r}_{1} + {r}_{0} \\\\\n", " & {r}_{2} \\geq 0.5{\\Delta r}_{1} + 0.5{\\Delta r}_{2} + {r}_{1} \\\\\n", " & {r}_{3} \\geq 0.5{\\Delta r}_{2} + 0.5{\\Delta r}_{3} + {r}_{2} \\\\\n", " & {r}_{4} \\geq 0.5{\\Delta r}_{3} + 0.5{\\Delta r}_{4} + {r}_{3} \\\\\n", " & 1 \\geq {r}_{4} \\\\\n", " & {\\xi}_{0} = {dC_T}_{0} \\Omega^{2} A R^{2} \\rho \\\\\n", " & {\\xi}_{1} = {dC_T}_{1} \\Omega^{2} A R^{2} \\rho \\\\\n", " & {\\xi}_{2} = {dC_T}_{2} \\Omega^{2} A R^{2} \\rho \\\\\n", " & {\\xi}_{3} = {dC_T}_{3} \\Omega^{2} A R^{2} \\rho \\\\\n", " & {\\xi}_{4} = {dC_T}_{4} \\Omega^{2} A R^{2} \\rho \\\\\n", " & 0.25 = \\frac{{\\Delta r}_{0} {V_i}_{0}^{2} {r}_{0}}{{dC_T}_{0} \\Omega^{2} R^{2}} \\\\\n", " & 0.25 = \\frac{{\\Delta r}_{1} {V_i}_{1}^{2} {r}_{1}}{{dC_T}_{1} \\Omega^{2} R^{2}} \\\\\n", " & 0.25 = \\frac{{r}_{2} {\\Delta r}_{2} {V_i}_{2}^{2}}{{dC_T}_{2} \\Omega^{2} R^{2}} \\\\\n", " & 0.25 = \\frac{{r}_{3} {\\Delta r}_{3} {V_i}_{3}^{2}}{{dC_T}_{3} \\Omega^{2} R^{2}} \\\\\n", " & 0.25 = \\frac{{r}_{4} {\\Delta r}_{4} {V_i}_{4}^{2}}{{dC_T}_{4} \\Omega^{2} R^{2}} \\\\\n", " & 0.25 = \\frac{{\\Delta r}_{0} {V_i}_{0}^{3} {r}_{0}}{{dC_P}_{0} \\Omega^{3} R^{3}} \\\\\n", " & 0.25 = \\frac{{\\Delta r}_{1} {V_i}_{1}^{3} {r}_{1}}{{dC_P}_{1} \\Omega^{3} R^{3}} \\\\\n", " & 0.25 = \\frac{{r}_{2} {\\Delta r}_{2} {V_i}_{2}^{3}}{{dC_P}_{2} \\Omega^{3} R^{3}} \\\\\n", " & 0.25 = \\frac{{r}_{3} {\\Delta r}_{3} {V_i}_{3}^{3}}{{dC_P}_{3} \\Omega^{3} R^{3}} \\\\\n", " & 0.25 = \\frac{{r}_{4} {\\Delta r}_{4} {V_i}_{4}^{3}}{{dC_P}_{4} \\Omega^{3} R^{3}} \\\\\n", " & {dP}_{0} = {dC_P}_{0} \\Omega^{3} A R^{3} \\rho \\\\\n", " & {dP}_{1} = {dC_P}_{1} \\Omega^{3} A R^{3} \\rho \\\\\n", " & {dP}_{2} = {dC_P}_{2} \\Omega^{3} A R^{3} \\rho \\\\\n", " & {dP}_{3} = {dC_P}_{3} \\Omega^{3} A R^{3} \\rho \\\\\n", " & {dP}_{4} = {dC_P}_{4} \\Omega^{3} A R^{3} \\rho \\\\\n", " & P \\geq {dP}_{0} + {dP}_{1} + {dP}_{2} + {dP}_{3} + {dP}_{4} \\\\\n", "\\text{substituting}\n", " & \\rho = 1.23 \\\\\n", " & {\\xi}_{0} = 2000 \\\\\n", " & {\\xi}_{1} = 2000 \\\\\n", " & {\\xi}_{2} = 2000 \\\\\n", " & {\\xi}_{3} = 2000 \\\\\n", " & {\\xi}_{4} = 2000 \\\\\n", "\\end{array}$$" ], "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": [ " gpkit.GP( # minimize \n", " P, units='W', \n", " [ # subject to \n", " A = 3.1*R**2, \n", " R <= 8, units='m', \n", " \\Omega <= 2.8e+02, units='rpm', \n", " r_1 >= \\Delta r_0, \n", " r_2 >= \\Delta r_0 + \\Delta r_1, \n", " r_3 >= \\Delta r_0 + \\Delta r_1 + \\Delta r_2, \n", " r_4 >= \\Delta r_0 + \\Delta r_1 + \\Delta r_2 + \\Delta r_3, \n", " 1 >= \\Delta r_0 + \\Delta r_1 + \\Delta r_2 + \\Delta r_3 + \\Delta \n", " r_0 = 0.5*\\Delta r_0, \n", " r_1 >= 0.5*\\Delta r_0 + 0.5*\\Delta r_1 + r_0, \n", " r_2 >= 0.5*\\Delta r_1 + 0.5*\\Delta r_2 + r_1, \n", " r_3 >= 0.5*\\Delta r_2 + 0.5*\\Delta r_3 + r_2, \n", " r_4 >= 0.5*\\Delta r_3 + 0.5*\\Delta r_4 + r_3, \n", " 1 >= r_4, \n", " \\xi_0 = dC_T_0*\\Omega**2*A*R**2*\\rho, \n", " \\xi_1 = dC_T_1*\\Omega**2*A*R**2*\\rho, \n", " \\xi_2 = dC_T_2*\\Omega**2*A*R**2*\\rho, \n", " \\xi_3 = dC_T_3*\\Omega**2*A*R**2*\\rho, \n", " \\xi_4 = dC_T_4*\\Omega**2*A*R**2*\\rho, \n", " 0.25 = \\Delta r_0*V_i_0**2*dC_T_0**-1*\\Omega**-2*r_0*R**-2, \n", " 0.25 = \\Delta r_1*V_i_1**2*dC_T_1**-1*\\Omega**-2*r_1*R**-2, \n", " 0.25 = r_2*\\Delta r_2*V_i_2**2*dC_T_2**-1*\\Omega**-2*R**-2, \n", " 0.25 = r_3*\\Delta r_3*V_i_3**2*dC_T_3**-1*\\Omega**-2*R**-2, \n", " 0.25 = r_4*\\Delta r_4*V_i_4**2*dC_T_4**-1*\\Omega**-2*R**-2, \n", " 0.25 = \\Delta r_0*V_i_0**3*dC_P_0**-1*\\Omega**-3*r_0*R**-3, \n", " 0.25 = dC_P_1**-1*\\Delta r_1*V_i_1**3*\\Omega**-3*r_1*R**-3, \n", " 0.25 = r_2*\\Delta r_2*V_i_2**3*dC_P_2**-1*\\Omega**-3*R**-3, \n", " 0.25 = r_3*\\Delta r_3*V_i_3**3*dC_P_3**-1*\\Omega**-3*R**-3, \n", " 0.25 = r_4*\\Delta r_4*V_i_4**3*dC_P_4**-1*\\Omega**-3*R**-3, \n", " dP_0 = dC_P_0*\\Omega**3*A*R**3*\\rho, \n", " dP_1 = dC_P_1*\\Omega**3*A*R**3*\\rho, \n", " dP_2 = dC_P_2*\\Omega**3*A*R**3*\\rho, \n", " dP_3 = dC_P_3*\\Omega**3*A*R**3*\\rho, \n", " dP_4 = dC_P_4*\\Omega**3*A*R**3*\\rho, \n", " P >= dP_0 + dP_1 + dP_2 + dP_3 + dP_4, \n", " ], \n", " substitutions={ \\xi_3: 2000.0, \n", " \\xi_4: 2000.0, \n", " \\xi_1: 2000.0, \n", " \\xi_0: 2000.0, \n", " \\xi_2: 2000.0, \n", " \\rho: 1.23 }, \n", " solver=\"cvxopt\") \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "r_4,\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " " ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### solve for local monomial model" ] }, { "cell_type": "code", "collapsed": false, "input": [ "gp.solve()[\"local_model\"][0]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Using solver 'cvxopt'\n", "Solving took 0.235 seconds" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n" ] }, { "latex": [ "$$0.5404\\frac{{\\xi}_{0}^{0.32} {\\xi}_{1}^{0.3} {\\xi}_{2}^{0.3} {\\xi}_{3}^{0.3} {\\xi}_{4}^{0.27}}{\\rho^{0.5}}$$" ], "metadata": {}, "output_type": "pyout", "prompt_number": 4, "text": [ "0.54*\\xi_0**0.32*\\xi_1**0.3*\\xi_2**0.3*\\xi_3**0.3*\\xi_4**0.27*\\rho**-0.5" ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "from IPython.display import Math\n", "\n", "Math('0.5404\\\\frac{\\\\left({\\\\xi}_{1}^{0.0144} {\\\\xi}_{5}^{-0.0318} \\\\prod_{1}^5 {\\\\xi}_{i}^{0.3035} \\\\right)}{\\\\rho^{0.5}}')" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$0.5404\\frac{\\left({\\xi}_{1}^{0.0144} {\\xi}_{5}^{-0.0318} \\prod_{1}^5 {\\xi}_{i}^{0.3035} \\right)}{\\rho^{0.5}}$$" ], "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": [ "" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### vectorized solution" ] }, { "cell_type": "code", "collapsed": false, "input": [ "gp.solution[\"variables\"]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ "{V_i: array([[ 4.61764043, 4.40875243, 4.40875201, 4.4087519 , 3.94733624]]),\n", " \\Delta r: array([[ 0.43547418, 0.17668997, 0.13930325, 0.11877681, 0.12975581]]),\n", " dP: array([[ 9235.28083441, 8817.50482631, 8817.50398871, 8817.50377994,\n", " 7894.67246202]]),\n", " r: array([[ 0.21773709, 0.58869686, 0.74669362, 0.87573369, 1. ]]),\n", " dC_T: array([[ 0.00373315, 0.00373315, 0.00373315, 0.00373315, 0.00373315]]),\n", " dC_P: array([[ 0.00037037, 0.00035362, 0.00035362, 0.00035362, 0.00031661]]),\n", " \\xi: array([[ 2000, 2000, 2000, 2000, 2000]]),\n", " P: array([ 43582.46513974]),\n", " \\Omega: array([ 55.55730973]),\n", " A: array([ 201.06192911]),\n", " R: array([ 7.99999999]),\n", " \\rho: array([ 1.23])}" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "gp.solution[\"sensitivities\"][\"variables\"][\"\\\\xi\"]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 7, "text": [ "array([[ 0.31785537, 0.30347657, 0.30347654, 0.30347653, 0.27171497]])" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "p = xi/rho\n", "p" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$\\begin{bmatrix}\\frac{{\\xi}_{0}}{\\rho}\\mathrm{\\left[ \\tfrac{N\\cdotm^{3}}{kg} \\right]} & \\frac{{\\xi}_{1}}{\\rho}\\mathrm{\\left[ \\tfrac{N\\cdotm^{3}}{kg} \\right]} & \\frac{{\\xi}_{2}}{\\rho}\\mathrm{\\left[ \\tfrac{N\\cdotm^{3}}{kg} \\right]} & \\frac{{\\xi}_{3}}{\\rho}\\mathrm{\\left[ \\tfrac{N\\cdotm^{3}}{kg} \\right]} & \\frac{{\\xi}_{4}}{\\rho}\\mathrm{\\left[ \\tfrac{N\\cdotm^{3}}{kg} \\right]}\\end{bmatrix}$$" ], "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ "[\\xi_0*\\rho**-1, units='N*m**3/kg', \\xi_1*\\rho**-1, units='N*m**3/kg', \\xi_2*\\\n", "rho**-1, units='N*m**3/kg', \\xi_3*\\rho**-1, units='N*m**3/kg', \\xi_4*\\rho**-1,\n", " units='N*m**3/kg']" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### show effect of weight and bin number on thrust disitribution" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def solve_and_plot_Vi(bins, weight):\n", " gp = BEMT_GP(bins, weight)\n", " sol = gp.solve(solver='mosek', printing=False)\n", "\n", " figure(figsize=(12,6))\n", " plot(sol(R*r), sol(xi/(R*dr)), 'r.')\n", " ylim(0, weight/4)\n", " ylabel('Thrust density [N/m]')\n", " xlabel('Radial position [m]')\n", " show()\n", "\n", "from IPython.html.widgets import interactive\n", "\n", "interactive(solve_and_plot_Vi, bins=(1,20), weight=(1e3, 1e5, 1e3))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": { "png": { "height": 377, "width": 735 } }, "output_type": "display_data", "png": "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\ndlfVG/YyZmtVvbuqrqmq71fVX1XVs6tq2fdeVWdU1Uer6rqquraqLqqqx++h/5aqenFVXVZV11fV\nN6rqvKo6fg9j7lFVr62qr1XVrqq6qqpeUVW3W9mnAQAAAADAItXd672HFauqTyd5cJLrknw1yfFJ\n3tjdv7JM/1OTvCXJ95Ocl+SaJKckOS7JBd39SwvG7EjynCRfTnJBkiOTPCnJHZI8q7vPnet/ZJIP\nJNma5GNJLkxyryRPTPLDJCd390fnxhyT5JIkd07y9iSXJnlYkkcnuSzJI7r7mhV8Hp0kG+k7BAAA\nAACYV1VJku6uIebbUCe+k/xmkvt2922TPHNPHavqJ5L8pyQ3JDmpu3+tu5+X5B8n+W9JTquq0+fG\nbM0k9L4iyYO7+6zu/o0kD8kkNN9RVfeeW+o5mYTe53f3w7r7d7r7l5OcluSWSV5bS9/aj70qk9D7\nWd39v3f3v+nuxyR5RSah/Ev35UMBAAAAOOht25Zs2ZJUTa7btq33joAR21DBd3df3N1XTp/uLfk/\nLcmdkry5uz85M8cPkrxw+nQ+PH/G9PrS7t45M+aLSc7N5PT305bap4H2M5J0kufO7fWdST6c5P5J\nHjUz5pgkj01y1fzp8SRnZ3I6/alVdcu9vD8AAACAjWHbtuScc5JduybPd+2aPBd+A/vJhgq+99HJ\n0+t7F7z2oSTXJzmhqo6YG9PLjHnP9PrombZjktwzyeXTcHy5MSfPtC2Nf9985+7+bpK/THKrJA9f\nMB8AAADAxnPu/Nm/vbQDrNGYg+/jptfL51/o7huTXJVkU5Kjk6SqbpXkbkm+293fWDDfFdPrsStZ\nY27MffdhzOcXjAEAAADYuJZOeq+0HWCNxhx83zaT09s7l3l9ZyblUm4703+pfbn+SXK7uTUOxBgA\nAACAjWvz5n1rB1ijMQffAAAAABwMzjxz39oB1mjMwff8ie55S+3XzvSfbd9b/wM5Zo+qatnH9u3b\nVzoNAAAAwP6xY0dy1lk/PuG9efPk+Y4d67sv4IDavn37sjnm0MYcfF82vR43/0JVbUpynyQ3JPlC\nknT395J8Lcmtq+quC+Zbqrk9W5v70un12Cy2pzE329cexuxRdy/7EHwDAAAAB4UdO5Lrr0+6J1eh\nNxxytm/fvmyOObQxB98fmF5/fsFrJybZkuSS7r5hbkwtM+Zx0+uFSw3dfWWSLyU5rqqOWsmYJBdN\n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\niuAbAAAAAIBJEXwDAAAAADApgm8AAAAAACZF8A0AAAAAwKQIvgEAAAAAmBTBNwAAAAAAkyL4BgAA\nAJBz5BwAABVhSURBVABgUgTfAAAAAABMiuAbAAAAAIBJEXwDAAAAADApgm8AAAAAACZF8A0AAAAA\nwKQIvgEAAAAAmBTBNwAAAAAAkyL4BgAAAABgUgTfAAAAAABMiuAbAAAAAIBJEXwDAAAAADApgm8A\nAAAAACZF8L1kVfXzVfXCqvpSVZ1fVadX1bOr6sBl1wYAAAAAsDcSfC9RVR2S5INJ7pPkP5I8K8ln\nkzwiyXuq6lLLqw72bFu2bFl2CbAUPvtsZj7/bFY++2xWPvtsZj7/sPuqu5ddw6ZVVf+e5JZJHtbd\nx67a/8wkj0ryt9394G3M7yTxHrIZVZXPPpuSzz6bmc8/m5XPPpuVzz6bmc8/m1FVJUm6uxZyPv8R\nLce42vszSU7v7kNmjl0syVlJOslB3X3uGucQfLNp+SaAzcpnn83M55/Nymefzcpnn83M55/NaNHB\nt1Yny3PkuH3L7IHu/m6SdyW5aJJf3ciiAAAAAAD2doLv5Tl03H56jeOfGbdX24BaAAAAAAAmQ/C9\nPJcct+escXxl/4EbUAsAAAAAwGQIvgEAAAAAmJR9ll3AJrayovuSaxxf2X/29k600vgdNhuffTYr\nn302M59/NiuffTYrn302M59/2D1WfC/PJ8ftoWscX+ntvVYPcAAAAAAA5qjuXnYNm1JVXTXJqUlO\nT/ILveqNqKqLJ/lykk5y2e4+bzlVAgAAAADsfaz4XpLu/myStyQ5OMlDZg4/KclFkrxU6A0AAAAA\nsHOs+F6icdX3u5NcNsm/ZWh/csMkN0vyqSSHd/e3llYgAAAAAMBeSPC9ZFX180n+JMltkvxcki8l\neXWSJ3X3OduaCwAAAADATxN8AwAAAAAwKXp8AwAAAAAwKYJvAAAAAAAmRfANAAAAAMCkCL73IlV1\n56r6q6o6paq+XVVbq+qly64L1ltVXaqq7l9Vr66qU6vq3Ko6e/xv4X5VVcuuEdZTVf15Vb29qj4/\nfv6/WVUfqaqnVNVBy64PNkpV3WP8/mdrVf3fZdcD66Wqzlj1WZ/98+Vl1wfrrapuMX7vf1ZVnV9V\nX6yqN1fVbZddG6yHqrrPNr7ur/y5YNl1wnqowV2r6sTx6/25VXVaVf1LVf3q7px7n0UVyYZ4YpJr\n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\n", "text": [ "" ] } ], "prompt_number": 10 } ], "metadata": {} } ] }