{ "cells": [ { "cell_type": "markdown", "id": "932c01bc-4aa9-48d0-afe9-805d20620a6f", "metadata": {}, "source": [ "# Naked singularity in Vaidya collapse\n", "\n", "This Jupyter/SageMath notebook is relative to the lectures\n", "[Geometry and physics of black holes](https://relativite.obspm.fr/blackholes/).\n", "\n", "The computations make use of tools developed through the [SageManifolds project](https://sagemanifolds.obspm.fr)." ] }, { "cell_type": "code", "execution_count": 1, "id": "1e4ac08d-7030-49e8-acf9-73ebb9443ad2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'SageMath version 10.2.beta8, Release Date: 2023-10-21'" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "version()" ] }, { "cell_type": "code", "execution_count": 2, "id": "1d6b359c-ffb9-4c71-84df-d9c902343758", "metadata": {}, "outputs": [], "source": [ "%display latex" ] }, { "cell_type": "code", "execution_count": 3, "id": "52e70b75-7ca4-4bb1-ab2c-b94b7016ac19", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4-dimensional Lorentzian manifold M\n" ] } ], "source": [ "M = Manifold(4, 'M', structure='Lorentzian')\n", "print(M)" ] }, { "cell_type": "code", "execution_count": 4, "id": "e74b9701-2261-4805-9319-782690f5421b", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\left(M,(v, r, {\\theta}, {\\varphi})\\right)\\)" ], "text/latex": [ "$\\displaystyle \\left(M,(v, r, {\\theta}, {\\varphi})\\right)$" ], "text/plain": [ "Chart (M, (v, r, th, ph))" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "XN. = M.chart(r'v:(0,+oo) r:(0,+oo) th:(0,pi):\\theta ph:(0,2*pi):\\varphi:periodic')\n", "XN" ] }, { "cell_type": "markdown", "id": "258b4123-36d4-4ace-af2d-d7e43b17bfd3", "metadata": {}, "source": [ "### The two roots $(x_1, x_2)$ of the polynomial $\\alpha x^2 - x +2$ for $0<\\alpha<\\frac{1}{8}$" ] }, { "cell_type": "code", "execution_count": 5, "id": "3389620d-1657-496a-92e3-6c7d205c91c9", "metadata": {}, "outputs": [ { "data": { "image/png": "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EJ6enqiurkZMTAwKCgqQn5+P2NhYVFZWjnmNGJl78+bNY14j/va3v/E1woavESOPb+014tVXX+VrhA1fIw7d9tDXiGeeeebwrxGlpTC99Rbwzjuo8/fna8Q4XiMOt45Yu3at7K8RI+uf8bDrEbs//elPmDp1KlJTUw+7DY/YERER2YHZDKxdC6SmAjt2ABdfLPdEdIwUccSupqYGX3zxBR5//PEjbufi4oLZs2db3Eh+aruEipqxtRjsLA5bi3HUzk5OQHg4cO65wJo1wM8/ixnMwahtf7bbEbt33nkHmzZtQl1dHSZP4BInvKSYMrS0tOCkk06SewxNYGsx2FkcthZj3J3r64HLLgPOOgv44gvAxcX+wzkQJezPsh+xGx4eRkREBB5++OEJLepIOT799FO5R9AMthaDncVhazHG3fm004DkZECvB556SvoRLY2b2vZnuyzsvvjiC9TW1uL//u//7PHwJMDll18u9wiawdZisLM4bC3GhDpffrn0Y9mPPwa8vOw3lANS2/5sl4XdjTfeCLPZjLPPPtseD08C1NfXyz2CZrC1GOwsDluLMeHO990H/PvfwGuvAYmJ9hnKAaltf7br6U5Ivez4YWn6FbYWg53FYWsxjqnz228D99wDPPAAUFxs+6EckNr2Zy7syKqR8wmS/bG1GOwsDluLcUydJ00CIiOBCy6QLjv20082n8vRqG1/5sKOrPr666/lHkEz2FoMdhaHrcU45s7Tp0tXpnB2lhZ3Bw7YdjAHo7b92a4nKJ4InU4HnU6HoaEh7Nu3j6c7kVlrayvmz58v9xiawNZisLM4bC3GcXf+/nvgqquAP/0J2LZNOppHYyhhf5b9dCfHYt26dTAajdDr9XKPQgCCg4PlHkEz2FoMdhaHrcU47s4XXQR88gmQlAS8+aZthnJAatufFXPEbgRPUExERCSQry/wj39I7717+GG5pyErVHnEjpRFbZdQUTO2FoOdxWFrMWzW+aWXgMceA554AigosM1jOhC17c88YkdWdXV1YdasWXKPoQlsLQY7i8PWYti0c3+/9F670lJg1y5g2TLbPK4DUML+zCN2dNw2b94s9wiawdZisLM4bC2GTTtPnQokJADz5gG33gq0t9vusVVObfszF3Zk1Y033ij3CJrB1mKwszhsLYbNO8+bB6SlAfv3SycxHhy07eOrlNr2Zy7s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dXVhzpw5R9zGruexOxbDw8NoaGjArFmzxrxfb+Qcd3V1dXZ5j92qVaug1+tV87j2emy1drbnY9vrce3ZWo2d7fXYat2n1dYZ4D4t6nHZWcxjK+W1w2w2o6urC4sXL8akSUd+F53ijthNmjTpiOe9A2C38905Ozur6nHt/dhq62zPx7bnzIB9Wquxs70fW237tFo7A9yn7f24I9hZzGMr4bXjaEfqRtj1kmJqs27dOlU9rr0f217U2IOdHeOx7UWN+x07i3lsdnaMx7YXe8ysuB/FHglPdyIGO4vD1mKwszhsLQY7i6HGzqo6Yufi4oK3335b9vPJODp2FoetxWBncdhaDHYWQ42dVXXEjoiIiIgOT1VH7IiIiIjo8LiwIyIiInIQXNgREREROQjZF3Yffvghli5dimnTpmHlypUoKCg44vZfffUVVq5ciWnTpuGMM85ASEjImG0SEhKwYsUKuLi4YMWKFUhKSrLX+Kph685hYWH4/e9/jxNPPBEnnngiVq9ejW+++cae34Iq2GN/HhEXFwcnJyfcfvvtNp5anezRur29HevWrcOiRYswbdo0nHvuucjIyLDXt6AK9ujs7++Pc845B9OnT4erqytefPFF9PX12etbUIWJdN6/fz/uu+8+nHPOOZg0aRLWr19vdTv+W2idrVsr7t9Ds4zi4uLMU6ZMMYeFhZmNRqP5hRdeMM+cOdNcU1NjdfuqqirzjBkzzC+88ILZaDSaw8LCzFOmTDF/+umno9vs3LnT7OzsbN6wYYN579695g0bNpgnT55sLioqEvVtKY49Ot93331mnU5n/u6778x79+41P/roo+Y5c+aY6+vrRX1bimOPziOqq6vNp556qvn3v/+9ec2aNXb+TpTPHq1NJpP5sssuM998883mwsJCc3V1tbmgoMBsMBhEfVuKY4/OMTExZhcXF/OWLVvMP/74ozkrK8u8aNEi8/r160V9W4oz0c4//vij+fnnnzd//PHH5osvvtj8wgsvjNmG/xZaZ4/WSvv3UNaF3W9/+1vz008/bfG15cuXm1999VWr2//rX/8yL1++3OJrTz31lPnyyy8f/fM999xj/vOf/2yxzZ/+9Cfzvffea6Op1ccenX9tcHDQPGvWLPPHH398/AOrlL06Dw4Omq+66irzRx99ZH744Ye5sDPbp3VwcLD5jDPOMPf399t+YJWy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\n", "text/plain": [ "Graphics object consisting of 2 graphics primitives" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "graph = plot((1 - sqrt(1 - 8*x))/(2*x), (x, 0.001, 1/8), color='blue', \n", " legend_label=r'$x_1$', axes_labels=[r'$\\alpha$', ''])\n", "graph += plot((1 + sqrt(1 - 8*x))/(2*x), (x, 0.08, 1/8), color='red', \n", " legend_label=r'$x_2$')\n", "graph.show(frame=True, gridlines=True)" ] }, { "cell_type": "code", "execution_count": 6, "id": "ace79af2-8499-4beb-8690-5075edda8742", "metadata": {}, "outputs": [], "source": [ "x1 = var('x1', latex_name=r'x_1', domain='real')\n", "assume(x1 > 2, x1 < 4)\n", "x2 = var('x2', latex_name=r'x_2', domain='real')\n", "assume(x2 > 4)" ] }, { "cell_type": "code", "execution_count": 7, "id": "16128513-9497-4f04-bc8e-fd58b3bd95fb", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\frac{2}{{x_1} {x_2}}\\)" ], "text/latex": [ "$\\displaystyle \\frac{2}{{x_1} {x_2}}$" ], "text/plain": [ "2/(x1*x2)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "alpha = 2/(x1*x2)\n", "alpha" ] }, { "cell_type": "markdown", "id": "98529b43-89e7-4436-b2ba-c68e5b8635ef", "metadata": {}, "source": [ "### Vaidya metric in terms of the $(v, r, \\theta,\\varphi)$ coordinates" ] }, { "cell_type": "code", "execution_count": 8, "id": "5adb8b63-02af-451e-93a2-622ae2b7ec37", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle g = \\left( \\frac{2 \\, v}{r {x_1} {x_2}} - 1 \\right) \\mathrm{d} v\\otimes \\mathrm{d} v +\\mathrm{d} v\\otimes \\mathrm{d} r +\\mathrm{d} r\\otimes \\mathrm{d} v + r^{2} \\mathrm{d} {\\theta}\\otimes \\mathrm{d} {\\theta} + r^{2} \\sin\\left({\\theta}\\right)^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}\\)" ], "text/latex": [ "$\\displaystyle g = \\left( \\frac{2 \\, v}{r {x_1} {x_2}} - 1 \\right) \\mathrm{d} v\\otimes \\mathrm{d} v +\\mathrm{d} v\\otimes \\mathrm{d} r +\\mathrm{d} r\\otimes \\mathrm{d} v + r^{2} \\mathrm{d} {\\theta}\\otimes \\mathrm{d} {\\theta} + r^{2} \\sin\\left({\\theta}\\right)^{2} \\mathrm{d} {\\varphi}\\otimes \\mathrm{d} {\\varphi}$" ], "text/plain": [ "g = (2*v/(r*x1*x2) - 1) dv⊗dv + dv⊗dr + dr⊗dv + r^2 dth⊗dth + r^2*sin(th)^2 dph⊗dph" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g = M.metric()\n", "g[0,0] = -(1 - alpha*v/r)\n", "g[0,1] = 1\n", "g[2,2] = r^2\n", "g[3,3] = (r*sin(th))^2\n", "g.display()" ] }, { "cell_type": "markdown", "id": "fd186568-4d4d-49c4-b6c0-8b9b333f0283", "metadata": {}, "source": [ "## Double null-coordinate system in the region $r > v / x_2$" ] }, { "cell_type": "code", "execution_count": 9, "id": "2e6772c5-7304-49b7-8fee-d4abfd46cd0f", "metadata": {}, "outputs": [], "source": [ "N1 = M.open_subset('N1', latex_name=r'N_1',\n", " coord_def={XN: r > v/x2})" ] }, { "cell_type": "code", "execution_count": 10, "id": "b83c0903-1898-45a1-ad3f-9cae1ec41205", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\left(N_1,(u, v, {\\theta}, {\\varphi})\\right)\\)" ], "text/latex": [ "$\\displaystyle \\left(N_1,(u, v, {\\theta}, {\\varphi})\\right)$" ], "text/plain": [ "Chart (N1, (u, v, th, ph))" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X1. = N1.chart(r'u v:(0,+oo) th:(0,pi):\\theta ph:(0,2*pi):\\varphi:periodic')\n", "X1" ] }, { "cell_type": "code", "execution_count": 11, "id": "d3b379a8-bf0f-484a-95ad-3d67402ec378", "metadata": {}, "outputs": [], "source": [ "assume(x2*r - v > 0)" ] }, { "cell_type": "code", "execution_count": 12, "id": "fdd85839-3ec1-4738-8f2f-dc48d1a54a47", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\left\\{\\begin{array}{lcl} u & = & -\\frac{r - \\frac{v}{{x_1}}}{{\\left(r - \\frac{v}{{x_2}}\\right)}^{\\frac{{x_1}}{{x_2}}}} \\\\ v & = & v \\\\ {\\theta} & = & {\\theta} \\\\ {\\varphi} & = & {\\varphi} \\end{array}\\right.\\)" ], "text/latex": [ "$\\displaystyle \\left\\{\\begin{array}{lcl} u & = & -\\frac{r - \\frac{v}{{x_1}}}{{\\left(r - \\frac{v}{{x_2}}\\right)}^{\\frac{{x_1}}{{x_2}}}} \\\\ v & = & v \\\\ {\\theta} & = & {\\theta} \\\\ {\\varphi} & = & {\\varphi} \\end{array}\\right.$" ], "text/plain": [ "u = -(r - v/x1)/(r - v/x2)^(x1/x2)\n", "v = v\n", "th = th\n", "ph = ph" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "XN_to_X1 = XN.transition_map(X1, ((v/x1 - r)/((r - v/x2))^(x1/x2),\n", " v, th, ph))\n", "XN_to_X1.display()" ] }, { "cell_type": "code", "execution_count": 13, "id": "eb63d174-6b5a-4be8-9c21-66ca3c8a5a99", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\begin{array}{lcl} g_{ \\, u \\, v }^{ \\phantom{\\, u}\\phantom{\\, v} } & = & \\frac{{\\left(r {x_2} - v\\right)}^{\\frac{{x_1}}{{x_2}} + 1}}{{\\left(r {x_1} - r {x_2}\\right)} {x_2}^{\\frac{{x_1}}{{x_2}}}} \\\\ g_{ \\, v \\, u }^{ \\phantom{\\, v}\\phantom{\\, u} } & = & \\frac{{\\left(r {x_2} - v\\right)}^{\\frac{{x_1}}{{x_2}} + 1}}{{\\left(r {x_1} - r {x_2}\\right)} {x_2}^{\\frac{{x_1}}{{x_2}}}} \\\\ g_{ \\, v \\, v }^{ \\phantom{\\, v}\\phantom{\\, v} } & = & -\\frac{{\\left({x_1} - 2\\right)} {x_2} - 2 \\, {x_1}}{{x_1} {x_2}} \\\\ g_{ \\, {\\theta} \\, {\\theta} }^{ \\phantom{\\, {\\theta}}\\phantom{\\, {\\theta}} } & = & r^{2} \\\\ g_{ \\, {\\varphi} \\, {\\varphi} }^{ \\phantom{\\, {\\varphi}}\\phantom{\\, {\\varphi}} } & = & r^{2} \\sin\\left({\\theta}\\right)^{2} \\end{array}\\)" ], "text/latex": [ "$\\displaystyle \\begin{array}{lcl} g_{ \\, u \\, v }^{ \\phantom{\\, u}\\phantom{\\, v} } & = & \\frac{{\\left(r {x_2} - v\\right)}^{\\frac{{x_1}}{{x_2}} + 1}}{{\\left(r {x_1} - r {x_2}\\right)} {x_2}^{\\frac{{x_1}}{{x_2}}}} \\\\ g_{ \\, v \\, u }^{ \\phantom{\\, v}\\phantom{\\, u} } & = & \\frac{{\\left(r {x_2} - v\\right)}^{\\frac{{x_1}}{{x_2}} + 1}}{{\\left(r {x_1} - r {x_2}\\right)} {x_2}^{\\frac{{x_1}}{{x_2}}}} \\\\ g_{ \\, v \\, v }^{ \\phantom{\\, v}\\phantom{\\, v} } & = & -\\frac{{\\left({x_1} - 2\\right)} {x_2} - 2 \\, {x_1}}{{x_1} {x_2}} \\\\ g_{ \\, {\\theta} \\, {\\theta} }^{ \\phantom{\\, {\\theta}}\\phantom{\\, {\\theta}} } & = & r^{2} \\\\ g_{ \\, {\\varphi} \\, {\\varphi} }^{ \\phantom{\\, {\\varphi}}\\phantom{\\, {\\varphi}} } & = & r^{2} \\sin\\left({\\theta}\\right)^{2} \\end{array}$" ], "text/plain": [ "g_u,v = (r*x2 - v)^(x1/x2 + 1)/((r*x1 - r*x2)*x2^(x1/x2)) \n", "g_v,u = (r*x2 - v)^(x1/x2 + 1)/((r*x1 - r*x2)*x2^(x1/x2)) \n", "g_v,v = -((x1 - 2)*x2 - 2*x1)/(x1*x2) \n", "g_th,th = r^2 \n", "g_ph,ph = r^2*sin(th)^2 " ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g.display_comp(X1.frame(), chart=XN.restrict(N1))" ] }, { "cell_type": "code", "execution_count": 14, "id": "0f2f2bfa-eadc-43bb-a919-1511263e07de", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\frac{{\\left(r {x_2} - v\\right)}^{\\frac{{x_1}}{{x_2}} + 1}}{{\\left(r {x_1} - r {x_2}\\right)} {x_2}^{\\frac{{x_1}}{{x_2}}}}\\)" ], "text/latex": [ "$\\displaystyle \\frac{{\\left(r {x_2} - v\\right)}^{\\frac{{x_1}}{{x_2}} + 1}}{{\\left(r {x_1} - r {x_2}\\right)} {x_2}^{\\frac{{x_1}}{{x_2}}}}$" ], "text/plain": [ "(r*x2 - v)^(x1/x2 + 1)/((r*x1 - r*x2)*x2^(x1/x2))" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g[X1.frame(),0,1].expr()" ] }, { "cell_type": "markdown", "id": "5eec0f14-27c2-426f-95bd-8ea2c7bd3ac1", "metadata": {}, "source": [ "To simplify the components of $g$, let us substitute $x_2$ by its expression\n", "in terms of $x_1$, i.e. $x_2 = \\frac{2 x_1}{x_1 - 2}$:" ] }, { "cell_type": "code", "execution_count": 15, "id": "bbff1394-dfd1-4704-86e5-cbc5409b9286", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\begin{array}{lcl} g_{ \\, u \\, v }^{ \\phantom{\\, u}\\phantom{\\, v} } & = & \\frac{2 \\, \\left(\\frac{{\\left(2 \\, r - v\\right)} {x_1} + 2 \\, v}{{x_1} - 2}\\right)^{\\frac{1}{2} \\, {x_1}}}{{\\left(r {x_1} - 4 \\, r\\right)} \\left(\\frac{2 \\, {x_1}}{{x_1} - 2}\\right)^{\\frac{1}{2} \\, {x_1}}} \\\\ g_{ \\, v \\, u }^{ \\phantom{\\, v}\\phantom{\\, u} } & = & \\frac{2 \\, \\left(\\frac{{\\left(2 \\, r - v\\right)} {x_1} + 2 \\, v}{{x_1} - 2}\\right)^{\\frac{1}{2} \\, {x_1}}}{{\\left(r {x_1} - 4 \\, r\\right)} \\left(\\frac{2 \\, {x_1}}{{x_1} - 2}\\right)^{\\frac{1}{2} \\, {x_1}}} \\\\ g_{ \\, {\\theta} \\, {\\theta} }^{ \\phantom{\\, {\\theta}}\\phantom{\\, {\\theta}} } & = & r^{2} \\\\ g_{ \\, {\\varphi} \\, {\\varphi} }^{ \\phantom{\\, {\\varphi}}\\phantom{\\, {\\varphi}} } & = & r^{2} \\sin\\left({\\theta}\\right)^{2} \\end{array}\\)" ], "text/latex": [ "$\\displaystyle \\begin{array}{lcl} g_{ \\, u \\, v }^{ \\phantom{\\, u}\\phantom{\\, v} } & = & \\frac{2 \\, \\left(\\frac{{\\left(2 \\, r - v\\right)} {x_1} + 2 \\, v}{{x_1} - 2}\\right)^{\\frac{1}{2} \\, {x_1}}}{{\\left(r {x_1} - 4 \\, r\\right)} \\left(\\frac{2 \\, {x_1}}{{x_1} - 2}\\right)^{\\frac{1}{2} \\, {x_1}}} \\\\ g_{ \\, v \\, u }^{ \\phantom{\\, v}\\phantom{\\, u} } & = & \\frac{2 \\, \\left(\\frac{{\\left(2 \\, r - v\\right)} {x_1} + 2 \\, v}{{x_1} - 2}\\right)^{\\frac{1}{2} \\, {x_1}}}{{\\left(r {x_1} - 4 \\, r\\right)} \\left(\\frac{2 \\, {x_1}}{{x_1} - 2}\\right)^{\\frac{1}{2} \\, {x_1}}} \\\\ g_{ \\, {\\theta} \\, {\\theta} }^{ \\phantom{\\, {\\theta}}\\phantom{\\, {\\theta}} } & = & r^{2} \\\\ g_{ \\, {\\varphi} \\, {\\varphi} }^{ \\phantom{\\, {\\varphi}}\\phantom{\\, {\\varphi}} } & = & r^{2} \\sin\\left({\\theta}\\right)^{2} \\end{array}$" ], "text/plain": [ "g_u,v = 2*(((2*r - v)*x1 + 2*v)/(x1 - 2))^(1/2*x1)/((r*x1 - 4*r)*(2*x1/(x1 - 2))^(1/2*x1)) \n", "g_v,u = 2*(((2*r - v)*x1 + 2*v)/(x1 - 2))^(1/2*x1)/((r*x1 - 4*r)*(2*x1/(x1 - 2))^(1/2*x1)) \n", "g_th,th = r^2 \n", "g_ph,ph = r^2*sin(th)^2 " ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "xx2 = 2*x1/(x1 - 2)\n", "g.apply_map(lambda x: x.subs({x2: xx2}).simplify_full(),\n", " frame=X1.frame(), chart=XN.restrict(N1),\n", " keep_other_components=True)\n", "\n", "g.display_comp(X1.frame(), chart=XN.restrict(N1))" ] }, { "cell_type": "markdown", "id": "15040271-56eb-4d89-bf8f-7908b8f8c636", "metadata": {}, "source": [ "Alternative form of $g_{uv}$:" ] }, { "cell_type": "code", "execution_count": 16, "id": "1b583378-3488-4dde-9b78-30aed8e0bde0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\frac{2 \\, \\left(\\frac{{\\left(2 \\, r - v\\right)} {x_1} + 2 \\, v}{{x_1} - 2}\\right)^{\\frac{1}{2} \\, {x_1}}}{{\\left(r {x_1} - 4 \\, r\\right)} \\left(\\frac{2 \\, {x_1}}{{x_1} - 2}\\right)^{\\frac{1}{2} \\, {x_1}}}\\)" ], "text/latex": [ "$\\displaystyle \\frac{2 \\, \\left(\\frac{{\\left(2 \\, r - v\\right)} {x_1} + 2 \\, v}{{x_1} - 2}\\right)^{\\frac{1}{2} \\, {x_1}}}{{\\left(r {x_1} - 4 \\, r\\right)} \\left(\\frac{2 \\, {x_1}}{{x_1} - 2}\\right)^{\\frac{1}{2} \\, {x_1}}}$" ], "text/plain": [ "2*(((2*r - v)*x1 + 2*v)/(x1 - 2))^(1/2*x1)/((r*x1 - 4*r)*(2*x1/(x1 - 2))^(1/2*x1))" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "guv = g[X1.frame(),0,1].expr()\n", "guv" ] }, { "cell_type": "code", "execution_count": 17, "id": "76d3c3f4-4344-4cf1-a641-47464bbd4cef", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\frac{{\\left(r - \\frac{v}{{x_2}}\\right)}^{\\frac{1}{2} \\, {x_1}} {x_2}}{r {\\left({x_1} - {x_2}\\right)}}\\)" ], "text/latex": [ "$\\displaystyle \\frac{{\\left(r - \\frac{v}{{x_2}}\\right)}^{\\frac{1}{2} \\, {x_1}} {x_2}}{r {\\left({x_1} - {x_2}\\right)}}$" ], "text/plain": [ "(r - v/x2)^(1/2*x1)*x2/(r*(x1 - x2))" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "guv_alt = - x2/(x2 - x1)/r*(r - v/x2)^(x1/2)\n", "guv_alt" ] }, { "cell_type": "markdown", "id": "593a50f4-2d6d-402a-b071-c03c4de9cb9a", "metadata": {}, "source": [ "Test:" ] }, { "cell_type": "code", "execution_count": 18, "id": "ed448f90-19ed-42bb-be54-7aec8166170f", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle 0\\)" ], "text/latex": [ "$\\displaystyle 0$" ], "text/plain": [ "0" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s = guv - guv_alt.subs({x2: xx2})\n", "s.simplify_full().canonicalize_radical()" ] }, { "cell_type": "markdown", "id": "61f540b0", "metadata": {}, "source": [ "Inverse metric in terms of the coordinates $(u,v,\\theta,\\varphi)$, taking into account the identity $x_2 = \\frac{2 x_1}{x_1 - 2}$:" ] }, { "cell_type": "code", "execution_count": 19, "id": "02a7252b", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\left(\\begin{array}{rrrr}\n", "0 & \\frac{{\\left(r {x_1} - 4 \\, r\\right)} \\left(\\frac{2 \\, {x_1}}{{x_1} - 2}\\right)^{\\frac{1}{2} \\, {x_1}}}{2 \\, \\left(\\frac{{\\left(2 \\, r - v\\right)} {x_1} + 2 \\, v}{{x_1} - 2}\\right)^{\\frac{1}{2} \\, {x_1}}} & 0 & 0 \\\\\n", "\\frac{{\\left(r {x_1} - 4 \\, r\\right)} \\left(\\frac{2 \\, {x_1}}{{x_1} - 2}\\right)^{\\frac{1}{2} \\, {x_1}}}{2 \\, \\left(\\frac{{\\left(2 \\, r - v\\right)} {x_1} + 2 \\, v}{{x_1} - 2}\\right)^{\\frac{1}{2} \\, {x_1}}} & 0 & 0 & 0 \\\\\n", "0 & 0 & \\frac{1}{r^{2}} & 0 \\\\\n", "0 & 0 & 0 & \\frac{1}{r^{2} \\sin\\left({\\theta}\\right)^{2}}\n", "\\end{array}\\right)\\)" ], "text/latex": [ "$\\displaystyle \\left(\\begin{array}{rrrr}\n", "0 & \\frac{{\\left(r {x_1} - 4 \\, r\\right)} \\left(\\frac{2 \\, {x_1}}{{x_1} - 2}\\right)^{\\frac{1}{2} \\, {x_1}}}{2 \\, \\left(\\frac{{\\left(2 \\, r - v\\right)} {x_1} + 2 \\, v}{{x_1} - 2}\\right)^{\\frac{1}{2} \\, {x_1}}} & 0 & 0 \\\\\n", "\\frac{{\\left(r {x_1} - 4 \\, r\\right)} \\left(\\frac{2 \\, {x_1}}{{x_1} - 2}\\right)^{\\frac{1}{2} \\, {x_1}}}{2 \\, \\left(\\frac{{\\left(2 \\, r - v\\right)} {x_1} + 2 \\, v}{{x_1} - 2}\\right)^{\\frac{1}{2} \\, {x_1}}} & 0 & 0 & 0 \\\\\n", "0 & 0 & \\frac{1}{r^{2}} & 0 \\\\\n", "0 & 0 & 0 & \\frac{1}{r^{2} \\sin\\left({\\theta}\\right)^{2}}\n", "\\end{array}\\right)$" ], "text/plain": [ "[ 0 1/2*(r*x1 - 4*r)*(2*x1/(x1 - 2))^(1/2*x1)/(((2*r - v)*x1 + 2*v)/(x1 - 2))^(1/2*x1) 0 0]\n", "[1/2*(r*x1 - 4*r)*(2*x1/(x1 - 2))^(1/2*x1)/(((2*r - v)*x1 + 2*v)/(x1 - 2))^(1/2*x1) 0 0 0]\n", "[ 0 0 r^(-2) 0]\n", "[ 0 0 0 1/(r^2*sin(th)^2)]" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g.inverse().apply_map(lambda x: x.subs({x2: xx2}).simplify_full(),\n", " frame=X1.frame(), chart=XN.restrict(N1),\n", " keep_other_components=True)\n", "g.inverse()[X1.frame(),:,XN.restrict(N1)]" ] }, { "cell_type": "markdown", "id": "76502e74-6ad6-4024-ae4e-f85ddfb3b457", "metadata": {}, "source": [ "We note that $g^{uu} = 0$ and $g^{vv} = 0$, which proves that the hypersurfaces of constant $u$ are null, as well as the hypersurfaces of constant $v$, i.e. that $(u,v,\\theta,\\varphi)$ is a **double-null coordinate system** on $N_1$." ] }, { "cell_type": "markdown", "id": "89ecab4e-ad52-4ace-90b0-882f96825478", "metadata": {}, "source": [ "### Special case $\\alpha = 1/9$" ] }, { "cell_type": "code", "execution_count": 20, "id": "5552d462-cb60-4758-b0af-399945a63610", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle -\\frac{{\\left(r {x_1} - v\\right)} {x_2}^{\\frac{{x_1}}{{x_2}}}}{{\\left(r {x_2} - v\\right)}^{\\frac{{x_1}}{{x_2}}} {x_1}}\\)" ], "text/latex": [ "$\\displaystyle -\\frac{{\\left(r {x_1} - v\\right)} {x_2}^{\\frac{{x_1}}{{x_2}}}}{{\\left(r {x_2} - v\\right)}^{\\frac{{x_1}}{{x_2}}} {x_1}}$" ], "text/plain": [ "-(r*x1 - v)*x2^(x1/x2)/((r*x2 - v)^(x1/x2)*x1)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "u_vr = XN_to_X1(v, r, th, ph)[0]\n", "u_vr" ] }, { "cell_type": "code", "execution_count": 21, "id": "aec3b38e-dd53-4e31-9964-dd33ecb07e01", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle -\\frac{\\sqrt{6} {\\left(3 \\, r - v\\right)}}{3 \\, \\sqrt{6 \\, r - v}}\\)" ], "text/latex": [ "$\\displaystyle -\\frac{\\sqrt{6} {\\left(3 \\, r - v\\right)}}{3 \\, \\sqrt{6 \\, r - v}}$" ], "text/plain": [ "-1/3*sqrt(6)*(3*r - v)/sqrt(6*r - v)" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "u_vr1 = u_vr.subs({x1: 3, x2: 6})\n", "u_vr1" ] }, { "cell_type": "code", "execution_count": 22, "id": "6e3bcfe2-65db-4112-b585-ad20a5cb4667", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\frac{2 \\, {\\left(3 \\, r - v\\right)}^{2}}{3 \\, {\\left(6 \\, r - v\\right)}}\\)" ], "text/latex": [ "$\\displaystyle \\frac{2 \\, {\\left(3 \\, r - v\\right)}^{2}}{3 \\, {\\left(6 \\, r - v\\right)}}$" ], "text/plain": [ "2/3*(3*r - v)^2/(6*r - v)" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "u_vr1^2" ] }, { "cell_type": "markdown", "id": "3c3372f8-0d34-4c2f-bb78-6c181edb2d93", "metadata": {}, "source": [ "Solving for $r$ in terms of $(u,v)$:" ] }, { "cell_type": "code", "execution_count": 23, "id": "f649bf80-d6f4-4b73-8787-00eeaced782f", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle u^{2} = \\frac{2 \\, {\\left(3 \\, r - v\\right)}^{2}}{3 \\, {\\left(6 \\, r - v\\right)}}\\)" ], "text/latex": [ "$\\displaystyle u^{2} = \\frac{2 \\, {\\left(3 \\, r - v\\right)}^{2}}{3 \\, {\\left(6 \\, r - v\\right)}}$" ], "text/plain": [ "u^2 == 2/3*(3*r - v)^2/(6*r - v)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq = u^2 == u_vr1^2\n", "eq" ] }, { "cell_type": "code", "execution_count": 24, "id": "096a6940-13dd-488d-bf06-6baecc317117", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\left[r = \\frac{1}{2} \\, u^{2} - \\frac{1}{6} \\, \\sqrt{9 \\, u^{2} + 6 \\, v} u + \\frac{1}{3} \\, v, r = \\frac{1}{2} \\, u^{2} + \\frac{1}{6} \\, \\sqrt{9 \\, u^{2} + 6 \\, v} u + \\frac{1}{3} \\, v\\right]\\)" ], "text/latex": [ "$\\displaystyle \\left[r = \\frac{1}{2} \\, u^{2} - \\frac{1}{6} \\, \\sqrt{9 \\, u^{2} + 6 \\, v} u + \\frac{1}{3} \\, v, r = \\frac{1}{2} \\, u^{2} + \\frac{1}{6} \\, \\sqrt{9 \\, u^{2} + 6 \\, v} u + \\frac{1}{3} \\, v\\right]$" ], "text/plain": [ "[r == 1/2*u^2 - 1/6*sqrt(9*u^2 + 6*v)*u + 1/3*v, r == 1/2*u^2 + 1/6*sqrt(9*u^2 + 6*v)*u + 1/3*v]" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solve(eq, r)" ] }, { "cell_type": "code", "execution_count": 25, "id": "8f9335a1-2f72-4243-9d3f-d1c600ba979b", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\frac{1}{2} \\, u^{2} - \\frac{1}{6} \\, \\sqrt{9 \\, u^{2} + 6 \\, v} u + \\frac{1}{3} \\, v\\)" ], "text/latex": [ "$\\displaystyle \\frac{1}{2} \\, u^{2} - \\frac{1}{6} \\, \\sqrt{9 \\, u^{2} + 6 \\, v} u + \\frac{1}{3} \\, v$" ], "text/plain": [ "1/2*u^2 - 1/6*sqrt(9*u^2 + 6*v)*u + 1/3*v" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ruv = solve(eq, r)[0].rhs()\n", "ruv" ] }, { "cell_type": "markdown", "id": "c719d0cf-1337-4611-9679-21e8e1df2024", "metadata": {}, "source": [ "Recovering Fig. 3a of B. Waugh and K. Lake, [Phys. Rev. D **34**, 2978 (1986)](https://doi.org/10.1103/PhysRevD.34.2978):" ] }, { "cell_type": "code", "execution_count": 26, "id": "6a599963-323d-447b-9fd2-f3adc06403e1", "metadata": {}, "outputs": [ { "data": { "image/png": "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Z6WE9a5du8wujUhzdXaddklJCQ4cOIBZs2ZVuH/YsGH4+eefK31McXExiouL1d/n5uZW+PVm911vzZo1+N///gcAeOWVVyr92v379+PBBx9EUVERhg4dipkzZ1b5PR1x6dIlvPXWW4iNjQUAtG7dGv/+97/Rq1cv5OXl6fKcWjh48CAWLlyIr776Cna7HUD5Domvv/46+vfvD6DqvwciGdXo37QBP0QMk56eLgCIn376qcL9c+fOFe3bt6/0MW+++abayfHGG2+8mXmrc5224vp9JYQQN91rYvbs2ZgxY4b6+9zcXAQFBSEtLU3dO7qy+xSlpaUYNGgQjhw5gsGDB+N///vfDVeo2bt3L0aPHo3CwkL0798fa9asQf369bV4qRVkZ2fjpZdewpdffgkAaNeuHRYsWIB+/fpp/lxaKCsrw5dffokFCxbg6NGjAAA3NzdERkZi6tSppl8AgsgoSsZUixYdrrMoLi4Wbm5uYt26dRXuf+GFF8Q999xTre9R05n2rFmzBADRuHFjcfbs2Rs+/+OPP4qGDRsKAGLo0KG6nPRRVlYmli1bJpo2bSqA8pN6Xn31VVP3467KhQsXxIcffijCw8PVDsPX11fMmDFDpKamml0ekeHq/IHI5557rsJ9nTp10vxApN1uF2+88YYaOqtXr67wfex2u/joo4+Em5ubACD69Omjy1rsjRs3is6dO6t13H777U672dO+ffvEk08+WeHgYpMmTcTbb78t5dmYRFqp06GtLPlbtmyZiI+PF9OnTxe+vr4iOTm5Wo+vbmi///77avC88847Fb5HSUmJmDx5svr5P/7xjyIvL0+bF3hVfHy8uO+++9TnaNSokfjwww+drrsuKioSK1asEL169aowu7vjjjvEp59+athJRUTOrE6HthDlJ9eEhIQIT09P0b179xrt6VGd0L52nfX1gX3hwgUxaNAgAUC4uLhovsTu8uXLYvr06WoH7+HhIV566SWnO3373Llz4s033xTNmzdX/6w8PT3FhAkTxM8//yzFskMio9T50HbErUJ75cqV6oke06ZNqxA+u3fvFh06dBAARP369cU333yjWV15eXli/vz5FUJw9OjRTnXtxtLSUrFhwwYxduxY4enpqdbZqlUrMWfOHHH+/HmzSyRySgxtB1QV2lOnTlWD6JFHHlFPUy8oKBAvvviiejZkq1at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\n", "text/plain": [ "Graphics object consisting of 1 graphics primitive" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "contour_plot(ruv, (v, 0, 9), (u, -3, 9.5), cmap=['black'],\n", " contours=(0.1, 0.2, 0.5, 1., 5), fill=False, \n", " axes_labels=(r'$v$', r'$u$'), axes=True)" ] }, { "cell_type": "code", "execution_count": 27, "id": "fe519bed", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "Graphics3d Object" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot3d(ruv, (u, -2, 9.5), (v, 0, 9), axes_labels=('u', 'v', 'r'))" ] }, { "cell_type": "code", "execution_count": 28, "id": "5a7e1f4c-aa0a-4fa6-9b6a-5f699a9b5347", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle {(\\frac{1}{2} \\, u^{2} - \\frac{1}{2} \\, u {\\left| u \\right|})} + {(-\\frac{{\\left| u \\right|}}{6 \\, u} + \\frac{1}{3})} v + {(\\frac{{\\left| u \\right|}}{36 \\, u^{3}})} v^{2} + \\mathcal{O}\\left(v^{3}\\right)\\)" ], "text/latex": [ "$\\displaystyle {(\\frac{1}{2} \\, u^{2} - \\frac{1}{2} \\, u {\\left| u \\right|})} + {(-\\frac{{\\left| u \\right|}}{6 \\, u} + \\frac{1}{3})} v + {(\\frac{{\\left| u \\right|}}{36 \\, u^{3}})} v^{2} + \\mathcal{O}\\left(v^{3}\\right)$" ], "text/plain": [ "(1/2*u^2 - 1/2*u*abs(u)) + (-1/6*abs(u)/u + 1/3)*v + (1/36*abs(u)/u^3)*v^2 + Order(v^3)" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ruv.series(v, 3)" ] }, { "cell_type": "markdown", "id": "4075dbfb", "metadata": {}, "source": [ "## Double null-coordinate system in the region $r < v / x_1$" ] }, { "cell_type": "code", "execution_count": 29, "id": "89080afd", "metadata": {}, "outputs": [], "source": [ "N2 = M.open_subset('N2', latex_name=r'N_2',\n", " coord_def={XN: r < v/x1})" ] }, { "cell_type": "code", "execution_count": 30, "id": "03ea2ffd", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\left(N_2,(u, v, {\\theta}, {\\varphi})\\right)\\)" ], "text/latex": [ "$\\displaystyle \\left(N_2,(u, v, {\\theta}, {\\varphi})\\right)$" ], "text/plain": [ "Chart (N2, (u, v, th, ph))" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X2. = N2.chart(r'u v:(0,+oo) th:(0,pi):\\theta ph:(0,2*pi):\\varphi:periodic')\n", "X2" ] }, { "cell_type": "code", "execution_count": 31, "id": "a5549306", "metadata": {}, "outputs": [], "source": [ "assume(v - x1*r > 0)" ] }, { "cell_type": "code", "execution_count": 32, "id": "5652c609", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\left\\{\\begin{array}{lcl} u & = & -\\frac{r - \\frac{v}{{x_2}}}{{\\left(-r + \\frac{v}{{x_1}}\\right)}^{\\frac{{x_2}}{{x_1}}}} \\\\ v & = & v \\\\ {\\theta} & = & {\\theta} \\\\ {\\varphi} & = & {\\varphi} \\end{array}\\right.\\)" ], "text/latex": [ "$\\displaystyle \\left\\{\\begin{array}{lcl} u & = & -\\frac{r - \\frac{v}{{x_2}}}{{\\left(-r + \\frac{v}{{x_1}}\\right)}^{\\frac{{x_2}}{{x_1}}}} \\\\ v & = & v \\\\ {\\theta} & = & {\\theta} \\\\ {\\varphi} & = & {\\varphi} \\end{array}\\right.$" ], "text/plain": [ "u = -(r - v/x2)/(-r + v/x1)^(x2/x1)\n", "v = v\n", "th = th\n", "ph = ph" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "XN_to_X2 = XN.transition_map(X2, ((v/x2 - r)/((v/x1 - r))^(x2/x1),\n", " v, th, ph))\n", "XN_to_X2.display()" ] }, { "cell_type": "code", "execution_count": 33, "id": "2fe9a2df", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\begin{array}{lcl} g_{ \\, u \\, v }^{ \\phantom{\\, u}\\phantom{\\, v} } & = & \\frac{{\\left(r {x_1} - v\\right)} {\\left(-r {x_1} + v\\right)}^{\\frac{{x_2}}{{x_1}}}}{r {x_1}^{\\frac{{x_2}}{{x_1}}} {x_2} - r {x_1}^{\\frac{{x_2}}{{x_1}} + 1}} \\\\ g_{ \\, v \\, u }^{ \\phantom{\\, v}\\phantom{\\, u} } & = & \\frac{{\\left(r {x_1} - v\\right)} {\\left(-r {x_1} + v\\right)}^{\\frac{{x_2}}{{x_1}}}}{r {x_1}^{\\frac{{x_2}}{{x_1}}} {x_2} - r {x_1}^{\\frac{{x_2}}{{x_1}} + 1}} \\\\ g_{ \\, v \\, v }^{ \\phantom{\\, v}\\phantom{\\, v} } & = & -\\frac{{\\left({x_1} - 2\\right)} {x_2} - 2 \\, {x_1}}{{x_1} {x_2}} \\\\ g_{ \\, {\\theta} \\, {\\theta} }^{ \\phantom{\\, {\\theta}}\\phantom{\\, {\\theta}} } & = & r^{2} \\\\ g_{ \\, {\\varphi} \\, {\\varphi} }^{ \\phantom{\\, {\\varphi}}\\phantom{\\, {\\varphi}} } & = & r^{2} \\sin\\left({\\theta}\\right)^{2} \\end{array}\\)" ], "text/latex": [ "$\\displaystyle \\begin{array}{lcl} g_{ \\, u \\, v }^{ \\phantom{\\, u}\\phantom{\\, v} } & = & \\frac{{\\left(r {x_1} - v\\right)} {\\left(-r {x_1} + v\\right)}^{\\frac{{x_2}}{{x_1}}}}{r {x_1}^{\\frac{{x_2}}{{x_1}}} {x_2} - r {x_1}^{\\frac{{x_2}}{{x_1}} + 1}} \\\\ g_{ \\, v \\, u }^{ \\phantom{\\, v}\\phantom{\\, u} } & = & \\frac{{\\left(r {x_1} - v\\right)} {\\left(-r {x_1} + v\\right)}^{\\frac{{x_2}}{{x_1}}}}{r {x_1}^{\\frac{{x_2}}{{x_1}}} {x_2} - r {x_1}^{\\frac{{x_2}}{{x_1}} + 1}} \\\\ g_{ \\, v \\, v }^{ \\phantom{\\, v}\\phantom{\\, v} } & = & -\\frac{{\\left({x_1} - 2\\right)} {x_2} - 2 \\, {x_1}}{{x_1} {x_2}} \\\\ g_{ \\, {\\theta} \\, {\\theta} }^{ \\phantom{\\, {\\theta}}\\phantom{\\, {\\theta}} } & = & r^{2} \\\\ g_{ \\, {\\varphi} \\, {\\varphi} }^{ \\phantom{\\, {\\varphi}}\\phantom{\\, {\\varphi}} } & = & r^{2} \\sin\\left({\\theta}\\right)^{2} \\end{array}$" ], "text/plain": [ "g_u,v = (r*x1 - v)*(-r*x1 + v)^(x2/x1)/(r*x1^(x2/x1)*x2 - r*x1^(x2/x1 + 1)) \n", "g_v,u = (r*x1 - v)*(-r*x1 + v)^(x2/x1)/(r*x1^(x2/x1)*x2 - r*x1^(x2/x1 + 1)) \n", "g_v,v = -((x1 - 2)*x2 - 2*x1)/(x1*x2) \n", "g_th,th = r^2 \n", "g_ph,ph = r^2*sin(th)^2 " ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g.display_comp(X2.frame(), chart=XN.restrict(N2))" ] }, { "cell_type": "code", "execution_count": 34, "id": "79930c1b", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\frac{{\\left(r {x_1} - v\\right)} {\\left(-r {x_1} + v\\right)}^{\\frac{{x_2}}{{x_1}}}}{r {x_1}^{\\frac{{x_2}}{{x_1}}} {x_2} - r {x_1}^{\\frac{{x_2}}{{x_1}} + 1}}\\)" ], "text/latex": [ "$\\displaystyle \\frac{{\\left(r {x_1} - v\\right)} {\\left(-r {x_1} + v\\right)}^{\\frac{{x_2}}{{x_1}}}}{r {x_1}^{\\frac{{x_2}}{{x_1}}} {x_2} - r {x_1}^{\\frac{{x_2}}{{x_1}} + 1}}$" ], "text/plain": [ "(r*x1 - v)*(-r*x1 + v)^(x2/x1)/(r*x1^(x2/x1)*x2 - r*x1^(x2/x1 + 1))" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g[X2.frame(),0,1].expr()" ] }, { "cell_type": "markdown", "id": "0e2869e4", "metadata": {}, "source": [ "To simplify the components of $g$, let us substitute $x_1$ by its expression\n", "in terms of $x_2$, i.e. $x_1 = \\frac{2 x_2}{x_2 - 2}$:" ] }, { "cell_type": "code", "execution_count": 35, "id": "4859b5c7", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\begin{array}{lcl} g_{ \\, u \\, v }^{ \\phantom{\\, u}\\phantom{\\, v} } & = & -\\frac{2 \\, \\left(-\\frac{{\\left(2 \\, r - v\\right)} {x_2} + 2 \\, v}{{x_2} - 2}\\right)^{\\frac{1}{2} \\, {x_2}}}{{\\left(r {x_2} - 4 \\, r\\right)} \\left(\\frac{2 \\, {x_2}}{{x_2} - 2}\\right)^{\\frac{1}{2} \\, {x_2}}} \\\\ g_{ \\, v \\, u }^{ \\phantom{\\, v}\\phantom{\\, u} } & = & -\\frac{2 \\, \\left(-\\frac{{\\left(2 \\, r - v\\right)} {x_2} + 2 \\, v}{{x_2} - 2}\\right)^{\\frac{1}{2} \\, {x_2}}}{{\\left(r {x_2} - 4 \\, r\\right)} \\left(\\frac{2 \\, {x_2}}{{x_2} - 2}\\right)^{\\frac{1}{2} \\, {x_2}}} \\\\ g_{ \\, {\\theta} \\, {\\theta} }^{ \\phantom{\\, {\\theta}}\\phantom{\\, {\\theta}} } & = & r^{2} \\\\ g_{ \\, {\\varphi} \\, {\\varphi} }^{ \\phantom{\\, {\\varphi}}\\phantom{\\, {\\varphi}} } & = & r^{2} \\sin\\left({\\theta}\\right)^{2} \\end{array}\\)" ], "text/latex": [ "$\\displaystyle \\begin{array}{lcl} g_{ \\, u \\, v }^{ \\phantom{\\, u}\\phantom{\\, v} } & = & -\\frac{2 \\, \\left(-\\frac{{\\left(2 \\, r - v\\right)} {x_2} + 2 \\, v}{{x_2} - 2}\\right)^{\\frac{1}{2} \\, {x_2}}}{{\\left(r {x_2} - 4 \\, r\\right)} \\left(\\frac{2 \\, {x_2}}{{x_2} - 2}\\right)^{\\frac{1}{2} \\, {x_2}}} \\\\ g_{ \\, v \\, u }^{ \\phantom{\\, v}\\phantom{\\, u} } & = & -\\frac{2 \\, \\left(-\\frac{{\\left(2 \\, r - v\\right)} {x_2} + 2 \\, v}{{x_2} - 2}\\right)^{\\frac{1}{2} \\, {x_2}}}{{\\left(r {x_2} - 4 \\, r\\right)} \\left(\\frac{2 \\, {x_2}}{{x_2} - 2}\\right)^{\\frac{1}{2} \\, {x_2}}} \\\\ g_{ \\, {\\theta} \\, {\\theta} }^{ \\phantom{\\, {\\theta}}\\phantom{\\, {\\theta}} } & = & r^{2} \\\\ g_{ \\, {\\varphi} \\, {\\varphi} }^{ \\phantom{\\, {\\varphi}}\\phantom{\\, {\\varphi}} } & = & r^{2} \\sin\\left({\\theta}\\right)^{2} \\end{array}$" ], "text/plain": [ "g_u,v = -2*(-((2*r - v)*x2 + 2*v)/(x2 - 2))^(1/2*x2)/((r*x2 - 4*r)*(2*x2/(x2 - 2))^(1/2*x2)) \n", "g_v,u = -2*(-((2*r - v)*x2 + 2*v)/(x2 - 2))^(1/2*x2)/((r*x2 - 4*r)*(2*x2/(x2 - 2))^(1/2*x2)) \n", "g_th,th = r^2 \n", "g_ph,ph = r^2*sin(th)^2 " ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "xx1 = 2*x2/(x2 - 2)\n", "g.apply_map(lambda x: x.subs({x1: xx1}).simplify_full(),\n", " frame=X2.frame(), chart=XN.restrict(N2),\n", " keep_other_components=True)\n", "\n", "g.display_comp(X2.frame(), chart=XN.restrict(N2))" ] }, { "cell_type": "markdown", "id": "169ff867", "metadata": {}, "source": [ "Alternative form of $g_{uv}$:" ] }, { "cell_type": "code", "execution_count": 36, "id": "f0c20b45", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle -\\frac{2 \\, \\left(-\\frac{{\\left(2 \\, r - v\\right)} {x_2} + 2 \\, v}{{x_2} - 2}\\right)^{\\frac{1}{2} \\, {x_2}}}{{\\left(r {x_2} - 4 \\, r\\right)} \\left(\\frac{2 \\, {x_2}}{{x_2} - 2}\\right)^{\\frac{1}{2} \\, {x_2}}}\\)" ], "text/latex": [ "$\\displaystyle -\\frac{2 \\, \\left(-\\frac{{\\left(2 \\, r - v\\right)} {x_2} + 2 \\, v}{{x_2} - 2}\\right)^{\\frac{1}{2} \\, {x_2}}}{{\\left(r {x_2} - 4 \\, r\\right)} \\left(\\frac{2 \\, {x_2}}{{x_2} - 2}\\right)^{\\frac{1}{2} \\, {x_2}}}$" ], "text/plain": [ "-2*(-((2*r - v)*x2 + 2*v)/(x2 - 2))^(1/2*x2)/((r*x2 - 4*r)*(2*x2/(x2 - 2))^(1/2*x2))" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "guv = g[X2.frame(),0,1].expr()\n", "guv" ] }, { "cell_type": "code", "execution_count": 37, "id": "fc427694", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\frac{{\\left(-r + \\frac{v}{{x_1}}\\right)}^{\\frac{1}{2} \\, {x_2}} {x_1}}{r {\\left({x_1} - {x_2}\\right)}}\\)" ], "text/latex": [ "$\\displaystyle \\frac{{\\left(-r + \\frac{v}{{x_1}}\\right)}^{\\frac{1}{2} \\, {x_2}} {x_1}}{r {\\left({x_1} - {x_2}\\right)}}$" ], "text/plain": [ "(-r + v/x1)^(1/2*x2)*x1/(r*(x1 - x2))" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "guv_alt = - x1/(x2 - x1)/r*(v/x1 - r)^(x2/2)\n", "guv_alt" ] }, { "cell_type": "markdown", "id": "ea19463a", "metadata": {}, "source": [ "Test:" ] }, { "cell_type": "code", "execution_count": 38, "id": "3340f2d3", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle 0\\)" ], "text/latex": [ "$\\displaystyle 0$" ], "text/plain": [ "0" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s = guv - guv_alt.subs({x1: xx1})\n", "s.simplify_full().canonicalize_radical()" ] }, { "cell_type": "markdown", "id": "df388753", "metadata": {}, "source": [ "Inverse metric in terms of the coordinates $(u,v,\\theta,\\varphi)$, taking into account the identity $x_1 = \\frac{2 x_2}{x_2 - 2}$:" ] }, { "cell_type": "code", "execution_count": 39, "id": "3a25f521", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\left(\\begin{array}{rrrr}\n", "0 & -\\frac{{\\left(r {x_2} - 4 \\, r\\right)} \\left(\\frac{2 \\, {x_2}}{{x_2} - 2}\\right)^{\\frac{1}{2} \\, {x_2}}}{2 \\, \\left(-\\frac{{\\left(2 \\, r - v\\right)} {x_2} + 2 \\, v}{{x_2} - 2}\\right)^{\\frac{1}{2} \\, {x_2}}} & 0 & 0 \\\\\n", "-\\frac{{\\left(r {x_2} - 4 \\, r\\right)} \\left(\\frac{2 \\, {x_2}}{{x_2} - 2}\\right)^{\\frac{1}{2} \\, {x_2}}}{2 \\, \\left(-\\frac{{\\left(2 \\, r - v\\right)} {x_2} + 2 \\, v}{{x_2} - 2}\\right)^{\\frac{1}{2} \\, {x_2}}} & 0 & 0 & 0 \\\\\n", "0 & 0 & \\frac{1}{r^{2}} & 0 \\\\\n", "0 & 0 & 0 & \\frac{1}{r^{2} \\sin\\left({\\theta}\\right)^{2}}\n", "\\end{array}\\right)\\)" ], "text/latex": [ "$\\displaystyle \\left(\\begin{array}{rrrr}\n", "0 & -\\frac{{\\left(r {x_2} - 4 \\, r\\right)} \\left(\\frac{2 \\, {x_2}}{{x_2} - 2}\\right)^{\\frac{1}{2} \\, {x_2}}}{2 \\, \\left(-\\frac{{\\left(2 \\, r - v\\right)} {x_2} + 2 \\, v}{{x_2} - 2}\\right)^{\\frac{1}{2} \\, {x_2}}} & 0 & 0 \\\\\n", "-\\frac{{\\left(r {x_2} - 4 \\, r\\right)} \\left(\\frac{2 \\, {x_2}}{{x_2} - 2}\\right)^{\\frac{1}{2} \\, {x_2}}}{2 \\, \\left(-\\frac{{\\left(2 \\, r - v\\right)} {x_2} + 2 \\, v}{{x_2} - 2}\\right)^{\\frac{1}{2} \\, {x_2}}} & 0 & 0 & 0 \\\\\n", "0 & 0 & \\frac{1}{r^{2}} & 0 \\\\\n", "0 & 0 & 0 & \\frac{1}{r^{2} \\sin\\left({\\theta}\\right)^{2}}\n", "\\end{array}\\right)$" ], "text/plain": [ "[ 0 -1/2*(r*x2 - 4*r)*(2*x2/(x2 - 2))^(1/2*x2)/(-((2*r - v)*x2 + 2*v)/(x2 - 2))^(1/2*x2) 0 0]\n", "[-1/2*(r*x2 - 4*r)*(2*x2/(x2 - 2))^(1/2*x2)/(-((2*r - v)*x2 + 2*v)/(x2 - 2))^(1/2*x2) 0 0 0]\n", "[ 0 0 r^(-2) 0]\n", "[ 0 0 0 1/(r^2*sin(th)^2)]" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g.inverse().apply_map(lambda x: x.subs({x1: xx1}).simplify_full(),\n", " frame=X2.frame(), chart=XN.restrict(N2),\n", " keep_other_components=True)\n", "g.inverse()[X2.frame(),:,XN.restrict(N2)]" ] }, { "cell_type": "markdown", "id": "31f4a594", "metadata": {}, "source": [ "We note that $g^{uu} = 0$ and $g^{vv} = 0$, which proves that the hypersurfaces of constant $u$ are null, as well as the hypersurfaces of constant $v$, i.e. that $(u,v,\\theta,\\varphi)$ is a **double-null coordinate system** on $N_2$." ] }, { "cell_type": "markdown", "id": "8d06f8d9", "metadata": {}, "source": [ "## Special case $\\alpha = 1/9$" ] }, { "cell_type": "code", "execution_count": 40, "id": "315e3197", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle -\\frac{r {x_1}^{\\frac{{x_2}}{{x_1}}} {x_2} - v {x_1}^{\\frac{{x_2}}{{x_1}}}}{{\\left(-r {x_1} + v\\right)}^{\\frac{{x_2}}{{x_1}}} {x_2}}\\)" ], "text/latex": [ "$\\displaystyle -\\frac{r {x_1}^{\\frac{{x_2}}{{x_1}}} {x_2} - v {x_1}^{\\frac{{x_2}}{{x_1}}}}{{\\left(-r {x_1} + v\\right)}^{\\frac{{x_2}}{{x_1}}} {x_2}}$" ], "text/plain": [ "-(r*x1^(x2/x1)*x2 - v*x1^(x2/x1))/((-r*x1 + v)^(x2/x1)*x2)" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "u_vr = XN_to_X2(v, r, th, ph)[0]\n", "u_vr" ] }, { "cell_type": "code", "execution_count": 41, "id": "74841b39", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle -\\frac{3 \\, {\\left(6 \\, r - v\\right)}}{2 \\, {\\left(3 \\, r - v\\right)}^{2}}\\)" ], "text/latex": [ "$\\displaystyle -\\frac{3 \\, {\\left(6 \\, r - v\\right)}}{2 \\, {\\left(3 \\, r - v\\right)}^{2}}$" ], "text/plain": [ "-3/2*(6*r - v)/(3*r - v)^2" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "u_vr1 = u_vr.subs({x1: 3, x2: 6})\n", "u_vr1" ] }, { "cell_type": "markdown", "id": "cd0df52e", "metadata": {}, "source": [ "Solving for $r$ in terms of $(u,v)$:" ] }, { "cell_type": "code", "execution_count": 42, "id": "4ee9c292", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\left[r = \\frac{2 \\, u v - \\sqrt{-6 \\, u v + 9} - 3}{6 \\, u}, r = \\frac{2 \\, u v + \\sqrt{-6 \\, u v + 9} - 3}{6 \\, u}\\right]\\)" ], "text/latex": [ "$\\displaystyle \\left[r = \\frac{2 \\, u v - \\sqrt{-6 \\, u v + 9} - 3}{6 \\, u}, r = \\frac{2 \\, u v + \\sqrt{-6 \\, u v + 9} - 3}{6 \\, u}\\right]$" ], "text/plain": [ "[r == 1/6*(2*u*v - sqrt(-6*u*v + 9) - 3)/u, r == 1/6*(2*u*v + sqrt(-6*u*v + 9) - 3)/u]" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq = u == u_vr1\n", "solve(eq, r)" ] }, { "cell_type": "code", "execution_count": 43, "id": "42e24c5f", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\frac{2 \\, u v + \\sqrt{-6 \\, u v + 9} - 3}{6 \\, u}\\)" ], "text/latex": [ "$\\displaystyle \\frac{2 \\, u v + \\sqrt{-6 \\, u v + 9} - 3}{6 \\, u}$" ], "text/plain": [ "1/6*(2*u*v + sqrt(-6*u*v + 9) - 3)/u" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ruv = solve(eq, r)[1].rhs()\n", "ruv" ] }, { "cell_type": "code", "execution_count": 44, "id": "ca9c07de", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\frac{1}{3} \\, v + \\frac{\\sqrt{-\\frac{2}{3} \\, u v + 1} - 1}{2 \\, u}\\)" ], "text/latex": [ "$\\displaystyle \\frac{1}{3} \\, v + \\frac{\\sqrt{-\\frac{2}{3} \\, u v + 1} - 1}{2 \\, u}$" ], "text/plain": [ "1/3*v + 1/2*(sqrt(-2/3*u*v + 1) - 1)/u" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ruv_alt = v/3 + (sqrt(1 - 2*u*v/3) - 1)/(2*u)\n", "ruv_alt" ] }, { "cell_type": "code", "execution_count": 45, "id": "de8f603a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle 0\\)" ], "text/latex": [ "$\\displaystyle 0$" ], "text/plain": [ "0" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(ruv - ruv_alt).simplify_full().canonicalize_radical()" ] }, { "cell_type": "code", "execution_count": 46, "id": "ca70a9f0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle {(\\frac{1}{6} \\, v)} + {(-\\frac{1}{36} \\, v^{2})} u + \\mathcal{O}\\left(u^{2}\\right)\\)" ], "text/latex": [ "$\\displaystyle {(\\frac{1}{6} \\, v)} + {(-\\frac{1}{36} \\, v^{2})} u + \\mathcal{O}\\left(u^{2}\\right)$" ], "text/plain": [ "(1/6*v) + (-1/36*v^2)*u + Order(u^2)" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ruv_alt.series(u, 2)" ] }, { "cell_type": "code", "execution_count": 47, "id": "36210509-41d1-4b65-87fb-3ca073a661a4", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\frac{1}{6} v + {(-\\frac{1}{36} \\, u)} v^{2} + \\mathcal{O}\\left(v^{3}\\right)\\)" ], "text/latex": [ "$\\displaystyle \\frac{1}{6} v + {(-\\frac{1}{36} \\, u)} v^{2} + \\mathcal{O}\\left(v^{3}\\right)$" ], "text/plain": [ "1/6*v + (-1/36*u)*v^2 + Order(v^3)" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ruv_alt.series(v, 3)" ] }, { "cell_type": "markdown", "id": "87c8b4b6", "metadata": {}, "source": [ "Recovering Fig. 3b of B. Waugh and K. Lake, [Phys. Rev. D **34**, 2978 (1986)](https://doi.org/10.1103/PhysRevD.34.2978):" ] }, { "cell_type": "code", "execution_count": 48, "id": "cbf1c15a", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcwAAAHWCAYAAAD6lrl7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABRdUlEQVR4nO3deXgUZbo28Luz73vIAiGAoBAQYSBsoqIIooCigjIioCJn0CAiHhXUEXCEqDjqESOCxwEc9QwuuKEIEZBFBBJ2WQVDErKQPZ196/r+yFclIemkuru6qqv7/l1XX0B3uuvpAH3ned+33jIIgiCAiIiI2uWmdQFERER6wMAkIiKSgYFJREQkAwOTiIhIBgYmERGRDAxMIiIiGRiYREREMjAwiYiIZPDQugA9MplMyM3NRWBgIAwGg9blEBGRFQRBQEVFBWJjY+Hm1nH/yMC0Qm5uLuLi4rQug4iIFJCdnY0uXbp0+HUMTCsEBgYCaP4mBwUFtXjMaDQiLi6uzceIiMhxiJ/X4md6RxiYVhCHYYOCgsyGYnuPERGR45A7tcZFP0RERDIwMImIiGRgYBIREcnAwCQiIpKBgUlERCQDA9MCKSkpSEhIQGJiYpuPV1VVITg4WPo9ERE5D4MgCILWReiN0WhEcHAwysvLW5w6UlVVhYCAAADNmxvExMRoVSIREXXA3Ge5OewwiYiIZGBgEhERycDAJCIikoGBSUREJAMDk4iISAYGJhERkQwMTCIiIhkYmERERDIwMImIiGRgYBIREcnAwLRAR3vJEhGR8+JeslbgXrJERPrHvWSJiIjsgIFJREQkAwOTiIhIBgYmERGRDAxMIiIiGRiYREREMjAwiYiIZHD5wExOTobBYMD8+fO1LoWIiByYSwdmWloa1qxZg/79+2tdChEROTiXDczKykpMmzYNH3zwAUJDQ7Uuh4iIHJzLBmZSUhLGjx+PW2+9tcOvraurg9FobHEjIiLX4qF1AVr4z3/+g0OHDiEtLU3W1ycnJ2Pp0qV2roqIiByZy3WY2dnZePLJJ/Hxxx/Dx8dH1nMWLVqE8vJy6ZadnW3nKomIyNG4XId58OBBFBQUYNCgQdJ9TU1N2LVrF959913U1dXB3d29xXO8vb3h7e2tdqlERORAXC4wR48ejePHj7e47+GHH0bv3r3x3HPPtQpLIiIiwAUDMzAwEP369Wtxn7+/P8LDw1vdT0REJHK5OUwiIiJruFyH2Zaff/5Z6xKIiMjBscMkIiKSgYFJREQkAwOTiIhIBgYmERGRDAxMIiIiGRiYREREMjAwLZCSkoKEhAQkJiZqXQoREanMIAiCoHURemM0GhEcHIzy8nIEBQVJ91dVVSEgIAAAkJubi5iYGK1KJCKiDpj7LDeHHSYREZEMDEwiIiIZGJhEREQyMDCJiIhkYGASERHJwMAkIiKSgYFJREQkAwOTiIhIBgYmERGRDAxMIiIiGRiYREREMjAwLcDN14mIXBc3X7cCN18nItI/br5ORERkBwxMIiIiGRiYREREMjAwiYiIZGBgEhERycDAJCIikoGBSUREJAMDk4iISAYGJhERkQwMTCIiIhkYmBZQci/ZtLQ0hIeH44MPPlCgMiIisjfuJWsFJfaSHTZsGPbv3w8AaGxshLu7u32LJiKiFriXrE7U1NRIv58xYwYaGxs1rIaIiDrCwNRIUVGR9PtPP/0U999/P+rr6zWsiIiI2sPA1EBlZSVyc3MBAOvXr4eXlxc2btyIRx55ROPKiIjIHAamBs6ePQsAiIyMxIwZM7Bp0yZERUVh3rx5GldGRETmMDA1kJGRAQDo2bMnAGDMmDF49tln8fLLL+OLL77QsjQiIjKDgamBixcvAgC6dOki3Xf+/Hl8//33OHLkiEZVERFRexiYGmgrMMXfi48REZFjcbnATE5ORmJiIgIDA9GpUydMmjQJZ86cUbWGnJwcAG0H5unTp8FTY4mIHI/LBebOnTuRlJSEffv2ITU1FY2NjRg7diyqqqpUqyEvLw8AEB0dLd03dOhQuLu7Y//+/UhJSVGtFiIiksflAvPHH3/EQw89hL59++K6667D2rVrkZWVhYMHD6pWQ2FhIQCgU6dO0n1XX301Xn/9dQDAggUL8Ouvv6pWDxERdczlAvNK5eXlAICwsDCzX1NXVwej0djiZgsxMCMjI1vc/9RTT2Hy5MloaGjAlClTUFBQYNNxiIhIOS4dmIIgYMGCBRg5ciT69etn9uuSk5MRHBws3eLi4qw+pslkQnFxMYDWgWkwGPCvf/0LvXv3xqVLl3D8+HGrj0NERMpy6c3Xk5KS8P3332PPnj0tFuBcqa6uDnV1ddKfjUYj4uLirNp8vaysDKGhoQCa95P18fFp9TWnTp3CmTNnMGnSJGvfGhERdcDSzdc9VKjJIT3xxBP49ttvsWvXrnbDEgC8vb3h7e2tyHFLS0sBAD4+Pm2GJQD06dMHffr0UeR4RESkDJcLTEEQ8MQTT+Crr77Czz//jO7du6t6fDEwxS6TiIj0weUCMykpCZ9++im++eYbBAYGIj8/HwAQHBwMX19fux+/rKwMABASEmL3YxERkXJcbtHPqlWrUF5ejlGjRiEmJka6bdiwQZXji6tyGZhERPrich2m1mucKioqAACBgYGa1kFERJZxuQ5Ta+I5nHJWZBERkeNgYKpMDExLO8yGhgacOHHCHiUREZEMLjckqzVxz1pLAjMzMxPXXXcdGhoaUFJSotgpLkREJB87TJVVVlYCAPz9/WU/p2vXrvDz80N1dTV27dplr9KIiKgdDEyViR2mJYFpMBhw++23AwB++OEHu9RFRETtY2CqzJrABIAJEyYAAN5//33s3LlT8bqIiKh9DEwLpKSkICEhAYmJiVa/RnV1NQDLA/POO+/E+PHjUVtbiwkTJmD//v1W10BERJZjYFogKSkJJ0+eRFpamtWvIQamn5+fRc9zd3fHF198gdGjR6OyshJHjx61ugYiIrIcV8mqzNrABJo3bP/mm2+wbds23HnnnUqXRkRE7WCHqTJbAhNoHsplWBIRqY+BqbKamhoAUGWjdyIiUg6HZFVWW1sLAGavhdmWoqIifPfdd/Dy8kJ4eDjCw8PRu3dv7kdLRKQiBqbKLO0w8/LyMHz4cGRmZra4PyQkBCtWrMDDDz8Md3d3xeskIqKWOCSrMrHDlLu93cKFC5GZmYmAgACMHj0aAwYMQFBQEMrKyjB79mwMHjwYP//8sx0rJiIigIGpOjEw5XSYaWlp+OijjwAA27dvx08//YTDhw+jqKgIb731FkJCQnDkyBHcfPPNGD9+PNLT0+1aOxGRK2NgqshkMqG+vh5Axx2mIAh46qmnAAAzZsxosVmCp6cn5s+fj99//x1JSUlwd3fHDz/8gMTEREycOBGFhYX2exNERC6KgakiMSyBjhf9fPXVV/jll1/g5+eH5cuXt/k1ERERePfdd3Hq1CnMmDEDbm5uOHXqFE6ePInvv/8eX375JbtOIiKFcNGPisThWKDjDvPf//43AOCJJ55A586d2/3aXr16Yf369XjxxReRnp6OyZMno7i4GG5ubvD09MTLL7+MCRMmoE+fPra/CSIiF8UOU0V1dXXS7728vMx+XW1tLVJTUwEA9913n+zX79WrF+69917cfffdEAQBTU1NqK2txbPPPoslS5ZYXTcRETEwLWLr5uvikKyXlxcMBoPZr/v1119RVVWFmJgYDBw40KJjeHl5YfXq1Xjrrbfg5tb81+vj44OcnBysX78eFy9etKp2IiJXx8C0gK2br4sdZkfDsQcOHAAAjBw5st1gNcdgMGD+/PnYtGkTQkJCUFtbi19++QUPPfQQ3nzzTcsLJyIizmGqSe4K2WPHjgGAxd3llW6//XZcvHgRv/zyC3bs2IGff/4Zo0ePtuk1iYhcFQNTRZcPybbn5MmTAIC+ffvafEx/f3+MHTsWY8eOtfm1iIhcGYdkVSQOybYXmE1NTTh9+jQAICEhQZW6riQIAgRB0OTYRESOioGpIjkdZkZGBmpra+Hj44Pu3burVZrkxx9/xPDhwzFkyBC89NJLqKioUL0GIiJHxCFZFckJzPPnzwMArrrqKtU3VRcEAc888wx+++03AEB6ejqioqLwyCOP8HJkROTy2GGqqKGhAUDz1nbmZGRkAIAm3aXBYMDmzZsxbtw46b65c+dKF70mInJl7DBVJHdIFrBvYJ47dw7btm3D6dOnUVRUhMbGRjQ2NqKpqQkBAQHo2bMnJk2ahHPnzqGxsREHDhxAv3790KVLF6tOcyEicgYMTBXJ6TAvXLgAwD6BuWnTJrz00ks4fPiwRc+74447AABhYWEYOnQohg8fjmHDhmHEiBHw9/dXvE4iIkfEwFSRnMAUd+KJi4tT7LhVVVV4+umnsXr1agCAu7s7brrpJgwYMACxsbHw8PCAh4cH3NzcUFlZidLSUpSVlaGsrAylpaX4448/cP78eZSUlGDz5s3YvHmz9D6GDBmCm2++Gf3794ebmxvuvfdexeomInIkDEwVyQnMnJwcAOhww3W50tLSMG3aNPz+++8AgKeeegrPP/88IiIiLHqd+vp6HD16FPv27cO+ffuwZ88eZGVl4ZdffsEvv/wCoHkO1GQyKVI3EZGjYWBaICUlBSkpKWhqarLq+R3NYZpMJuTm5gJQJjC3bNmCiRMnoqGhAZ07d8b69eut3unHy8sLiYmJSExMxBNPPAFBEJCRkYEdO3Zg+/btyMrKUmR+c9euXYiPj0d8fLzNr0VEpCQGpgWSkpKQlJQEo9GI4OBgi5/fUYdZXFwsfU10dLT1hQIoKSnBtGnT0NDQgDvvvBPr1q1DaGioTa95OYPBgB49eqBHjx6YNWuWIq8pCAJmzJiBzMxMDBw4EHfddReGDBmC22+/XZHXJyKyBQNTRY2NjQDMB2ZBQQEAIDw8vMPt8zry4osvori4GH379sXnn39u8+upoaysDN27d0d2djYOHz6Mw4cP48Ybb2RgEpFDYGCqSOwePTza/raLgdmpUyebjnPo0CG8//77AIB3331XF2EJAKGhodixYwcKCwvx3Xff4ccff+TQLBE5DAamijoakr106RIA2wJTEARpjnHq1KkYNWqU1a+llcjISDzyyCN45JFHtC6lQ6tXr0bv3r3x008/Yfr06bj66qu1LomI7ISBqSJxSNZch1lYWAjAtsDcvn079u7dCz8/P6xYscLq16GO/fHHH5gzZ470561bt2L//v0aVkRE9sTAVFFHHWZRUREAWHzKx+XEcy1nzpyJLl26WP06elNTU4OCggIUFhaisLAQJSUlMBqN0q2mpga1tbWora1FXV2dtLORuOLZYDDAzc0Nbm5u8PDwgKenJzw9PeHl5QVfX1/4+PjA19cXgYGBCAwMRFBQEEpLS3HjjTdiz549MJlMOHLkiLbfBCKyKwamijpa9FNcXAygedGPNcrKyvDNN98AAGbPnm3VaziyoqIinDp1CqdOncLp06eRkZGBzMxMZGVlSd87rQQGBsLLywvx8fGYM2cOFi1apGk9RKQ8BqaKOhqStTUwv/zyS9TX16Nv374YMGCAVa/hSBoaGrBlyxZ88skn2LVrl3SOqjleXl6IjIxEZGQkwsPDERwcjKCgIAQGBsLPzw8+Pj7w8fGBt7c3PDw84O7uLl0RRrwGaFNTExobG9HQ0ICGhgbU19ejpqZGulVWVkpda3FxMbKyslBVVSVdBq24uFjz8CblLF26FOnp6YiMjERMTAyio6MRExODPn36YMuWLdi+fTsmTJjQYmienJfLBuZ7772HFStWIC8vD3379sXbb7+NG264wa7HFE/sN7cbjpwLTLdn586dAIDJkyfrdpP0hoYG/Pzzz/jiiy+wceNGaZhaFB8fjz59+qBPnz646qqrEB8fj65duyIuLg4hISGqv29BEFBaWorMzEzU1NTA09MTMTExqtagtsbGRtTU1KC6urrFUHdtbS0aGhqkoe6mpiaYTCbpJv4gIv56+YXKTSaT9EOK+BjQ/H/m8uFy8c+X/z27ublJP/y4u7u3ekwcYvfw8ICXl5c01C7ed/mvlz/u4+ODPXv24Keffmrz+2AwGCAIAvbv349x48ahW7du9vumk0NwycDcsGED5s+fj/feew/XX389Vq9ejdtvvx0nT55E165d7XZccbOD8vLyNh8XF/uIp5dYSty4/ZprrrHq+VoqLCzE8uXL8dFHH6GkpES6v1OnTvjrX/+Ke+65B3/5y18QEBCgYZWtGQwGhIWFISwsTOtSzBIEAUajEYWFhSgqKkJRURFKS0tRXV0t3YxGI8rLy1FWVgaj0SjN9dbW1kqddWVlJaqqqqQdq1yFwWBosd+yIAioq6uT5r+Liorw2muv4emnn0bPnj01rpbsySUD880338SsWbPw6KOPAgDefvttbNmyBatWrUJycrLdjhsSEgKgea6xLeLuPvn5+Va9fmZmJgDo6tzFqqoqvPnmm1ixYoU0rBkZGYl77rkHkydPxqhRo8wOYbuyhoYGlJWVIScnR5rHzcnJQXl5OcrLy2E0GlFUVIT8/Hzk5+dLoxdKExdDiUPdXl5eLbo9d3d3qTt0c3OTFlOJ4SN2g5c/5unpKXVvl9/ETlXsPkUmk6lFV3vlY5d3teIwu/ireGm7yx+rr69v8TqCIEiPm/P+++9jwoQJDEwn53KfRPX19Th48CAWLlzY4v6xY8di7969bT6nrq6uxQeO0Whs8auoqqpK+n1FRUWrS1+JQ62FhYWtngv82YFmZ2e3+Xh7GhoapCudhIeHW/x8LRw9ehT33Xef9APCgAED8OKLL+KWW26R5hZ58ermbQ63bduGn376Cenp6cjLy2vxb00uf39/hIeHIzw8HCEhIfDz85PmdsWVvyEhIQgMDJQCUPw1ICAA/v7+8PPzg7+/vxSSeh3670hTUxPq6+tRW1srzWNXVVWhqqpK6tbz8vKQn5+PyspKeHp6IiQkxOH+3zU2Nkpz7hUVFSgvL5dGGQoLC1FWVobq6mpUVVWhsrJSep/V1dWorKzEtm3bEBUVpfXbsBuL/74EF5OTkyMAEH755ZcW9y9btky4+uqr23zO4sWLBQC88cYbb7w54a28vFxWfrhchym68idjQRDM/rS8aNEiLFiwQPqz0WhEXFwcsrOzERQUJN1fVVWF2NhYAMCZM2dabaC+atUqLFy4EHfffTfWrVvX6jgzZ87E119/jcWLF7c4nhyzZ8/GZ599hkcffRT//Oc/LXqu2g4cOIB77rkHFRUVSExMxJdffmnVZvbOJCcnBzt27MC2bduwY8cOlJaWtni8T58+GDNmDG666SZ0794doaGhCAoK4nC1k2hoaMClS5dw8eJFZGdn4+LFi9Kcc3FxsTS8XlBQYNUl9MRRhMDAQEREREiryUNCQlqNHogjDwEBAejbty/8/Pzs8I4dg/hZLpfL/W+LiIiAu7t7q3nCgoICs0MP3t7e8Pb2bnV/UFBQi8AUhxEBSENclxPnLuPi4lo9BjTvAQsAN910U5uPm2M0GvHdd98BaA5OS56rtl27dmHSpEmoqqrCjTfeiE2bNiEwMFDrslRXWVmJnTt3IjU1FampqTh58mSLx4ODg3Hrrbfitttuw7hx4xS9oDipp6mpCXl5eVII5uTkIDc3F3l5ecjNzcWlS5eQn59v0alI4kKz0NBQ6dfQ0FAEBwcjJCQE4eHh0urx+Ph4REZG8gcrhbjcd9HLywuDBg1Camoq7r77bun+1NRU3HXXXXY9thjSbV26Kz8/H1lZWXBzc8PgwYMtet2vvvoKNTU1uOaaa5CYmKhIrfaQlpaGcePGoaamBqNHj8Y333zTap7X2WVmZmLFihX417/+hZqaGul+Nzc3JCYmYuzYsRg7diyGDRvGDzmdMZlMOHfuHNLT05Geno60tDQcPnxY9nyzp6cnunTpIp0mFRMTI3WDERERiImJQUxMDKKiovhvQyMu+V1fsGABpk+fjsGDB2P48OFYs2YNsrKy7H7ysbgKtK0OUFywExsba3HHJS5Wuvvuux12EUZxcTEmT56MmpoajB07Fl9//TV8fX21Lks1Z86cQXJyMj755BNpA4tu3bphzJgxGDNmDEaPHu3Qp6ZQa5cuXcL+/fuxf/9+HDhwAGlpaW2eMubh4YHOnTujS5cuiI2NRefOnREbGytthBAdHY2oqCiEh4fDzc1Ng3dCcrlkYN5///0oLi7Gyy+/jLy8PPTr1w8//PCD3U/HEJeqt/XTYXth2pHjx48DAK677jobqrOfpqYmTJs2DVlZWejZsyc+++wzlwnLM2fOYMmSJdiwYYN0OsStt96KRYsW4eabb3bYH3CopYaGBhw7dgx79+7F3r17sW/fPum858v5+Phg4MCBGDx4MAYPHoxBgwahd+/eLaZrSL9cMjAB4PHHH8fjjz+u6jHb2xpPDExLu0tBEPDbb78BAPr162djhfbxyiuvYMuWLfD19XWZBT6ZmZlYunQp1q9fLy3SuPPOO/H8889j6NChGldHHamursbu3buxZ88e7NmzB/v3728xhA40zyUmJCRg6NChGDp0KIYMGYK+ffua3Sua9M9lA1MLYmC29dOmtYGZlZWFiooKeHp6OuQOP3v37sXSpUsBNJ/c3b9/f40rsi9BEPDhhx9i3rx50gfsxIkT8fLLLzvF/r7OrLGxEampqfjkk0/w9ddft5p7DAkJwfDhw6VbYmKiS/zwR39iYKpIHJJtKzArKysBwOKt386cOQMA6Nmzp8P9ZGsymTBv3jwIgoAZM2ZgxowZWpdkV0ajEXPmzMH//d//AWhe7fzaa6+xo3RggiDg4MGD+Oijj7Bhw4YW21J27doVo0aNwsiRI3H99dejd+/enGN0cQxMFbU3h2ltYJ49exaAY+4f+/HHH+PgwYMICgpy+otZHz58GPfddx/OnTsHd3d3LF++HP/93//ND1gHlZOTg48//hgfffRRi1N6IiMjcf/992PatGkYOnQo55ipBQamiuzRYYqBefXVV9tYnbKqqqqka0K+8MIL0sbyzujDDz9EUlIS6urqEBcXh//85z8YMWKE1mXRFZqamvDVV1/hww8/xNatW6W5ZR8fH9x999148MEHMWbMGIcbqSHHwcBUkZzAtPS8RDEwe/XqZWN1ykpJSUFubi66deuGefPmaV2O3bz66qvSDwYTJ07EunXreHqIgzGZTNi4cSP+/ve/4/Tp09L9I0eOxMyZMzFlyhTORZIsDEwVtbfoR1xgYGlgZmRkAAB69OhhY3XKaWhowDvvvAMAWLx4MXx8fDSuyD5WrFghheVLL72ExYsXcwjWgQiCgK1bt+L555+XdtEKCwvDnDlz8PDDD/PKImQxBqYFUlJSkJKS0uoSQnK1N4cpXpXDksA0mUzSuWDdu3e3qiZ7+Pzzz5GTk4Po6Gj89a9/1bocu3jrrbfw7LPPAgD+8Y9/4MUXX9S4Irrc/v378dxzz0kXVQ8ICMDTTz+Np556it0kWY2BaYGkpCQkJSXBaDRa9Z+uvSFZscO0ZKPjvLw81NfXw93d3WH2GhUEQdr8PSkpqc09ePVuzZo10ub4ixcvZlg6kAsXLuCZZ57BF198AaB5H+jHH38cixYtQmRkpMbVkd4xMFXU3pCs2GFaEphid9mlSxeH2Vty//79OHToEHx8fOy+1aAWdu7cicceewwA8Nxzz2Hx4sUaV0RA8w9q69evx7x581BRUQGDwYCZM2di6dKl6Nq1q9blkZNwjE9ZF9Feh2nNkKy4/6wjfSB89NFHAIApU6YgIiJC42qUlZ+fj6lTp8JkMmH69OlITk7maQcOoLS0FH/729/w+eefAwCuv/56rFq1Ctdee63GlZGz4QoFFYnL2JXqMLOzswHAYYZj6+vrsWHDBgDA9OnTNa5GWU1NTXjggQeQn5+Pvn37YtWqVQxLB7Bjxw70798fn3/+OTw8PLBs2TLs3LmTYUl2wQ5TRXI6TEs2JRc7zC5duihQne02b96MkpISxMTE4JZbbtG6HEX94x//wI4dOxAQEIAvvvjC5S5L5mhMJhP+/ve/Izk5GYIgoFevXvj0008tvjQekSUYmCqSE5iWdJiOFphid/nAAw841dUZjh07hldeeQVA8364vXv31rgi11ZbW4sZM2ZIQ7CPPvoo3n77bf4QQ3bHwFRRe4EpbtRtSYeZl5cHoPkamlpraGjADz/8AAC49957Na5GOSaTCY899hiamppwzz33YNq0aVqX5NLKy8sxadIk/Pzzz/D09MTatWv5d0KqYWCqSOnAzM3NBQDExMQoUJ1t9uzZg/LyckRGRmLIkCFal6OYdevWYe/evfD398fbb7+tdTkuLS8vD+PGjcOxY8cQGBiIr776CqNHj9a6LHIhDEwVKRmYgiBIHaYjBOa3334LAJgwYYLTDMeWlJRImxMsXbrUYRZXuaKMjAzccsstuHDhAqKjo7F582ZeLo1Ux8BUkRiYV26fZjKZUFdXB0B+YJaVlUnPiY6OVrBK62zevBlAc2A6i1dffRXFxcXo16+fU++H6+gKCgowduxYXLhwAT179sSWLVscaitIch0MTBWZO61EDD5AfmCK1+0LCgqyaBjXHnJycnDmzBm4ubk5zerY/Px8vPvuuwCA5ORkXsFCIxUVFbjjjjtw7tw5xMfHY+fOnQ4xZ0+uiedhqsjckKw4HAvID8xLly4BAKKiohSqznrbt28HAAwaNAghISHaFqOQ119/HTU1NRg6dCjGjx+vdTkuqb6+Hvfccw8OHjyIiIgIbN26lWFJmmJgWiAlJQUJCQlITEy06vnmhmRra2sBNAep3C3uxMB0hOtMbtu2DQCcprvMy8vDqlWrAAAvv/wyNyjQgCAIePTRR/HTTz/B398fmzdvdrhrvpLrYWBaICkpCSdPnkRaWppVzzfXYYqBacllsAoLCwE4RmDu3r0bADBq1ChtC1FISkoKamtrMWLECIwZM0brclzS+++/j3//+99wd3fHl19+yQ0JyCEwMFVkbg5TDExL5iLFwNT6Cgz5+fn4448/YDAYMHz4cE1rUUJtbS1Wr14NAFiwYAG7Sw2kp6dj/vz5AIDXXnsNt912m7YFEf1/DEwVmRuSFecwLekwi4qKAEDzDc737t0LALj22mud4jqDn376KYqKitC1a1fcddddWpfjckpLS3Hfffehvr4ekyZNki6jRuQIGJgq6qjDtGZIVusOUwxMZ+guBUHAO++8AwCYO3euw1wyzZX813/9FzIyMtC9e3esXbuWHT45FAamijpa9GPJxZaLi4sBAOHh4QpVZx1xPnfYsGGa1qGEgwcP4ujRo/Dx8cGsWbO0LsflfPnll/jiiy/g4eGBzz77zGlWXJPzYGCqqKPzMC3pMB0hME0mEw4dOgQATrEoY926dQCAu+++G2FhYdoW42JKSkqQlJQEAFi0aJFT/Hsi58PAVIkgCNLvlRiSLSkpAaBtYJ49exaVlZXw9fXV/RU86urq8OmnnwIAHnroIW2LcUELFizApUuX0KdPH7zwwgtal0PUJgamSsThWKD1kKzYYVozJKtlJyR2lwMGDND9fN/333+P0tJSdO7cmRt6q2z79u1Yv349DAYD/vd//9ei/wdEamJgqkQcjgXMD8nK/aBoaGhAZWUlAG0D8+jRowCAgQMHalaDUj777DMAznctT0fX1NQkrYR97LHHMGLECI0rIjKPgakSJTvMsrIy6fdaLow4duwYAKB///6a1aCEmpoabNq0CQAwZcoUjatxLevXr8fRo0cREhKCl19+WetyiNrFwFTJ5R2mrYFZWloKoHnjdS27ITEwr732Ws1qUMKPP/6IqqoqxMfHc7GJiiorK6X5ypdeeknzFd9EHWFgWsCWvWTt0WFq2V2WlJRIF7Du16+fZnUo4csvvwQATJ48mef9qejNN99Efn4+rrrqKmmFLJEjY2BawJa9ZJWcwxQDMzQ01OI6lHLy5EkAQNeuXREUFKRZHbZqamqSruU5adIkbYtxIeXl5XjrrbcAAK+88gq8vLw0roioYwxMlbTXYdbX1wOA7A8NMTC13Iru1KlTAIA+ffpoVoMS9u3bh5KSEoSGhjrF5gt6sXLlSpSVlaFPnz6cNybdYGCqxB4dppZDss4SmN9//z0AYNy4cbo/NUYvjEYj3nzzTQDA3//+d65KJt1gYKrk8sC8cp5Mjx3m6dOnAeg/MMXh2DvuuEPjSlzHmjVrUFpaimuuuQb33Xef1uUQycbAVIm5fWSBPwNTbodpNBoBaBuYZ8+eBQBdX9S3sLAQR44cAQCMHTtW22JcRGNjI1auXAkAePbZZ9ldkq4wMFVibh9ZwPIOs7y8HIB2gdnQ0IALFy4AAHr16qVJDUrYsWMHgObTYhzhQtyuYOPGjcjKykKnTp3wwAMPaF0OkUUYmCoRA7OtDlOcw5QbmGKHqdXq1IyMDDQ1NcHPzw+xsbGa1KCEbdu2AQC3wlORuDL2scces2jvZCJHwMBUiZwhWU9PT1mvJXaYWgXmuXPnAAA9e/bU9XmLYofJwFTHwYMHsW/fPnh5eeGxxx7Tuhwii7lUYF64cAGzZs1C9+7d4evri6uuugqLFy+WAsue5AzJyp3DrKioAKBdYP7xxx8AmgNTr/Lz8/H777/DYDBg5MiRWpfjEj744AMAwL333ouoqCiNqyGynEutoz99+jRMJhNWr16Nnj174rfffsPs2bNRVVWFN954w67Hbm9I1tI5TK2HZMXA7N69uybHV8Lu3bsBNO+DywsV219lZaV0+bTZs2drXA2RdVwqMMeNG4dx48ZJf+7RowfOnDmDVatW6SowxQ4zMDBQoeosIwbmVVddpcnxlSAGJrtLdXz22WeoqKhAz549MWrUKK3LIbKKSwVmW8rLyzu8RFZdXZ20MAf4s8OzhJzAlDuH6SiB2a1bN02Or4S9e/cCYGCqZd26dQCAWbNm6Xrem1ybS81hXun8+fNYuXIl5syZ0+7XJScnIzg4WLrFxcVZfKz25jAbGhoA6KfDzMzMBKDfwKypqZGu5Tl8+HCNq3F+mZmZ2L17NwwGAx588EGtyyGymlME5pIlS2AwGNq9paent3hObm4uxo0bhylTpuDRRx9t9/UXLVqE8vJy6ZadnW1xjUoNyQqCIF08OiAgwOI6bFVWViZ12PHx8aofXwmHDh1CY2MjoqKi0LVrV63LcXri3OWoUaPQpUsXjashsp5TDMnOnTsXU6dObfdrLu+GcnNzcfPNN2P48OFYs2ZNh6/v7e0tewWrOe0FpthhyhmSra6uhiAIALTpMMUNCyIjI+Hn56f68ZWwf/9+AMCwYcM4PGhngiDgk08+AQBMmzZN42qIbOMUgRkREYGIiAhZX5uTk4Obb74ZgwYNwtq1a9sMMHsQA7OtD2hL5jDF7tJgMGgSWFlZWQD0210CkEYbhgwZonElzu/kyZM4ceIEvLy8cO+992pdDpFNnCIw5crNzcWoUaPQtWtXvPHGGygsLJQei46OtuuxlZrDFAPT399ftbC/nDgcbc08rqM4ePAgAGDQoEEaV+L8xItzjxkzhqfvkO65VGBu3boV586dw7lz51rNpYjDnPai1JCslvOXgP4D02g0ShvH/+Uvf9G4GucnBia7S3IGTrHoR66HHnoIgiC0ebM3pU4rYWDaRrw6SVxcHCIjI7UtxsmdO3cOx44dg7u7O+68806tyyGymV0Ds7q62p4vryvtzWFa02H6+/srWJ18Fy9eBAB07txZk+PbSgzMgQMHaluIC/juu+8ANK+ODQ8P17gaItvZNTB/+OEHTJ8+Hc8//7x07qCrEjdfb28OU05gVlVVAdCuw8zNzQWg38AUz7+87rrrNK7E+W3atAkAMHHiRI0rIVKGInOYI0aMgNFoxC233IJRo0bhpptuQnh4OCZPnozJkyfj/PnzmDdvHtauXavE4XRJzhympYt+1CYIAnJycgDoPzD79++vcSXOrby8HLt27QIATJgwQeNqiJShSId5//33w2AwICUlBZMnT0ZUVBQGDBiABQsWYOPGjSgoKJCG8lyVUot+xA5Ti8AsKytDTU0NAOjyOphNTU04ceIEAHaY9rZ161Y0Njaid+/eut5zmOhyigTmk08+iePHj6OwsBAbN27EE088AQ8PD6xcuRKTJ0/GyJEjkZiYqMShdMtcYAqCYPHGBYA2gSkOx4aGhsLX11f149vq/PnzqK2tha+vL3r06KF1OU5ty5YtAIA77rhD40qIlKPoaSVhYWGYNGkSJk2aBKB5z9Nt27Zh5cqVWLhwoZKH0h1xJe6VgSnObQKAh0fHfx1ih6nFpgX5+fkAgJiYGNWPrQSxu+zTp0+bc8mkDEEQsHXrVgDAbbfdpnE1RMqx66KfwMBATJo0CevWrcNLL71kz0OpIiUlBQkJCVZ1y+Y6TLG7BBx/SDYvLw+A/Td5sBcxMPv27atxJc7t9OnTyM7Ohre3N2644QatyyFSjCKBWVlZiZSUFHz++efSHNfl4uLiWlweS6+SkpJw8uRJpKWlWfxcc6eVNDY2Sr+X02GKQ7JadJhiYOq9w2Rg2ldqaioA4IYbbtDl0D2ROYoMyd59993Ytm0bACA4OBj3338/Jk+ejBtuuAHe3t4wGo3IyMhQ4lC6ZW5rPEs7TC3nMMUhWb12mKdPnwYAJCQkaFyJc9u+fTsA4NZbb9W4EiJlKdJhdurUCZWVldiyZQsmTJiATz75BLfddhsCAwPRuXNnREVFcdGPE3SYly5dAgBERUWpfmxbmUwmnDlzBgDQu3dvjatxXk1NTdi5cycA4Oabb9a4GiJlKdJhhoWFIS8vD2PGjMGYMWNQW1uLH3/8Eenp6SgrK8OwYcNc/sKxHc1henh4yLrUFAPTOtnZ2aipqYGnpye6d++udTlO6+jRoygrK0NgYCD36iWno0hgvv766/jHP/6B+vp6PPLII0hISGixWpY67jDldJcApDliLeaG9ByYYnfZs2dP2d9rstzPP/8MALjxxhv5fSano8i/aF9fXyxfvhxFRUXSTjDUkrk5TDEw5cxfAtp2mAUFBQD0GZjiFUquueYajStxbnv27AHQHJhEzkbRHwEtuZCzq5EzJCuHVoFpMplQVFQEoHnOWm/EwOzVq5fGlTgvQRCkwBw5cqTG1RApz6Uu76Ulc4FpaYep1ZBsaWmptMmCHn8o+v333wEAV199tcaVOK/ff/8dhYWF8Pb25sW5ySkxMFVibg5T7DDl7jwjdphqB6Y4HBscHCxrk3hHIwYmO0z7+eWXXwAAiYmJ8Pb21rgaIuUxMFVibms8aztMtYdk9Twc29jYiMzMTADgRuB2tG/fPgDNVy8ickYMTJXofUi2sLAQgD6HY7Ozs9HY2Ahvb29dXmVFL8TAHDZsmMaVENkHA1MlHXWYjn5aidhhRkZGqnpcJZw/fx4A0KNHjzYvr0a2q6ysxG+//QYAGDp0qMbVENkHPz0soMTm6+bOw5Qzh9nQ0CAtvPHx8bG4BluIgRkeHq7qcZXwxx9/AAAv6WVH6enpMJlMiIuLYxdPTouBaQElNl+3ZUj28o3tteow9TgkK+5jzB1+7Ef8PzFkyBCNKyGyHwamSpQYkq2trZV+r3aHWVxcDECfHSYD0/7S09MBAIMHD9a4EiL7YWCqRImNC8QO09vbW9a+s0pyhsDs1q2btoU4MTEwXf0iC+TcGJgqUWIOU+wwtTjHTc+BeeHCBQAMTHspLS2V5om54To5MwamSpSYwxQDU4uN10tKSgDoLzBramqkTRfi4+M1rsY5HTlyBEDzkHdoaKi2xRDZEQNTJebmMMVVr5bMYWoZmGFhYaof2xbZ2dkAmjd60FvtenH48GEAwMCBAzWuhMi+GJgqUeLyXmJgqr3gx2Qy6TYws7KyADR3l2rP+7oKBia5CgamSsQOU49zmBUVFVLg623I7fLAJPsQh2QHDBigaR1E9sbAVElHc5iOPCRbWloKoLmz1WI42BbikGxcXJzGlTinuro6nD59GgBw3XXXaVwNkX0xMFViLjAtmcOsq6sDoP6QrDgcq7fuEmBg2tvp06fR2NiIkJAQdOnSRetyiOyKgakSPZ9WInaYepu/BP4ckuWHuX0cO3YMANC/f3/OEZPTY2BaQIm9ZJUYklW7wywrKwMAhISEqHpcJeTk5ABgYNrL8ePHAQDXXnutxpUQ2R8D0wK27CWrxGkl4pCsVh2mHodkL168CICBaS8nTpwAAPTr10/jSojsj4GpEiWGZLUKTLHD1FtgVlRUwGg0AmBg2ot4Sa++fftqXAmR/TEwVaLn00rEwAwODlb1uLYSh2MDAwMRGBiocTXOx2g0SnPEDExyBQxMleh5laxeO8zc3FwAQOfOnTWuxDmJp5NERUXpckEYkaUYmCpR4vJeWg/J6q3DzMvLAwBe0NhOTp06BQBISEjQuBIidTAwVWJuDlPsMPUwh6m3VbJih8nAtA8xMPv06aNxJUTqYGCqhHOY6hMDMyYmRuNKnBMDk1wNA1MlYod5ZTBaModZX18PQP3ALC8vB6C/wBSHZBmY9iHOYfbu3VvjSojU4bKBWVdXhwEDBsBgMEibR9uTEh2mVkOy4qkZDEwSNTQ0SBeNvuaaazSuhkgdLhuYzz77rKpzW3reuECvHWZ+fj4ABqY9ZGRkoLGxEX5+flyFTC7DJQNz8+bN2Lp1K9544w3Vjqnkoh8vLy+FqzPPZDLptsMUAzM6OlrjSpzP2bNnAQC9evVq9UMgkbPquK1xMpcuXcLs2bPx9ddfw8/PT9Zz6urqpLAC/hyitERHHaacwNRiDrOqqkqqXU+BWV1dLf09MTCV9/vvvwMArr76ao0rIVKPS/1oKAgCHnroIcyZMweDBw+W/bzk5GQEBwdLN2suFdVRh+moi37E0PHw8FB9wwRbXLp0CUDz9yooKEjjapyPGJi9evXSuBIi9ThFYC5ZsgQGg6HdW3p6OlauXAmj0YhFixZZ9PqLFi1CeXm5dBOvsWiJjjYucNQhWTEwg4KCdHX5JjEwo6KidFW3XjAwyRU5xZDs3LlzMXXq1Ha/plu3bnjllVewb9++Vh3a4MGDMW3aNKxfv77N53p7e9vc1Skxhyl2mFoEpt72Yr08MEl5YmD27NlT40qI1OMUgRkREYGIiIgOv+6dd97BK6+8Iv05NzcXt912GzZs2IChQ4fas0TdzmFe3mHqCQPTfurr66VRFgYmuRKnCEy5unbt2uLPAQEBAICrrrrK7pd/0usqWb12mAUFBQAYmPZw4cIFmEwm+Pv78/tLLsUp5jD1oKONCyxZ9KNmYFZUVADQX4cpBmanTp00rsT5nD9/HkDzD5qcHyZX4lId5pW6desmBZm9mQtMR5/DFANTrx1mZGSkxpU4HzEwe/TooXElROpih6kSc9fDNLfHbFu0mMPUe2Cyw1ReRkYGAAYmuR4Gpko66jDl7JbCDlO+wsJCAOww7UHcQ5aBSa6GgakSJU8r8fT0VLg68/QemOwwlSd2mN27d9e4EiJ1MTBVYuscpiAImgamuKJYD0wmE4qKigBA1ulGJJ8gCAxMclkMTJWYm8OUG5hNTU1S6Ko5h1lZWQlAXx1meXm59H3lkKyyysrKpFON4uPjNa6GSF0MTJXY2mGK3SXAOcyOiMOxgYGBql8KzdlduHABQPNQt9yLFxA5CwamBVJSUpCQkIDExESLn6tkYKo5JCt2mHoakuVwrP1kZmYCaD4li8jVMDAtkJSUhJMnTyItLc3i59q6SpaBKR8D037EDpPDseSKGJgqsXUOs6GhAUDzjkBqXrBXj3OYxcXFABiY9pCVlQWAgUmuiYGpEluHZMXAVLO7BPTdYYaHh2tcifMRh2Sv3JeZyBUwMFWi1BymVoHp7++v6nFtIXaYDEzliR0mA5NcEQNTJbZujSd2mGqu+mxqakJNTQ0AfXWYDEz7YWCSK2NgqkSPHWZ1dbX0e3aYVFdXJ+3RGxcXp3E1ROpjYKrE1gtIazGHWVVVBaA55H19fVU7rq1KSkoAMDCVdvHiRQCAj48Pv7fkkhiYKjG3l6y5odoradFhXj5/qafrHoodZlhYmMaVOBcxMOPi4nT174FIKQxMlSi1SlbNXX7EDlNPw7EAUFpaCoCBqTQxMLt06aJxJUTaYGCqxFxgWrroR4shWb0Fpjgky8BU1uUdJpErYmCqpKM5zI6GZLUITHHRj54Cs6amRlrZy8BUFjtMcnUMTJXYej1MLeYwxQ5TT5tsi8Oxbm5uCAoK0rga5yIGZufOnTWuhEgbDEwL2GPzdblDso2NjQA4JNsRcTg2NDSUC1MUlpOTA4CBSa6LgWkBJTZf55CsfYkdZmhoqMaVOB8GJrk6BqZKuOhHHQxM+2hsbER+fj4ABia5LgamSmy9vJeWHaYe5zAZmMoqKCiAyWSCu7s7OnXqpHU5RJpgYKpEj1cr0eOQbFlZGQAGptJyc3MBAFFRUR3+WyVyVgxMlZibw5S704+WQ7LsMEkMzNjYWI0rIdIOA1Mltp5WwiFZecQOMyQkRNM6nE1eXh4ABia5NgamSjpa9OOIHaYYmHraeJ2BaR9ihxkTE6NxJUTaYWCqRI/nYXIOk0TiClkGJrkyBqZKlFol6+HhYYfq2iZuMccOk8Qh2ejoaI0rIdIOA1MlbQWmIAjS/ZzDVAYD0z7YYRIxMFXTVmCKw7FX3t8WcUhWzQ5Tz3OYwcHB2hbiZMTAZIdJroyBaQFb9pJta5Xs5YHpiB2mOCSrpw6zvLwcAANTSYIgMDCJwMC0iBJ7yV4emOL8JeCYgam3IVmTySQFJodklVNaWir9+4uKitK4GiLtMDBV0tGQbEeLfrRYJau3DrOyslL6PrPDVI7YXYaGhsLb21vjaoi0w8BUSUcdJlfJ2k7sLj09PeHj46NxNc7j0qVLANhdEjEwVdLW1niWzGFqeR6m3gIzODiY18JUkNhhMjDJ1TEwVdLRoh9H6zBNJhPq6uoA6C8wg4KCNK7EubDDJGrGwFSJrUOyap9WUltbK/1eb4HJ+UtlFRQUAGBgEjEwVdLRkKyjLfoR5y8B/QSm0WgEwMBUmhiYvA4muToGpkraWyVrMBg6nHNTe0hWDExPT0/dXP9QDEwOySqLHSZRM5cMzO+//x5Dhw6Fr68vIiIicM8999j9mO0FZkfdJaD+kKzeVsgCDEx7YYdJ1Ey9cxQcxJdffonZs2dj+fLluOWWWyAIAo4fP27349oamGKHqVa3Jwamnk7PYGDaBwOTqJlLBWZjYyOefPJJrFixArNmzZLuv+aaa+x+7PYCU04Iqj2HKS760WOHyTlMZTEwiZq51JDsoUOHkJOTAzc3NwwcOBAxMTG4/fbbceLEiXafV1dXB6PR2OJmqfZWyXJIVhni30tgYKDGlTiP6upqVFVVAQAiIyM1roZIWy4VmH/88QcAYMmSJXjxxRexadMmhIaG4qabbkJJSYnZ5yUnJyM4OFi6xcXFWXxspeYw1e4wOSTr2goLCwEAXl5e/EGEXJ5TBOaSJUuklabmbunp6VJAvfDCC7j33nsxaNAgrF27FgaDAZ9//rnZ11+0aBHKy8ulW3Z2tsU1drRKtiNiYHIO0zx2mMoTAzMyMpK7J5HLc4o5zLlz52Lq1Kntfk23bt1QUVEBAEhISJDu9/b2Ro8ePZCVlWX2ud7e3jZvOs05TPsT/37ZYSqnqKgIAIdjiQAnCcyIiAhERER0+HWDBg2Ct7c3zpw5g5EjRwJoXn164cIFxMfH27VGpQJT7Z1+GJiu7fIOk8jVOUVgyhUUFIQ5c+Zg8eLFiIuLQ3x8PFasWAEAmDJlil2PrdfzMPU0JCsGJodklSMGppwfSImcnUsFJgCsWLECHh4emD59OmpqajB06FBs374doaGhdj2uUqtk1ZrDFDtMPV3/kHOYyhOHZBmYRC4YmJ6ennjjjTfwxhtvqHpczmHalyAI7DDtgHOYRH9yilWyemDrkKzYjao9h6mXIdna2lrpe8TAVA47TKI/MTBVorc5TL0FZmVlpfR7f39/DStxLsXFxQAYmEQAA1M1ejsPU29zmOJwrJ+fn26urqIHYocZHh6ucSVE2mNgqkSvO/3oZQ5T7DA5HKssscNkYBIxMFWjtyHZuro6APoZkhU7zICAAI0rcR6CIDAwiS7DwFSJ3gJTb0Oy7DCVZzQapX93DEwiBqZFUlJSkJCQgMTERIufyzlM+xI7TC74UY7YXfr6+upmaJ7InhiYFkhKSsLJkyeRlpZm8XNtPQ9T7dNK9DYkyw5TeRyOJWqJgakSW4ZkTSaT9Hy1O0y9BSbnMJXDwCRqiYGpElsCUxyOBdTvMPUyJMsOU3niNWIZmETNGJgqaSsw27qvLeJwLMAO0xwxMDmHqRwxMMPCwjSuhMgxMDBVYsscJjvMjnFIVnkMTKKWGJgqseVqJZd3mDytpG1VVVUAGJhKYmAStcTAVElbp5BYM4ep1pCsXjtMDskqh4FJ1BIDU2W2BKbBYJC1yYES9HpaCTtM5YiBae9rxRLpBQNTJe0t+pE7JKvWcCygvw5THJJlh6mc0tJSAOwwiUQMTJUocVqJmlfh4BwmcUiWqCUGpkps2RpP7cAUBAENDQ0A9BOYnMNUnthhckiWqBkDUyW2nFai1bZ4gH7mMDkkqyxBEDiHSXQFBqYFtNp8XatLewH66TAZmMqqqamRRhkYmETNGJgWUHrzdUsX/ah9SgkAeHl5qXJMWzEwlSUOx7q7u3NemOj/Y2CqxJYOU6vA9PT0lHXpMa2ZTCbU1NQAYGAq5fL5Sz38GyBSAwNTJUpsjcdt8dpWXV0t/Z6BqQwu+CFqjYGpEltOK1G7w6yvrwegn8AUh2MB8ELHCikrKwMAhISEaFoHkSNhYKpEDMzLWRqY7DDbJnaYfn5+qu2E5OzEDpOBSfQnfrqoRE/nYYqBqbcFP35+fhpX4jzYYRK1xsBUiZ5WyeptSFbsMDl/qRwxMDmHSfQnBqbKbJnD5JBs2y4fkiVlsMMkao2BqRI97SWr1yFZdpjKKS8vB8DAJLocA1MlejoPUxyS1Utgih0mV8gqR+wwg4ODtS2EyIEwMFWip9NK9Dokyw5TORySJWqNgWkBpfeSddTrYep10Q/nMJXDIVmi1hiYFrBlL1mRHuYw9Toky8BUDodkiVpjYKqkvY0LOIdpG56HqTyxw2RgEv2JgakSPc1hckjWtQmCwDlMojYwMFWip40L9HZaiXilEgamMmpqaqRpAHaYRH9iYKqEp5XYDztMZYnDsW5ubrwWJtFlGJgqaWsOs60QbQsDs308D1NZYmAGBgbyWphEl2FgqoRzmPbDIVllGY1GAByOJboSA1MlegxMvXWYDExlcIUsUdtcLjDPnj2Lu+66CxEREQgKCsL111+PHTt22P24eprD1NuiHwamsthhErXN5QJz/PjxaGxsxPbt23Hw4EEMGDAAEyZMQH5+virHv7ybdPQO09PTU5Xj2YpzmMoSO8ygoCCNKyFyLC4VmEVFRTh37hwWLlyI/v37o1evXnj11VdRXV2NEydO2PXY7S36cdTA5Byma2KHSdQ2lwrM8PBw9OnTBx999BGqqqrQ2NiI1atXIyoqCoMGDTL7vLq6OhiNxhY3S3EO037YYSqLHSZR29TZzdtBGAwGpKam4q677kJgYCDc3NwQFRWFH3/8sd0dTZKTk7F06VKbjt3exgWONoeptyFZscNkYCpD/IGQgUnUklN0mEuWLIHBYGj3lp6eDkEQ8Pjjj6NTp07YvXs3Dhw4gLvuugsTJkxAXl6e2ddftGgRysvLpVt2drbVteqhw2xoaADAIVlXxSFZorY5RYc5d+5cTJ06td2v6datG7Zv345NmzahtLRU+un5vffeQ2pqKtavX4+FCxe2+Vxvb2+bw0OPc5h6GZJlh6ksdphEbXOKwIyIiEBERESHXyfOdV0ZUG5ublK3Zy96Oq1ET0OyTU1NUkfMwFQGA5OobU4xJCvX8OHDERoaipkzZ+Lo0aM4e/YsnnnmGWRkZGD8+PF2PbYSc5gddaJK0VNgit0lwMBUSkVFBYDmrfGI6E8uFZgRERH48ccfUVlZiVtuuQWDBw/Gnj178M033+C6665TpQbOYSrr8sD08fHRsBLnwQ6TqG1OMSRricGDB2PLli2qH7e9C0g7WmDqscP08vJSrQN3dmJgssMkaomfMCrR0/Uw9bTohwt+lMcOk6htDEyV6GnRjzgkq4cOs7a2FgADUymCIHAOk8gMBqZKbOkwxWBlh9kaO0xl1dbWorGxEQA7TKIrMTBVoscOk4HpesTuEgACAgI0rITI8TAwVWLLxgVyFwcpRY+LfrhCVhliYPr7+3MRFdEV+D9CJXrsMPUUmOwwlcH5SyLzGJgWSElJQUJCAhITEy1+LlfJ2gcX/SiLgUlkHgPTAklJSTh58iTS0tKsfg12mMrikKyyGJhE5jEwNeSIHWZTU5MU5HrqMBmYyqisrATAwCRqCwNTBZcv+LGlw1RjEYbYXQL66DAZmMoSO0yukCVqjYGpMmv2klXzPEy9BibnMJXBIVki8xiYKjDXYVp6tRIGZmvsMJXFIVki8xiYKnP0IVlxhazBYFBtkZEt2GEqi0OyROYxMFXQ1qYFl9/viB2mp6dnh3U5AnGVrB4uRaYHYofJwCRqjYGpgo4W/TjiHKYehmMBdphK45AskXkMTBV0NIcp97QSNVfJ6i0wOYepDHaYROYxMFVmzaIfdpjmscNUFlfJEpnHwFSBUnOY7DBbEwOTc5jKYIdJZB4DUwW2zmGquehHT1cqAdhhKo2BSWQeA9MC1m6+butOPxySNY8dprIYmETmMTAtYO3m63rcuICB6ZrEwPT399e4EiLHw8BUGU8rURaHZJXF00qIzGNgqqCjRT88rcR6dXV1AHhaiRKampqkjSDYYRK1xsBUgVJDsgzM1jgkq5yqqirp95zDJGqNgakCpRb9MDBbY2AqRwxMNzc3duxEbWBgqsyanX7UnMNsbGwEoL/A5Bym7S5f8KOHfYSJ1MbAVIFeN1/XA3EOkx2m7cQOk8OxRG1jYKrA1r1ktRiS9fDwsPuxbNXU1CR1xBxCtB1PKSFqHwNTBeY6TEe8HqaehmTF7hJgh6kEscNkYBK1jYGpAltXyfI8zLYxMJXFwCRqHwNTZY6+l6yeAlNc8OPm5qaLIWRHx8Akah8D0wJK7CXb1v2OdFqJOCSrhwC6fMEPV3Xajot+iNrHwLSA0nvJOuIcpp46TK6QVRYX/RC1j4GpMs5hKoeBqazq6moADEwicxiYKtDTaSV6GpIV5zB5SokyxCFZPz8/jSshckwMTA1ZOiTLDrMldpjK4qIfovYxMFWg1Gkl3LigJQamshiYRO1jYKpAqSFZ7iXbEgNTWQxMovYxMFXAVbL2wcBUFgOTqH0MTA058ipZDsm6HgYmUfucKjCXLVuGESNGwM/PDyEhIW1+TVZWFiZOnAh/f39ERERg3rx5qK+vt2tdSm1coMbJ+XpaJcvAVJZ4WglXyRK1zfE/FS1QX1+PKVOmYPjw4fjwww9bPd7U1ITx48cjMjISe/bsQXFxMWbOnAlBELBy5Uq713dl4Dni1nicw3RdPA+TqH1OFZhLly4FAKxbt67Nx7du3YqTJ08iOzsbsbGxAIB//vOfeOihh7Bs2TIEBQXZpS6lOkwOybbEwFQWh2SJ2udUQ7Id+fXXX9GvXz8pLAHgtttuQ11dHQ4ePGj2eXV1dTAajS1u1rgyGB3xtBJ2mK6LQ7JE7XP8NkJB+fn5iIqKanFfaGgovLy8kJ+fb/Z5ycnJUvfaHn9/f5SXlyM4OLjFT+mdOnVCUVFRq04zNTUVjY2NCAwMbPd1CwoKYDKZzM7LKmn9+vVYvXq1Lj40582bh1mzZqnSebuC8+fPo6qqCmFhYVqXQuSQHL7DXLJkCQwGQ7u39PR02a/XVjcnCEK7Xd6iRYtQXl4u3bKzsy16D25ubggPD0dERESL+4ODgxEeHg4vL692nx8aGorw8HBVgsHf3x/h4eHw9fW1+7Fs5e3tjbCwMAQHB2tdilMICAhAVFSULkYXiLTg8B3m3LlzMXXq1Ha/plu3brJeKzo6Gvv3729xX2lpKRoaGlp1npfz9vbmsB8RkYtz+MCMiIho1ZlZa/jw4Vi2bBny8vIQExMDoHkhkLe3NwYNGqTIMYiIyDk5fGBaIisrCyUlJcjKykJTUxOOHDkCAOjZsycCAgIwduxYJCQkYPr06VixYgVKSkrw3//935g9e7bdVsgSEZFzcKrAfOmll7B+/XrpzwMHDgQA7NixA6NGjYK7uzu+//57PP7447j++uvh6+uLBx54AG+88YZWJRMRkU4YBHMnCZJZRqMRwcHBKC8vb9WZtvcYERE5Dks/r52qw1SL+DNGW+djivdZe64mERGpQ/yclts3MjCtUFFRAQCIi4sz+zXtPUZERI6joqJC1ulpHJK1gslkQm5uLgIDA1udv2k0GhEXF4fs7GyLhmQTExORlpZmt6+35jl8L3wvjvhe1KjLmufwvejvvQiCgIqKCsTGxsraSY0dphXc3NzQpUuXdr8mKCjIog8zd3d3u369tc8B+F74XuRT472oVRffi2u8F0s2PnH4nX5cRVJSkl2/3trnWIPvxb7HsJazvBe16uJ7sf8xHPW9mMMhWYU50ypZvhfHxPfimPheHJOS74UdpsK8vb2xePFip9hKj+/FMfG9OCa+F8ek5Hthh0lERCQDO0wiIiIZGJhEREQyMDCJiIhkYGAq6L333kP37t3h4+ODQYMGYffu3VqXZLHk5GQkJiYiMDAQnTp1wqRJk3DmzBmty1JEcnIyDAYD5s+fr3UpVsnJycGDDz6I8PBw+Pn5YcCAATh48KDWZVmssbERL774Irp37w5fX1/06NEDL7/8Mkwmk9aldWjXrl2YOHEiYmNjYTAY8PXXX7d4XBAELFmyBLGxsfD19cWoUaNw4sQJbYrtQHvvpaGhAc899xyuvfZa+Pv7IzY2FjNmzEBubq52Bbejo7+Xy/3tb3+DwWDA22+/bfFxGJgK2bBhA+bPn48XXngBhw8fxg033IDbb78dWVlZWpdmkZ07dyIpKQn79u1DamoqGhsbMXbsWFRVVWldmk3S0tKwZs0a9O/fX+tSrFJaWorrr78enp6e2Lx5M06ePIl//vOfCAkJ0bo0i7322mt4//338e677+LUqVN4/fXXsWLFCqxcuVLr0jpUVVWF6667Du+++26bj7/++ut488038e677yItLQ3R0dEYM2aMtJ2mI2nvvVRXV+PQoUP4+9//jkOHDmHjxo04e/Ys7rzzTg0q7VhHfy+ir7/+Gvv370dsbKx1BxJIEUOGDBHmzJnT4r7evXsLCxcu1KgiZRQUFAgAhJ07d2pditUqKiqEXr16CampqcJNN90kPPnkk1qXZLHnnntOGDlypNZlKGL8+PHCI4880uK+e+65R3jwwQc1qsg6AISvvvpK+rPJZBKio6OFV199VbqvtrZWCA4OFt5//30NKpTvyvfSlgMHDggAhMzMTHWKspK593Lx4kWhc+fOwm+//SbEx8cLb731lsWvzQ5TAfX19Th48CDGjh3b4v6xY8di7969GlWljPLycgBAWFiYxpVYLykpCePHj8ett96qdSlW+/bbbzF48GBMmTIFnTp1wsCBA/HBBx9oXZZVRo4ciW3btuHs2bMAgKNHj2LPnj244447NK7MNhkZGcjPz2/xOeDt7Y2bbrpJ958DQPNngcFg0OWohslkwvTp0/HMM8+gb9++Vr8O95JVQFFREZqamhAVFdXi/qioKOTn52tUle0EQcCCBQswcuRI9OvXT+tyrPKf//wHhw4dsniDZ0fzxx9/YNWqVViwYAGef/55HDhwAPPmzYO3tzdmzJihdXkWee6551BeXo7evXvD3d0dTU1NWLZsGf76179qXZpNxP/rbX0OZGZmalGSYmpra7Fw4UI88MADutz557XXXoOHhwfmzZtn0+swMBV05ZVLBEFodZ+ezJ07F8eOHcOePXu0LsUq2dnZePLJJ7F161b4+PhoXY5NTCYTBg8ejOXLlwMABg4ciBMnTmDVqlW6C8wNGzbg448/xqeffoq+ffviyJEjmD9/PmJjYzFz5kyty7OZs30ONDQ0YOrUqTCZTHjvvfe0LsdiBw8exP/8z//g0KFDNv89cEhWAREREXB3d2/VTRYUFLT6aVMvnnjiCXz77bfYsWNHh1dmcVQHDx5EQUEBBg0aBA8PD3h4eGDnzp1455134OHhgaamJq1LlC0mJgYJCQkt7uvTp4/uFpUBwDPPPIOFCxdi6tSpuPbaazF9+nQ89dRTSE5O1ro0m0RHRwOAU30ONDQ04L777kNGRgZSU1N12V3u3r0bBQUF6Nq1q/Q5kJmZiaeffhrdunWz6LUYmArw8vLCoEGDkJqa2uL+1NRUjBgxQqOqrCMIAubOnYuNGzdi+/bt6N69u9YlWW306NE4fvw4jhw5It0GDx6MadOm4ciRI3B3d9e6RNmuv/76Vqf3nD17FvHx8RpVZL3q6upW1x50d3fXxWkl7enevTuio6NbfA7U19dj586duvscAP4My99//x0//fQTwsPDtS7JKtOnT8exY8dafA7ExsbimWeewZYtWyx6LQ7JKmTBggWYPn06Bg8ejOHDh2PNmjXIysrCnDlztC7NIklJSfj000/xzTffIDAwUPppOTg4GL6+vhpXZ5nAwMBWc6/+/v4IDw/X3ZzsU089hREjRmD58uW47777cODAAaxZswZr1qzRujSLTZw4EcuWLUPXrl3Rt29fHD58GG+++SYeeeQRrUvrUGVlJc6dOyf9OSMjA0eOHEFYWBi6du2K+fPnY/ny5ejVqxd69eqF5cuXw8/PDw888ICGVbetvfcSGxuLyZMn49ChQ9i0aROampqkz4KwsDB4eXlpVXabOvp7uTLsPT09ER0djWuuucayA9m2gJcul5KSIsTHxwteXl7CX/7yF12eigGgzdvatWu1Lk0Rej2tRBAE4bvvvhP69esneHt7C7179xbWrFmjdUlWMRqNwpNPPil07dpV8PHxEXr06CG88MILQl1dndaldWjHjh1t/v+YOXOmIAjNp5YsXrxYiI6OFry9vYUbb7xROH78uLZFm9Hee8nIyDD7WbBjxw6tS2+lo7+XK1l7WgmvVkJERCQD5zCJiIhkYGASERHJwMAkIiKSgYFJREQkAwOTiIhIBgYmERGRDAxMIiIiGRiYREREMjAwiYiIZGBgEhERycDAJCIikoGBSUREJAMDk4iISAYGJhERkQwMTCIiIhkYmERERDIwMIkIAFBVVYXHH38cDzzwAG699VYYjUbpsbfeeguRkZG4ePGihhUSaYuBSUQAgCVLluDpp5/GBx98gG3btmH9+vXSY5mZmSgqKsKvv/6qYYVE2mJgEhFycnIAAFdddRV2794NAOjUqZP0+LJly9C1a1f4+/trUh+RI2BgEhFyc3Mxa9YsAMAnn3yCkJAQTJw4UXrc398f119/PQYMGKBRhUTa89C6ACLSXmJiIgCgoqICGzduxMMPPww/P78WXxMQEIDY2FgtyiNyCOwwiUjyww8/oLq6GlOmTGlx/6VLlxAREaFRVUSOgYFJRJL09HS4ublh2LBhLe5fu3YtHnzwQY2qInIMDEwiktTW1iIyMhLe3t7SfUVFRcjOzkZCQoKGlRFpj4FJRJKbb74ZRUVF0qrZmpoaPPPMM3jxxRc1roxIewZBEAStiyAix/H222/ju+++Q8+ePdHU1IRnn30WV199tdZlEWmOgUlERCQDh2SJiIhkYGASERHJwMAkIiKSgYFJREQkAwOTiIhIBgYmERGRDAxMIiIiGRiYREREMjAwiYiIZGBgEhERycDAJCIikoGBSUREJAMDk4iISAYGJhERkQz/Dyz30DEEQ/NGAAAAAElFTkSuQmCC\n", "text/plain": [ "Graphics object consisting of 1 graphics primitive" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "contour_plot(ruv, (v, 0, 14), (u, -10, 5), cmap=['black'],\n", " contours=(0, 0.05, 0.1, 0.2, 0.5, 1., 2.), fill=False, \n", " axes_labels=(r'$v$', r'$u$'), axes=True)" ] }, { "cell_type": "code", "execution_count": 49, "id": "6c1d7abe", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "Graphics3d Object" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot3d(ruv, (u, -10, 5), (v, 0, 14), axes_labels=('u', 'v', 'r'))" ] } ], "metadata": { "kernelspec": { "display_name": "SageMath 10.2.beta8", "language": "sage", "name": "sagemath" }, "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.10.12" } }, "nbformat": 4, "nbformat_minor": 5 }