diff --git a/book/_toc.yml b/book/_toc.yml index 9174d91..8e29b9b 100644 --- a/book/_toc.yml +++ b/book/_toc.yml @@ -71,6 +71,7 @@ parts: # - file: pages/design_for_testing - file: pages/mzi - file: pages/mzi_layout + - file: pages/layout_demo - caption: Active Device Design and Simulation chapters: - file: pages/advanced_components diff --git a/book/pages/layout_demo.ipynb b/book/pages/layout_demo.ipynb new file mode 100644 index 0000000..2c5d241 --- /dev/null +++ b/book/pages/layout_demo.ipynb @@ -0,0 +1,928 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-02-02 10:32:11.133\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mgplugins.gmeep\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m39\u001b[0m - \u001b[1mMeep '1.28.0' installed at ['/home/parkeraa/miniconda3/envs/mp/lib/python3.11/site-packages/meep']\u001b[0m\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "# import matplotlib\n", + "# matplotlib.use('TkAgg')\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib.patches as patches\n", + "import meep as mp\n", + "import gplugins.modes as gm\n", + "import ipympl" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-02-02 10:32:24.512\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mgdsfactory.technology.layer_views\u001b[0m:\u001b[36m__init__\u001b[0m:\u001b[36m790\u001b[0m - \u001b[1mImporting LayerViews from YAML file: '/home/parkeraa/miniconda3/envs/mp/lib/python3.11/site-packages/ubcpdk/layers.yaml'.\u001b[0m\n", + "\u001b[32m2024-02-02 10:32:24.572\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mubcpdk\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m30\u001b[0m - \u001b[1mFound UBCpdk '2.3.4' installed at PosixPath('/home/parkeraa/miniconda3/envs/mp/lib/python3.11/site-packages/ubcpdk')\u001b[0m\n", + "\u001b[32m2024-02-02 10:32:24.676\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mgdsfactory.technology.layer_views\u001b[0m:\u001b[36m__init__\u001b[0m:\u001b[36m790\u001b[0m - \u001b[1mImporting LayerViews from YAML file: '/home/parkeraa/miniconda3/envs/mp/lib/python3.11/site-packages/gdsfactory/generic_tech/layer_views.yaml'.\u001b[0m\n", + "\u001b[32m2024-02-02 10:32:24.684\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mgdsfactory.pdk\u001b[0m:\u001b[36mactivate\u001b[0m:\u001b[36m307\u001b[0m - \u001b[1m'ubcpdk' PDK is now active\u001b[0m\n" + ] + } + ], + "source": [ + "import gdsfactory as gf\n", + "import ubcpdk\n", + "import ubcpdk.components as uc\n", + "\n", + "gf.CONF.display_type = \"klayout\"" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "mzi = uc.mzi(delta_length=80, length_x=1, length_y=20)\n", + "TE_MZI = uc.add_fiber_array(component=mzi, component_name='MyCoolMZI1')\n", + "TE_MZI.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "50cfbbf14f3e430b91b5d2b7533e0146", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure 1\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "1204ed654c1a4cedaf7ce90cca0cb96d", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAAxOAAAMTgF/d4wjAABB8ElEQVR4nO3dzXHjWrIu0NSJdqNG1xGWIRrJkMc2RCMacuhIj2SI3qCKKgpFkCAIYOMD14pQVF+JP/kR0LlIbSTwUlWfBQAAsIB/WhcAAAA8j1kakP1+P8fLLio9g/rbS8+QXn9Vfob0+qvyM6i/vfQM6fVX5WdIr78qP0O3/pdyChYAALAQp2ABAACL0YAAAACLMQPSIz2D+ttLz5Bef1V+hvT6q/IzqL+99Azp9VflZ0ivvyo/gxkQAACgGadgAQAAi9GAAAAAi9GAAAAAizGE3iM9g/rbS8+QXn9Vfob0+qvyM6i/vfQM6fVX5WdIr78qP4MhdAAAoJn/tC4AgHl8vr9f/fnPw6H+fX1dqBq4beg++fL2tkA1wFw0IAAbcavhgHQvb2/1+f7+176uIYEsTsECCHer8XBwxhYMabDt65DBEHqP9Azqby89Q3r9VfkZbtXf95fg7ldLW98Ga5def9WfDEP27Uu/E61taRukSq+/Kj+DIXSAcJcOsFo3GtCS3wnIogEBCOLcd+jn9wMyuBEhQAgHV3Bd93dibadjAb9YAQEIcX4wNXXz0T1Q+3k4VFW5TC+TGrJfTbVvz/n7AjzGEHqP9Azqby89Q3r9VfkZzuuf4mDqNKB76ev8dR2ssYTu/nb6t2//TJX+36Gq/Azp9VflZzCEDhDm0eZj7AHcz8OhjsfjqOdCn91uN3pl7d793yoIrJMGBGDlxh5E9TUeDsRIMcU+rAmB9XEndIAVG3Pw5JKkbMX5fnu+X3++v9unIZirYAFsSN+NCSFdd18eOh9i/4f1MYTeIz2D+ttLz5Bef1V+hvP6hxxErfEyvVvaBonS66+6MLz6wKV2Wwy0b3EbpEmvvyo/gyF0gBD3nH61xuYD5nTvPt+92hvQjhkQgI2Z4gDr1l+Kfx4O7hHCRUP3jUf305e3t/hL9MKz0oAArNw9qx+P3CMElnBqHKZYtTtvQgymQw6nYAGs1JBTRua+R4gDOqY019D4kN8Dl+OF9fgaQr803NL93pDHTP29Fu+5ljqe5T3XUofs23/PtdQx9HmXPPK48+/1/QX6vx8fX1cbOh2kPcvnvcU61vae5/vWaV/r6u6bY39fpvpdued79rXtv+da6kjPbgUEYKVurYC4Rwhb8ui+OcfvCzCPf1oXAMAy3COENbu0P46ZTZri7unAvDQgAOFa3iPkdLrM+ddut5vktXlOY5sQDQbkmOUqWPv9fvC5l2uVnkH97aVnSK+/ahsZ5nDvgdqQQfXTFYjOr0jEdt261O4Ul9itqk1c4WoL/x1Kz5Bef1V+hm79ZkAAVuraOe1jb1I45pz6e7lHyPadtnG3+bx2b465rm516fG35kBSmxnYCvcBAdiwqQbV73l+VdXL8Tj4seQ5nWbXXfG61rSOOfgfe5+P5BUTeAYaEICV+nk43HzMlAdZrpDFUMfjcXCT2d2v7m1EprzZ4JDfKWB+GhCAlTqdxjR2NWHsaVpDHg9Dne9L5/vZHKsU104Bq3r8dwqYxixXwUoekjlJz6D+9tIzpNdftY0MS5iz+UjfBuqfVvdSu5duiNm13++jG+K1bYMx0jOk11+Vn8GNCAFCDBlCv3Zgds9jTpIP9Mhy7743dEXv0d8bYH5OwQLYoDFXsJrioOzW+7pCVo6h22rsftM9XerWKVm3Tq8CcmhAAJ7U2Mvz9r0Gz+XUEDyyiqapgOekAQHYsFv3Q7j2mGuG3Jyw92cGgGP0batrsxstr3IFZDCE3iM9g/rbS8+QXn/VNjL0+Xk4NLmkaN9fvLtfJ+nbQP2XXdvmJ0MGzM9f7/x55y5luPa6rX43+qTvQ1X5GdLrr8rPYAgdIMQjw7RT3UX90nPufS7PZey+MmS/vOcxhtBhvWZZAQFgO/pWPOCSS/vHkJUQ+xQ8Dw0IwJO696/SQ58DVX/vK/cMm/c91v4H22AIHYBBpj746x5kns7bd5neZQz5vB/d5qfnDx0yd1UseA6G0HukZ1B/e+kZ0uuv2kaGqY39K/Qjl+nt+zp/XX/Zbqu7Hc4bh0vbbUnpv8fp9VflZ0ivvyo/gyF0gBBzDKHfezfpW48b8vx7/Dwc6ugyvYvZ7XajV5zu3S+muJP5oz83hA7r4BQsgI3Z7XY372I91wGYc/ezHI/Hwfdl6W7bue/30feYNV1iFxhHAwKwMf++vj50LwSX6eWSvnt1uHkgcC9XwQLYoH9fXxc7lcllep9PdxsPnQ8Zsl/cesy/r68uVADhDKH3SM+g/vbSM6TXX7WNDC1NcZne9G2g/uvmuNRul23QXnqG9Pqr8jMYQgcIMXaYdorh9WuPufTYIY9nu+7dF+YcJDeEDutnBgSAh01xQHfrL+K3Buv529DPbIr7fbh/BzCUBgSAv9yz+vHIPUJo69Q4TLGade9VroDnpQEBeCJTXMJ07nuEXL1TtnuE3K3vM7s2OD72VCWX2gWGMITeIz2D+ttLz5Bef9U2MkztdGWs3W63yPudb4O+v7R3v9YkfR+6Vv+Qz77V3c/PbXkbpEjPkF5/VX4GQ+gAIeYeNJ97SP3Sc+59Lm08us0e3Y8MocO2uQ8IALNxj5BMl7bTmJWQvufYB+C5aUAAuNsU9wgZ63Ra0PnXUqeUPZuxTYgGA7hmliH0/X6/iXPVkjOov730DOn1V20jw1bce0A6ZFD9NMB8PvT8jG5daneKS+xW1bfPeckGI/33OL3+qvwM6fVX5Wfo1j9bA5IuPYP620vPkF5/1TYyrMnYu1yPmR0Y+rhnbTou6TZlfZfYPT02RfrvcXr9VfkZ0uuvys/Qrd9leAGY1FSD6vc8v+p5L9F7Ov2s25Rda87GDGOPvc+He4IAXRoQAL4Muf/ClAeT6X+dX4Pj8Ti4+ep+3vc2IlPebNC9PuB5aUAA+HKaJRi7mnDP6sdcQ+r0O/+Mzz//OVYpzpuVSx7d14BcbkTYIz2D+ttLz5Bef9U2MqTr2wYpzUf6PjTkRoQnQ286uPS22vI2SJGeIb3+qvwMbkQIEGJtNyIccrrOPY85WWvz8Uzu3SZDV7rm2NfciBDyOQULgEmMuSLVFAeCt9731mVqEwzNMPbz7J4udeuUrFunVwFcowEBYDFjL8/b9xr80nfJ3bFXuQKYkwYEgEndOjXm2mOuGXJzwt6fbWDQuS/DtdmNlle5AuhjCL1Hegb1t5eeIb3+qm1kWJOfh8Pdl06dYhv0/WW/+zWHhH1oyGcxdMD89Hrnz7vl2mPG7DNdCdvgmvT6q/IzpNdflZ/BEDpAiLUN6U7xuteef+059z6XX8Z+hkO21z2PMYQOnJtlBQQAHtG34sF9Ln1ua7zULvBcNCAALObev74PfQ7XjWlCbj3WdgHGMoQOwGpNfZDbPZg+zSe0vkzvkDoe/SxOzx86ZO6qWMBcvlZALg23dL835DFTf6/Fe66ljmd5z7XUIfv233MtdQx93iVTPnep9zw/iL31WtfmCobWcRq4vvR1/rpr/Qv+fz8+qurvOvvynJt7Gw95va3u32v978la6niW91xLHenZDaEDrNTahnTHvu69d82+9bghz7/Hz8Ohjiu4TO9utxu9EnPv5zXFncwf/fna9m9gOU7BAuBhu93u5t265zro28qMwvF4rKH3K+lmnvt+H32PefQSu8Bz0oAA8LB/X18fuueDy/Tep+9eHW4eCCT4p3UBAGzDv6+vi53K5DK9f3SzD73p4JDP69Zj/n19bT7AD+SZpQEZOvi1ZukZ1N9eeob0+qu2kSHdvdtgbZfpTdqHLs3eDK1/zVe7StoGl6TXX5WfIb3+qvwM3fo1ID3SM6i/vfQM6fVXbSNDuiHb4JF7Usy96pG2D3U/j//348ddj1+jtG3QlV5/VX6G9Pqr8jMs0oAAwNwSDp5b8LkAa6cBAWAVhlyJaehjn13fkDrAGmhAAJjVI1fHOtF83O/eJqTvMVNsP4BzZkB6pGdQf3vpGdLrr9pGhnT7/f7ryli73a5pLWPYh9pL3wbp9VflZ0ivvyo/Q7f+We4Dkv4hVeVnUH976RnS66/aRoZ0p21wulTr0BvtnWu5+pG+D53fcHCsR7bdFNK3QXr9VfkZ0uuvys9gCB0AntBW7hgP5NOAABDBgfI4PjdgbTQgAADAYgyh90jPoP720jOk11+1jQzpHt0GrS8hm74PpddflZ8hvf6q/Azp9VflZ3An9IHSM6i/vfQM6fVXbSNDuvRtsLX6Wzd0Y2xtGyRKz5Bef1V+hkWuggUAQw25x4Q5hnm5zwewJA0IAE21vszrM7h1OV7bAFiSU7B6pGdQf3vpGdLrr9pGhnTp20D97aVnSK+/Kj9Dev1V+RnMgAyUnkH97aVnSK+/ahsZ0qVvA/W3l54hvf6q/Azp9VflZ3AjQgAAoBkNCAAAsBgNCAAAsBgzID3SM6i/vfQM6fVXbSNDuke3wc/DoeklYtP3ofP6W3+WY21pG6RKz5Bef1V+hkXuA5L+IVXlZ1B/e+kZ0uuv2kaGdI9ug9aXh03fh87rb/1ZjrWlbZAqPUN6/VX5GQyhAwAAzWhAAACAxWhAAACAxRhC75GeQf3tpWdIr79qGxnSpW8D9beXniG9/qr8DOn1V+VncCf0gdIzqL+99Azp9VdtI0O69G2g/vbSM6TXX5WfIb3+qvwMhtABAIBmNCAAAMBiNCAAAMBizID0SM+g/vbSM6TXX7WNDOnSt4H620vPkF5/VX6G9Pqr8jMYQh8oPYP620vPkF5/1TYypEvfBupvLz1Dev1V+RnS66/Kz2AIHQAAaEYDAgAALEYDAgAALMYMSI/0DOpvLz1Dev1V28iQLn0bqL+99Azp9VflZ0ivvyo/gyH0gdIzqL+99Azp9VdtI0O69G2g/vbSM6TXX5WfIb3+qvwMhtABAIBmNCAAAMBiNCAAAMBizID0SM+g/vbSM6TXX7WNDOnSt4H620vPkF5/VX6G9Pqr8jMYQh8oPYP620vPkF5/1TYypEvfBupvLz1Dev1V+RnS66/Kz2AIHQAAaEYDAgAALOarAbm0tNP93pDHTP29Fu+5ljqe5T3XUofs23/PtdQx9HmXTPncLbznWrfxWuposa9tdf9e6zZeSx3P8p5rqSM9+0tVff71KACa+3x/r6qql7e3yX421+u2eE/us5XtPtd7Asv5p3UBAADA89CAAAAAi9GAAAAAi5mlARk6+LVm6RnU3156hvT6q7aRIV36NlB/e+kZ0uuvys+QXn9VfoZu/RqQHukZ1N9eeob0+qu2kSFd+jZQf3vpGdLrr8rPkF5/VX6GRRoQAACASzQgAADAYjQgAADAYsyA9EjPoP720jOk11+1jQzp0reB+ttLz5Bef1V+hvT6q/IzGEIfKD2D+ttLz5Bef9U2MqRL3wbqby89Q3r9VfkZ0uuvys9gCB0AAGhGAwIAACxGAwIAACzGDEiP9Azqby89Q3r9VdvIkC59G6i/vfQM6fVX5WdIr78qP4Mh9IHSM6i/vfQM6fVXbSNDuvRtoP720jOk11+VnyG9/qr8DIbQAQCAZjQgAADAYjQgAADAYsyA9EjPoP720jOk11+1jQzp0reB+ttLz5Bef1V+hvT6q/IzGEIfKD2D+ttLz5Bef9U2MqRL3wbqby89Q3r9VfkZ0uuvys9gCB0AAGhGAwIAACxGAwIAACzGDEiP9Azqby89Q3r9VdvIkC59G6i/vfQM6fVX5WdIr78qP4Mh9IHSM6i/vfQM6fVXbSNDuvRtoP720jOk11+VnyG9/qr8DIbQAQCAZjQgAADAYpyC1SM9g/rbS8+QXn/VNjKkS98G6m8vPUN6/VX5GdLrr8rPYAZkoPQM6m8vPUN6/VXbyJAufRuov730DOn1V+VnSK+/Kj+DGRAAAKAZDQgAALAYDQgAALAYMyA90jOov730DOn1V20jQ7r0baD+9tIzpNdflZ8hvf6q/AyG0AdKz6D+9tIzpNdftY0M6dK3gfrbS8+QXn9Vfob0+qvyMxhCBwAAmtGAAAAAi9GAAAAAizED0iM9g/rbS8+QXn/VNjKkS98G6m8vPUN6/VX5GdLrr8rPYAh9oPQM6m8vPUN6/VXbyJAufRuov730DOn1V+VnSK+/Kj+DIXQAAKAZDQgAALAYDQgAALAYMyA90jOov730DOn1V20jQ7r0baD+9tIzpNdflZ8hvf6q/AyG0AdKz6D+9tIzpNdftY0M6dK3gfrbS8+QXn9Vfob0+qvyMxhCBwAAmtGAAAAAi9GAAAAAi/lqQC6dW9b93pDHTP29Fu+5ljqe5T3XUofs23/PtdQx9HmXTPncLbznWrfxWuposa9tdf9e6zZeSx3P8p5rqSM9+0tVff71KACa+3x/r6qql7e3yX421+u2eE/us5XtPtd7Asv5p3UBAADA89CAAAAAi9GAAAAAi5mlARk6+LVm6RnU3156hvT6q7aRIV36NlB/e+kZ0uuvys+QXn9VfoZu/RqQHukZ1N9eeob0+qu2kSFd+jZQf3vpGdLrr8rPkF5/VX6GRRoQAACASzQgAADAYjQgAADAYsyA9EjPoP720jOk11+1jQzp0reB+ttLz5Bef1V+hvT6q/IzGEIfKD2D+ttLz5Bef9U2MqRL3wbqby89Q3r9VfkZ0uuvys9gCB0AAGhGAwIAACzGKVg90jOov730DOn1V20jQ7r0baD+9tIzpNdflZ8hvf6q/AxmQAZKz6D+9tIzpNdftY0M6dK3gfrbS8+QXn9Vfob0+qvyM5gBAQAAmtGAAAAAi9GAAAAAizED0iM9g/rbS8+QXn/VNjKkS98G6m8vPUN6/VX5GdLrr8rPYAh9oPQM6m8vPUN6/VXbyJAufRuov730DOn1V+VnSK+/Kj+DIXQAAKAZDQgAALAYDQgAALAYMyA90jOov730DOn1V20jQ7r0baD+9tIzpNdflZ8hvf6q/AyG0AdKz6D+9tIzpNdftY0M6dK3gfrbS8+QXn9Vfob0+qvyMxhCBwAAmtGAAAAAi9GAAAAAizED0iM9g/rbS8+QXn/VNjKkS98G6m8vPUN6/VX5GdLrr8rPYAh9oPQM6m8vPUN6/VXbyJAufRuov730DOn1V+VnSK+/Kj9Dt/7/tCkDANr7fH+/+vOfh0P9+/o6yXsNfa2Xt7dJ3g9grTQgADyNbsPx8vZ2swlZ2qUaAbZEAwLA5vU1GafvXzvIfzkeJ6uj77WuNUFDagRIYgakR3oG9beXniG9/qptZEjXeht8vr9fXFHofvVZqv4hNV3Kckvrz38K6RnS66/Kz5Bef1V+hkVmQNI/pKr8DOpvLz1Dev1V28iQrtU2uHSgPmYFoeU+dKq3m+Xz/X1wli38DqRnSK+/Kj9Dev1V+RncCR2ATetb8Uh1qf61za0A3EMDAsBmbHmAWxMCbIUGBIBN2lLzcdJdDdGEAIkMofdIz6D+9tIzpNdftY0M6ZbcBucH41M1H+n7UHr9VfkZ0uuvys+QXn9VfgZ3Qh8oPYP620vPkF5/1TYypFtqG8zRfFStdx8augqy1vrvkZ4hvf6q/Azp9VflZzCEDgAb4FQsIJUGBIBoc61+ADAPp2D1SM+g/vbSM6TXX7WNDOnSt8Ha67/VcK29/iHSM6TXX5WfIb3+qvwMZkAGSs+g/vbSM6TXX7WNDOmW3AZzrH6k7EMvb28XT8NKqf+a9Azp9VflZ0ivvyo/gxkQADbD7EN/8wGwVhoQAABgMRoQAOIZPgfI8dWAXDq3rPu9IY+Z+nst3nMtdTzLe66lDtm3/55rqWPo8y6Z8rnP/J5r3u6PfK97KlaLfW2r+/datvFa63iW91xLHenZX6rq869HAW3t9r/+Pe5bVkFjp4PJS3/dH/uzuV63xXsO+fmz+Hx//5oF2fp2n+s9geX8p3UBwGWfrz/qpfZ/vqEZAa4wiA6k0IDAin2+/vjzf7y/18vbx6//rRkBzrgSFpDkn9YFAB27/eUG4/irIfl8/VGf/3v/9bjdhccBAKzYLA3I0MGvNUvPoP72Zs1w/NOMfDUiEzcktgFTSN8G6m8vPUN6/VX5GdLrr8rP0K1/llOw0j+kqvwM6m/vkQz3nErx7TStqsnmRp59GzCN9G2g/vbSM6TXX5WfIb3+qvwMizQgQDvnDYkhdgBgbTQgsCan+Y/XaYZJNSNs2W63q5+HQ+syVsNnAaTQgMCT0IywNf++vlaVezqcfH0ex2PbQgBuMITeIz2D+ttbc4avq2l1h9jPrLn+obaQIV36NlB/e+kZ0uuvys+QXn9VfgZD6AOlZ1B/e2MzLH0t/76VkWfeBkwnfRuov730DOn1V+VnSK+/Kj+DIXSgl9O0AIC5aUBgLSYeQH+UZgQAmIMGBLhJMwIATMUQeo/0DOpvbwsZTk5XGXp5exs0wL4WW9oGqdK3gfrbS8+QXn9Vfob0+qvyMxhCHyg9g/rbW3uGl8NH78++rXi8vdXn+3vvv1/e3+vl7fdrrmRlZO3b4BmkbwP1t5eeIb3+qvwM6fVX5Wfo1j/LCgiwXi+Hj6vNR/cx15qP85WROp5d3vd/76teGQEA2jEDAisy5yV4LzUdn68/6uXw8X3F4+xxQ5uQS/9+veYKV0YAgHasgMAT6DYfXzMc9acJufSz8+ff24RUWRkBAP5mCL1Hegb1t7eWDLeai9P3rzUpp9cZsxJyrRmZuyFZyzZ4ZnNug5+HQ/08HGq32832Hun7UHr9VfkZ0uuvys+QXn9VfoZFZkDSP6Sq/Azqb28NGbrNx63B8+7PT1e9On+9sU3IpWbk5f/eZl0dWcM2eHZzboPj8Vj/vr7Wv6+vs71H+j6UXn9Vfob0+qvyM6TXX5WfwRA6PKG+060uPe5b03JqHu64KtbopmTmZgQAWAcNCGxUX6NxTxPSbRKqqmq3n6UJ0YwAwHPQgMDGDZ35uPTzb/f7OLuC1VzNh2YEALbPDEiP9Azqb2/tGUY1Ib8t0XwMaUa+GpKq73dl//21P+5Xf7f2rVv778Et6m8vPUN6/VX5GdLrr8rPYAh9oPQM6m9vLRnuHTy/9PPuaVhLNx99zcjXVbX+9167Ov5pTn5//b///b6S12n1ptukMLu1/B6Mpf720jOk11+VnyG9/qr8DIbQ4cmMufrVyWkA/dSEfPt+4ybkr2bkd12X/j3dGPH8q6yOAEATGhB4AmObkPOrYF28OtYK/q2qX6di1Z87yXf/vZj5rCmpKk0IACzEKVg90jOov721ZRh9H5CFLsV7V9Ox+9V0vBw+fn3931sda/fn//799d//+/jre9+u6HWW/fP1h9WQGazt9+Be6m8vPUN6/VX5GdLrr8rP0K3/P0u8SaL0DOpvb40Zvk6nunBlrEs//+t0p98H502bjrePqrf938Uf//7efnch5G7/1Wh9vv+oOv6dv3b7i6/H/Zb6PejOKU1ljb/H90ivvyo/Q3r9VfkZ0uuvys9gBgSe3Nj7gLSYAfm20vF/b78Hz/ePfQDH/dfXy9vH74bje/7P9x9WQkLM0XQAMC8NCGzcxdmOEZfgnXsG5PS6szQdfbqNyNf3SxMCADPRgMBGfZvZeLQJOW8+Xn/M0nScz3PM2nRc8vu9uk1IVWlCgly76AAA62EIvUd6BvW3l5Dh4cH0CZuOr1OjJnTXNrjQhPTNyjDcEr8Hc56GlfB7fE16/VX5GdLrr8rPkF5/VX4GNyIcKD2D+ttbQ4ZbqyCnx1xrQr457lffdJy7exv0NSFWQUZb+vdg6lWQNfwePyK9/qr8DOn1V+VnSK+/Kj+DIXR4Mt0mZOjpWH899s7mo6pN0/Gwvto0Iat2vgriVCyAddOAwIrMdSpJ91SiS43IqQm52KQMbD6qQpuOruPeqVjhNCEA6zXLfUCAEY77Wf/KfjqIPj+wvnXq1ZCB86r6a1D94n06Al27Zwrr071cNADrZAakR3oG9be31gxfd/0e+JhbTcfXisnZ/TXW4qFt0M0xc4O4VUv/HnRPxXq0IVnr7/FQ6fVX5WdIr78qP0N6/VX5GdwJfaD0DOpvb+0Z7vnLfu9Kx4qajUum3AZ/ZWeQFr8H3ZWQR+6Svvbf41vS66/Kz5Bef1V+hvT6q/IzLNKAANuS1HRMzWlYmS41IafvA9CWBgS46Jmbji9Ou4p2ajYuNSLnPwdgWRoQWJPjvur9/c9duBem6Rhgt/fZhLnUiFz6vy/5eTjUv6+vg9/r1uM1PQCG0HulZ1B/e2MzvLwtOGewq95B8mfeBr00Hndb03708vb29TXmuUP+vfX402D8+dec1vT5j5WeIb3+qvwM6fVX5WcwhD5Qegb1t7faDLuzJufK5XJXW/8dps5gEP1+a92PhjYhu92uqr5fiOHavye3fn7psXOsjqz1879Heob0+qvyM6TXX5WfwRA6PKEt3qNjae4x8ZyOx2O9HI93PWfo4/uaFqdpAVunAYGt2p2tdDh16GGaD6bWvWfJ+f/WhABbpgGBtXlkEH037PQq7mcFhDl1B+WthgBb9jWEfuncsu73hjxm6u+1eM+11PEs77mWOtaU/Z5B9PMh8v+eD5Lf+Z5jan3ke2v6vIc871LzMfd7XjLlc7fwnlvb17oNx2m/G7sNWuxrW92/t7avec/sOtKzv1TV51+PAtra7a/e/M7lchf0e1ucVkC+rha2gGt/BR/7s7let8V7blm34R2S/1m2+1zvCSzHKVgQQtPRzs/DoXa7Xf08HKpq17ocnoBT/oAt04DASr28vX2/C7emo5l/X1+/r4DAAs6bEIPpwJb807oAoMdu/+3GgLTlr9G00HelLIBkszQgQwe/1iw9g/rbeyjDCpqOp98GHf76PE76fqT+9tIzpNdflZ8hvf6q/Azd+jUgPdIzqL+99Azp9VdNm8Ffn8dJ34/WUP8jze8a6n9Ueob0+qvyM6TXX5WfYZEGBGBrrICwBhphYAs0IAADOPCjJQ0wsCVOweqRnkH97aVnSK+/ygzIGqTvR+pvLz1Dev1V+RnS66/Kz2AGZKD0DOpvLz1Dev1VZkDWIH0/Un976RnS66/Kz5Bef1V+BjMgACNYAWEtNMNAOg0IwAAO+gBgGhoQgAGsgNCafRDYCjMgPdIzqL+99Azp9VeZAVmD9P1I/e2lZ0ivvyo/Q3r9VfkZDKEPlJ5B/e2lZ0ivv8pVsNYgfT9Sf3vpGdLrr8rPkF5/VX4GQ+gAI1gBAYBpaEAABrACAgDT0IAADGAFBACmYQakR3oG9beXniG9/iozIGuQvh+trf6fh0P9PBwGP35t9Y+RniG9/qr8DOn1V+VnMIQ+UHoG9beXniG9/ipXwVqD9P1I/e2lZ0ivvyo/Q3r9VfkZDKEDjGAFhDX49/W1/n19bV0GwEM0IAADWAEBgGloQAAGsAICANMwA9IjPYP620vPkF5/lRmQNUjfj9TfXnqG9Pqr8jOk11+Vn8EQ+kDpGdTfXnqG9PqrXAVrDdL3I/W3l54hvf6q/Azp9VflZzCEDjCCFRAAmIYGBGAAKyAAMA0NCMAAVkAAYBpmQHqkZ1B/e+kZ0uuvMgOyBun7kfrbS8+QXn9Vfob0+qvyMxhCHyg9g/rbS8+QXn+Vq2CtQfp+pP720jOk11+VnyG9/qr8DN36/9OmDIAsL29vmpAGfh4OrUtYFZ8HsAUaEIABNB9t/Pv6WlVVL8dj20IAmIwhdIABzICwBv++vn41ZQCpzID0SM+g/vbSM6TXX2UGZA3S9yP1t5eeIb3+qvwM6fVX5WcwhD5Qegb1t5eeIb3+KlfBWoP0/Uj97aVnSK+/Kj9Dev1V+RncCR1gBCsgADANDQjAAFZAAGAaTsHqkZ5B/e2lZ0ivv8oMyBoM2QY/D4fVXl52Tb8Ht/bBS5/jmuofKz1Dev1V+RnS66/Kz2AGZKD0DOpvLz1Dev1VZkDWIH0/Wlv91/bDS1fIWlv9Y6RnSK+/Kj9Dev1V+RnMgACMYAVkPrcuLesmkH98vr9rhoF4GhCAARz0taH5ANgeDQjAAA6CAWAaZkB6pGdQf3vpGdLrrzIDsgbp+9Fa6h/bAK+l/kekZ0ivvyo/Q3r9VfkZDKEPlJ5B/e2lZ0ivv8pVsNYgfRuk/B70fTYp9V+TniG9/qr8DOn1V+VnMIQOMIIVkHae/bM/by4e+SzWfLlj4Ln8p3UBAAmsgIy32+0mOfA9DaQ/e0MCkM4KCMAADnrHO11m93g8jn6N86thPVMzeO/qx733CQFo4asBuXRuWfd7Qx4z9fdavOda6niW91xLHbJv/z0fqePSQe/c73nJlM9Ne8+hj0vf11pkH/v6Uz5v6udO/Z7Psq95z4w60rO/VNXnX48C4Jfdvj5ff/w5/efwUXXcL/LWp6bn0l+1x/5srtedop5rjxnz2HRjPpdrj2u5bRPeE1jOP60LAEjwTKf9LO2eg8Hzx255m4xtygASaEAABvAX0/XoNiFbOgDv5hnbnAGsmQYEYIAtHeSu2dDPuXuwvYXt080wpKHYQm7g+czSgAwd/Fqz9Azqby89Q3r9VdNm8Nfl6073mNjtdt++P3QbjPl8z59zmtGZekVk7t+Dvpqn2t9O9d/6TNZ8j5D0/xal11+VnyG9/qr8DIbQAe7xewj9xBD6/a87dPD3kQHzWwfYa2kgp6zz3jmRa/dRSdrXDKFDPjciBLjh+1+Gd63KiDbkJoLde32MmX+4tJJwa1Xk5+Ew2f0xxr7WIw3X0Oe6iSOwFhoQgBvODyhfDh8NK8l03ljcY8wBc8psyCONwFozAQylAQEYYOxBNPeZ+nMeeqD/8sBd2ud8ra65ZkUAlmQIvUd6BvW3l54hvf6qaTNoPsYZsw3WdJndNf0ejGk+9vt9/L67pm0wRnr9VfkZ0uuvys/QrV8D0iM9g/rbS8+QXn+Vq2CtQXcbpF1mdw2/B49cJWtI/WtvUNawDR6RXn9Vfob0+qvyM3TrdwoWwABrP0hbwiOXaR1zalX3Oc92BaO+z2uuK2X1WevleYFcGhCAAcyATGPI1bC6j6+qi43I+c/TDdm3WmU9XYRhztkW4LloQAAG0Hw8fiA6x2V2h2yXKS+z+4hbdfQ1uWMbj3sbta00c8D6mQHpkZ5B/e2lZ0ivv2r6DA7Qhjk/8J1jG5y+tubUlHW/nl36f4vS66/Kz5Bef1V+hkVmQNI/pKr8DOpvLz1Dev1VM2TYTfx6G3PpL/jdbfDIKsil9xv82JWcPrRUHVs6TS39v0Xp9VflZ0ivvyo/wyJXwQLYrOO+dQXxupfZZVr3NB8+f6AFDQhAn91ewzHSrQPbNd3rYyu6n+OYGRuAJWhAAK5wYHyfRw56fdbjjblPyJDP+9Zjfh4OLtML3M0Qeo/0DOpvLz1Dev1VE9+I8PAx2Wut2ZQHlJ/v7ze3wfmB8mk+ZE0rImv+Pej7rM4/0ynqb706suZtMER6/VX5GdLrr8rP8Nc8YFV9NqkEYM12+/p8/fH1f74cPhY/HevajffG/uzR1x16H48xpwLdc9pW1263W8Wldh/x83Co45Uh9Uc+n2uvde15j+xLt36+tv0bWI77gAB0udrVRWNvxjj0ald99/o4Xxnps5XTgMZ8vvceTG/pCllAJg0IwAWtVz/SPXLn+LGzIekH07vdbtDjHsm5llPbgOdmBqRHegb1t5eeIb3+qpEZOqsfzzL7MYeprnR16eZ83a9rpy49Ysnfg+PxOCjrPc7rv3dQfS3NSvp/i9Lrr8rPkF5/VX4GMyAAfX43H2tZ/VjjOfJTzHakr1QkevQqWdf2lWuvZwYEuMRleAGq+psPvhlz4HbplKq1/HV9625dJeva8+55PMA9zIAAz+1C41F11nxsbPZjt9tNMrA99GpY54+v+n5g6yB3Pn0N3tKf81YuDgBMSwMCPKezWY9naT6q6utStY8ciJ4PmN/ThJy/b/cAeciKyK3L1D6rIZ/dHJfoHfKYr/3NdgPOzNKA7Pf7TQzLJGdQf3vpGdLrr+pkuHBp3W7jUbXt5qOFvv2oO6A+1LOeuvXzcLh6n5O+q4799+NjW7/HgdLrr8rPkF5/VX6Gbv2G0IF1m+qeHMf91YPXNTYeLQd4rz1mzGOnsIWbDY51qwGpmmYbjNn+Y29kaAgdnpdTsID16TQdl1Yqum4eoL32nBN/Pmi+ouajlXvu3/HIqVhjHI/Hpz6VZ+7sY5tPgHtpQIB1uDKTMbW/rm6l8Rit24ScvkeORy6TbFsDY2hAgPZ6rkR1ydcBz1+nZu3uu2yupuOmoasa3VWTJVZDmMajl+gFGMOd0HukZ1B/e+kZFql/t6/a7evz9UfvQHj36/ScqvrVRFz52u+uPGbDfh4O9fNwqN1uN+r5j97r49SQbOF+H1v8Pe7bNlM3jbe2/Wk/vWWL2yBNeob0+qvyM7gTOrAOt+6/cbLxZuGaOQZxh54m9ciA+a0DT6sjy5pye9w7J3LtfjGG0OF5OQULWN6T3fxvbYbcRHCOe32cr4z0GXK1J74b+5k90lgOfa7T8YBLNCDAsi40HxqP5dxzlatzYw4k+1ZfaOORRsC2A6akAQEW923lY1dVh9J8rNDYZuXa6w163BNfanesOT+zuWdFgOdjCL1Hegb1t5eeYZb6fw+cn7wcPurl7WO25iN9G6xB947l9zYk6dvg2esf23xM2bg++zZYg/QM6fVX5WcwhA600XfqlZWPXnMP4l57/rXn3PM8Ml1qIKYcVh/6c0PosE1OwQIWo/mYzpDLl/YZc2rVpXt9nL7PdvTtF3NdKavPI/s3sH4aEGBxL29vF24kyNKGXA2r+/iqutiInP+cDEOa0Fbb9HRVL/NAsE0aEGB+ndmP2u2tfjzo0QO0OS6zO+SA1mV2l3Xr8+5bDRvbeNzbkGpa4TkZQu+RnkH97aVnSK+/ahsZHjXn5VNf3t6+vsh0aj67X2uS/nucXn9Vfob0+qvyMxhCB5Z3tgLinh/DPTpMe89jbj0Obrn3LunXHmcIHbZtlhUQgC+XZj00H6vRvcwujDGm+QCelwYEmN23+Q8Wd+uA79F7ffC8uvvLmFki4PloQAA26pGDQU0It4y5N8yQ/erWY34eDi7TC+G+GpBLwy3d7w15zNTfa/Gea6njWd5zLXXIPu97zv36a84+9j0vHWiNfc/P9/ebdZwfQJ6ujtS3IrLFz3uLdUz9+n37xPm+M8V73nq9S4ZkH/K8R75nX9v+e66ljvTshtCBee3OBtBP9/847puWlOLWMO3Q+3hMcefzrmuvs9vtXGo3xM/DoY5XLuX8yH5w7bUeuXiCIXTI5z4gAIHG3M28avg9P/ru9XG+MtLH6TFZxuxH9x7Au9oacE4DAixnt29dwVMa26ycnntu6Os4yMyw2+0GPe6R7WmeCOj6Z44XHXre5ZqlZ1B/e+kZZqt/wdOv0rfBlKa60tWlm9Z1v85P6UnfBluv/3g8DtqmY907qD503ihJev1V+RnS66/Kz2AGBFjW+QzI4cP8xx2Gnut+7THXnnPP8+Bej14l69oMx7XXMwMC6zfLCggA8xtzEHXplCqnyDClW1fJuva8ex4P5DIDAszuz1DyrmUZmzX0aljnj6/6fsDn4I9H9TWyS+9PLoIA66cBAWZ3uiTry+GjcSXbcz5gfk8Tcnru6XnnhqyI3Lp8K9s2ZB+Z4xK9Qx7z9d8b+yes1iwNyH6/38SwTHIG9beXniG9/qptZFhCd0B9KKdubdvPw+Hq/Vz6rq429YpH+u9xev1V+RnS66/Kz9Ct3xA6MC9D6KPd81fhpU+hcrPB7bvVgFRNs6+N2c/H3sjQEDqsg1OwgGW5E/pg99y/45FTscY4Ho9OcXkCc2/jsU02kM1VsIDlaDxmNdW9PmBu3f1zzOwSkEsDAhBg7B3INSGszaOX6AXyuRN6j/QM6m8vPcMc9S99ELGFbfDovT5Op2a1WhHZwjZItpb6+/bBIfv3PRlu7eM/D4fFL9O7lm3wiPQM6fVX5WdwJ3RgWWdD6FUG0cd4ZMD81gGZ01mYw5T73b1zItfui2MIHdbBEDowu3uGqfnbHPf6OF8Z6TPkKkg8p7H7xiMN9NDnLnERBuAxGhBgfrt96wo2ZcwBltkQWnikEbCPwnZpQIB5Hfd/NyAuxXu3qVeRhh4YutQufebcN8bMigA5DKH3SM+g/vbSM8xV//k8yNy2tg0SL7O7tW2QJrH+7n7934+PUc9bi8Rt0JWeIb3+qvwMhtCB5f1eAXFH9Gn46zBbdKmBmHJY/ZGLOQDTch8QYH6dZuPz9Ye5kAdcmudY619/4Za+/XeuK2UB7ZkBAdoxCzLapatbOQhj7YY0yvZd2D6nYAHLuXRPkCpNyATGrIC4zC5zuLVf9V1QYWzjMbTxdg8QWA9D6D3SM6i/vfQMc9X/1XTU/APpz7QNXt7evr5gzU6Xke5+9Xmm3+O1Ss+QXn9VfgZD6EBbnVWQKkPpwDj33iV9yOOA+RlCB5Z13H9bBak6G0o3mA4MNKb5ANbBCgjQRt9KyIkVEeCCMZehtvoB66IBAdq50IRU1V8rJJoRoOqx5mPo44H5zdKA7Pf7TQzLJGdQf3vpGRarv3OTwq6/mpE77Pe/vlavp8FK34eq8jOov72+06eGNhOtG5AtbIP0DOn1V+Vn6NZvBQRo72z2Y+yVsVIvKZtaN4z183Co4/HY+/Nb8xpuUAj5DKED7R33X6sAL4ePm6sepwMJ//rXv3n/Vv25+/mlrz4vb/ddZlrzAetlBQRYn0tXwzrurx6cpK4kpNYNYw3d5x9pGsbMigDL0YAAGbZ8iV5D9jAZzQdk+Jz6a7/fT/6aS3+lZ1B/+6/0DOn1byFDev1byKD+9l/3ZPh8f//21br2Z9wGa/xKr38LGbr1WwEBAKJdOj3Tyges139aFwAAMMajl+gF2tCAAOu1pbkPcx7wkFuX563SeEAKNyLskZ5B/e2lZ2hWf6fpGHpfkDVfTWrNtcGa3PpdeXl7izvdKv3/F1TlZ0ivvyo/gxsRAuv04M0I13yQv+baYE2G/K6sudkAhtGAAG0NbDxe3t6yT8lyChYAVJUGBGjpd0NxqfG4eDd0B/EAEM8QOtBGT/PxrfHQcADA5vwzx4smD8mcpGdQf3vpGWat/0Lz8XL4+NN8HPeTNB+2QXvpGdTfXnqG9Pqr8jOk11+Vn6Fbv1OwgGX1NB9VZcUDAJ7ALCsgABdpPgDg6WlAgEVpPgDguWlAgGV0LqGr+QCA5/TVgFwabul+b8hjpv5ei/dcSx3P8p5rqUP2ud/z++rHfl9/NR/bzd7+PddSx7O851rqeJb3XEsdsm//PddSR3p2Q+jA/Hb7qvrTgFj9AIDn9U/rAoDn8NfNBjUfAPCUNCAAAMBiNCDAol4OH1Y/AOCJzdKAXBo+SZOeQf3tpWeYrP7dRK8zgm3QXnoG9beXniG9/qr8DOn1V+VnMIQOLGu3//veH1ZAAOBpOQULAABYjAYEWMzL21vrEgCAxjQgAADAYgyh90jPoP720jOk11+VnyG9/qr8DOpvLz1Dev1V+RnS66/Kz2AIHVjW2RC6AXQAwClYAADAYjQgAADAYjQgAADAYgyh90jPoP720jNMWf/Pw6F+Hg6Tvd5QtkF76RnU3156hvT6q/IzpNdflZ/BEDqwLEPoAMAZp2ABAACL0YAAAACLMQPSIz2D+ttLzzBb/buZXvcC26C99Azqby89Q3r9VfkZ0uuvys9gBgRY1vkMyNvbrwbEHAgAPC2nYAEAAIvRgACL+Xx/b10CANCYBgQAAFiMIfQe6RnU3156hinrf3l7m+y17mEbtJeeQf3tpWdIr78qP0N6/VX5GQyhA8tzM0IA4DenYAHLOu4XvRQvALAuGhBgUQbRAeC5aUCARbwcPr5/wyoIADwlQ+g90jOov730DJPW35n5OM2DzM02aC89g/rbS8+QXn9Vfob0+qvyMxhCB9r4fQf00ylYXysiBtIB4KloQIDlnF0Nq0oTAgDPyAwIsKjzWZCvZsQ8CAA8DQ0IsJzTSsfuz7c0IQDwXAyh90jPoP720jPMVv9xXy9vH4s0IbZBe+kZ1N9eeob0+qvyM6TXX5WfwRA6sA67fX2+/6g6fv+2uRAA2DYNCNDO7xWPS5fl/eu+IRoSANgEDQjQ1pUm5OSvZuQRGhkAaEoDAqzDgEbkmp+HQ/37+tr785e3t8szJhoSAFiUIfQe6RnU3156hsXrP+5/DagfPr6+HvXfj7NL/r6/1+frj29fVfWrKVnpFbjS96Gq/Azqby89Q3r9VfkZ0uuvys9gCB3IcK0puLRq8ftO6+dOd12/5VuzY0UEAGalAQGyTLBa0XealytwAcD8NCDAc+k0MH81I7v6dZ8STQgAzEIDAjyvs2ak24i8HDQhADAHQ+g90jOov730DOn1Vw3I8HvwvervS/1+vv9oPpz+FNtg5dTfXnqG9Pqr8jOk11+Vn8EQOsAlFy4DbCYEAKY3ywoIQJwLKyHfLtULAExCAwJwcq0JAQAm8dWAXDq3rPu9IY+Z+nst3nMtdTzLe66lDtm3/56D6jjua7//eyZkf+E0rM1l956bq+NZ3nMtdci+/fdcSx3p2c2AAFyy2/89D3KhCQEA7vNP6wIA1qq7CgIAPE4DAnBJd7XjuDeMDgAT0IAADPD5/t66BADYhFkakEvDJ2nSM6i/vfQM6fVXTZOh5WlYtkF76m8vPUN6/VX5GdLrr8rPYAgd4B5nw+gG0QHgcU7BAhjKHAgAPEwDAgAALEYDAjCQQXQAeJwh9B7pGdTfXnqG9Pqrps3w8vY22WsNZRu0p/720jOk11+VnyG9/qr8DIbQAe7hjugAMCmnYAEM0GIFBAC2SAMCMID5DwCYhgYEYAArIAAwDUPoPdIzqL+99Azp9VdNl+Hn4VC73a5+Hg6TvN5QtkF76m8vPUN6/VX5GdLrr8rPYAgd4B6/h9Bf3t7q8/3dEDoAPMgpWAADmAEBgGloQAAGMAMCANPQgAAMYAUEAKZhCL1Hegb1t5eeIb3+KndCX4P0DOpvLz1Dev1V+RnS66/Kz2AIHeAe7oQOAJNyChbAAGZAAGAaGhCAAcyAAMA0NCAAA1gBAYBpGELvkZ5B/e2lZ0ivv2raDC1WQGyD9tTfXnqG9Pqr8jOk11+Vn8EQOsA93AkdACblFCyAAcyAAMA0NCAAA5gBAYBpaEAABrACAgDTMITeIz2D+ttLz5Bef5U7oa9Begb1t5eeIb3+qvwM6fVX5WcwhA5wD3dCB4BJOQULYAAzIAAwDQ0IwABmQABgGmZAeqRnUH976RnS668yA7IG6RnU3156hvT6q/IzpNdflZ/BDAjAPcyAAMCknIIFMIAZEACYhgYEYAAzIAAwDQ0IwABWQABgGobQe6RnUH976RnS66+aNkOLFRDboD31t5eeIb3+qvwM6fVX5WcwhA5wj99D6C9vb/X5/m4IHQAe5BQsgAHMgADANDQgAAOYAQGAaWhAAAawAgIA0zCE3iM9g/rbS8+QXn+VO6GvQXoG9beXniG9/qr8DOn1V+VnMIQOcA93QgeASTkFC2AAMyAAMA0NCMAAZkAAYBoaEIABrIAAwDS+GpBLwy3d7w15zNTfa/Gea6njWd5zLXXIvv33fKSOSysgz5Lde+bW8SzvuZY6ZN/+e66ljvTshtABrtm5EzoATOmf1gUAJDADAgDT0IAADGAGBACmoQEBGMAKCABMY5YG5NLwSZr0DOpvLz1Dev1V02ZwJ/Rx0jOov730DOn1V+VnSK+/Kj+DIXSAe+zcCR0ApuQULIABzIAAwDQ0IAADmAEBgGloQAAGsAICANMwhN4jPYP620vPkF5/1bQZWqyA2Abtqb+99Azp9VflZ0ivvyo/gyF0gHu4EzoATMopWAADmAEBgGloQAAGMAMCANMwA9IjPYP620vPkF5/lRmQNUjPoP720jOk11+VnyG9/qr8DGZAAO5hBgQAJuUULIABzIAAwDQ0IAADmAEBgGloQGCNdvtfX6yGFRAAmIYh9B7pGdTf3qMZPl9//GlEGjQjtsEfPw+Hr68l2Qbtqb+99Azp9VflZ0ivvyo/gyF0SPB78Pn796pe3j5+/W9D0MvpbAtD6ADwGKdgwdrs9pcPcI+/VkU+X3/U5//enaa1MDMgADCN/7QuABjhWF9/lX+pfedn++6jmYAZEACYhgYEVuieg93uqVrfGhLNyGRO9wEBAB5jCL1Hegb1t9cqw9dpWg8OsdsG37kT+jjpGdTfXnqG9Pqr8jOk11+Vn8EQOqzZ7/mPOQ52Xw4ff/4PKyPDuRM6AEzKKVjwJL5dyclpWndz+hUATEMDAk9IMzLOy9ubK48BwIM0ILAyS/+lXTNyB80HADzMEHqP9Azqby8xw/kA+/64j7/XyCzbYMHGLHEf6krPoP720jOk11+VnyG9/qr8DIbQYa1mHEB/1NMOsLsLOgBMzilYwE1O0wIApqIBAW76ugRt52Z8m25GOqeefVsFAgBG04DAk7p2QP1txaPTfPQ1I/X+Xi9vv19zI81I9y7zW8kFAC0ZQu+RnkH97a01w8vh4+Zf888fc635eHl7+/X4t7eq49kQ+//eVzHAPnobdFc/fudc2lr3oXukZ1B/e+kZ0uuvys+QXn9VfgZD6LBWnYHnqV1qOi69X9/jbq2E9K6M7CpvZcTwOQDMZpYVEGBdhjYffd9/OXzc1XysfWXkqkvNBwAwGQ0IbNz5AfT5fT6GzIB0D8TvbUJuNSOra0h2+/p8v9CYWf0AgMloQGDDus3HuSFNyMvhY7Im5FIz8vJ/b+tZHfl9H5Y6/vmWU68AYHqG0HukZ1B/e2vKcO10q7ubkAeaj6tNyQzNyKBt8Pt9Pl9/fL/E8ApOvVrTPjRWegb1t5eeIb3+qvwM6fVX5WcwhA5rNfEQevcA+tprd5uMr++fmoTuwfjvO7bP0Yz8Nci+m2mI/dTcXLj7/Fdeqx8AMDkNCKzFTA3I6TX7mozzxw9tQsZcFatZM9KzitL3WWg+AGBebkQIT+LS6VS3fv5XM/D74Hzp5uPr3/87a0Z+//vy9ntO49rpWhdWObo0HgCwDCsgsBYzr4Ccf/+elZBvsxq/D/JbrIDcWhn5+Xaof19fR39OGg8AWIYh9B7pGdTf3lozDB08r/p7peOkddNxaYB9qJe3t687vX9d5Wqlzcda96F7pGdQf3vpGdLrr8rPkF5/VX4GQ+iwVgutgJz/fMhKSMoKSNXZfMgtK204AOAZmAGBJzV4JmRNMyCnpmNX9fm/9z8Nx9v+z308AIBVswIykf1+f3F57PS99KUzFjDjZXjHXP2q+/PWKyDfVjk0GgAQ62sG5NrB8z2Pmfp7Ld7z3jrOf9b9330NyFqzJ3zeW3rPvu9N6Z6Zj66Xt7dvKyHfvn+lWfjvx8eoJqP7vK+VjsNHvfzf269Zj+P1Zv/e7z3zvuY9t1/Hs7znWuqQffvvuZY60rNbAXnQfr//9tX9/qXH3vO6fd/re6+hr88K7eZdAVn7fUC+7E7va6UDALbIDEiw86bj0v/muX27mtXpNKqx9wGZqfmoqq+Vjm/zHADAZv3TuoBkQw72NQOsyb2nY51f6vZk0qbjdDnc36dWWfEAgO3TgIw0dKVBA0JL31Yzzi7Le9dMyG7/538f95oOAOAhszQgWzjoHtpcrHX+Yk21jJFef9V6MnSbkPPTsa495+tGfSd3Nh9V7ZuOtWyDsdLrr8rPoP720jOk11+VnyG9/qr8DIbQZzJkaPyenefSUHv3XzMgG7Pbfx3kz6Gv4ejOhFx83MDm48vubKbDCgcAcMYQ+oweXR25dVUtNua4/36608ROjUa3wbi5EjJwpePb6xgkBwB6WAFZKQ3Hk5r4UrzX3Go8vj22Z6Wje4oWAMAtVkDgSd3T6PSudGg6AIA7GULvkZ5B/e1tIcPJ1xD54ePPEHlA85G+DdLrr8rPoP720jOk11+VnyG9/qr8DIbQYc0WPAXrFisdAMAcNCCwMp//e686tnlvTQcAMDczILAyL28fy62C7M4ul1ul6QAAZjd5A5J+jtpW2A702p01HS6XCwAszArIBd07nKdJr79qG5chXlOGMffoWFP9Y6VnSK+/Kj+D+ttLz5Bef1V+hvT6q/IzdOuffAYk+cM5Sc+QvpM+vakG0XfuRg4ArI8VEFib477qfeQg+s7pVQDAumlAYIXuGUQfc3oVAEArGhAI5HK5AEAqMyAblrwttjDH8lCGC3MgSzcdT78NViC9/qr8DOpvLz1Dev1V+RnS66/KzzD7EDowgd3+V5Ox2//5npUOAGADnIIFa3VqQgAANsQKCAAAsJh/WhcAAAA8j1kakOQhmZP0DOpvLz1Dev1V+RnS66/Kz6D+9tIzpNdflZ8hvf6q/Azd+p2CBQAALMYpWAAAwGI0IAAAwGLMgPRIz6D+9tIzpNdflZ8hvf6q/Azqby89Q3r9VfkZ0uuvys9gBgQAAGjGKVgAAMBiNCAAAMBiNCAAAMBiDKH3SM+g/vbSM6TXX5WfIb3+qvwM6m8vPUN6/VX5GdLrr8rPYAgdAABoxilYAADAYv4/LNA0R2Sm+UAAAAAASUVORK5CYII=", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "wg = gf.components.spiral_external_io(x_inner_length_cutback=50)\n", + "delay_line_1 = uc.add_fiber_array(component=wg, component_name='MyCoolDelayLine1')\n", + "delay_line_1.plot()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "7a34146913684cd3b044a559cc630d9e", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "wg = gf.components.delay_snake2(length=1000, n=10)\n", + "delay_line_2 = uc.add_fiber_array(component=wg, component_name='MyCoolDelayLine2')\n", + "delay_line_2.plot()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "12db2040268b43eaab6ea30af877fbd3", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "wg = gf.components.delay_snake2(length=1000, n=10, bend180=\"bend_circular180\")\n", + "delay_line_2 = uc.add_fiber_array(component=wg, component_name='MyCoolDelayLine2')\n", + "delay_line_2.plot()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "33ab87f4aa2c418da250ee3c1ad30b46", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "r1 = uc.ring_double(length_y=0)\n", + "r2 = uc.ring_double(length_y=5)\n", + "r3 = uc.ring_double(length_y=10)\n", + "\n", + "r1.plot()\n", + "r2.plot()\n", + "r3.plot()\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "6e0ac848acc8446e9458634dc8a4bbd1", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "my_device = gf.Component(name=\"MyDevice\")\n", + "ring1 = my_device.add_ref(r1)\n", + "ring2 = my_device.add_ref(r2)\n", + "ring3 = my_device.add_ref(r3)\n", + "\n", + "my_device.plot()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "e08a6ad782384b519021bf77ccec36e5", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ring2.connect(port=\"o3\", destination=ring1.ports[\"o4\"])\n", + "ring3.connect(port=\"o3\", destination=ring2.ports[\"o4\"])\n", + "\n", + "my_device.plot()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "46a644f109534ed091a8e2bea5c9c46b", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAAxOAAAMTgF/d4wjAAA7UUlEQVR4nO3dQZYax9IG0JCPt/FGbyN4IR5pI3ghGnkh7o28US+EfyChH6MCCqjIysi895w4SLK766PIokgqA75ExCkAAAAa+G3vAAAAwDxMQAAAgGZ+TkCOx+Mv//H63x79/ZWfsV3btd25t1s5u+3aru328Tts13Ztt9Z2v4QeEAAAoJHf9g4AAADMwwQEAABoxgQEAABo5ucEZKmJpFey5pA1h6zbq5IzQtYssuaokrVKzghZs8iao1VWTegAAEAzlmABAADNmIAAAADN6AFJJmsOWXNUyVolZ4SsWWTNUSVrlZwRsmaRNYceEAAAYDiWYAEAAM2YgAAAAM3oAUkmaw5Zc1TJWiVnhKxZZM1RJWuVnBGyZpE1hx4QAABgOJZgAQAAzZiAAAAAzegBSSZrDllzVMlaJWeErFlkzVEla5WcEbJmkTWHHhAAAGA4lmABAADNmIAAAADNmIAAAADNaEJPJmsOWXNUyVolZ4SsWWTNUSVrlZwRsmaRNYcmdAAAYDiWYAEAAM2YgAAAAM3oAUkmaw5Zc1TJWiVnhKxZZM1RJWuVnBGyZpE1hx4QAABgOJZgAQAAzZiAAAAAzegBSSZrDllzVMlaJWeErFlkzVEla5WcEbJmkTWHHhAAAGA4lmABAADNmIAAAADNmIAAAADNaEJPJmsOWXNUyVolZ4SsWWTNUSVrlZwRsmaRNYcmdAAAYDiWYAEAAM2YgAAAAM3oAUkmaw5Zc1TJWiVnhKxZZM1RJWuVnBGyZpE1hx4QAABgOJZgAQAAzZiAAAAAzdztAbn+t0d/f+VnbNd2bXfu7VbObru2a7t9/A7btV3brbVdPSAAAEAzv+0dAAAAmIcJCAAA0MzPCcjSGq5eyZpD1hyybq9KzghZs8iao0rWKjkjZM0ia45WWfWAAAAAzViCBQAANGMCAgAANGMCAgAANKMJPZmsOWTNUSVrlZwRsmaRNUeVrFVyRsiaRdYcmtABAIDhWIIFAAA0YwICAAA0owckmaw5ZM1RJWuVnBGyZpE1R5WsVXJGyJpF1hx6QAAAgOFYggUAADRjAgIAADSjBySZrDlkzVEla5WcEbJmkTVHlaxVckbImkXWHHpAAACA4ViCBQAANGMCAgAANGMCAgAANKMJPZmsOWTNUSVrlZwRsmaRNUeVrFVyRsiaRdYcmtABAIDhWIIFAAA0YwICAAA0owckmaw5ZM1RJWuVnBGyZpE1R5WsVXJGyJpF1hx6QAAAgOFYggUAADRjAgIAADSjBySZrDlkzVEla5WcEbJmkTVHlaxVckbImkXWHHpAAACA4ViCBQAANGMCAgAANKMHJJmsOWTNUSVrlZwRsmaRNUeVrFVyRsiaRdYcekAAAIDhWIIFAAA0YwICAAA0YwICAAA0owk9maw5ZM1RJWuVnBGyZpE1R5WsVXJGyJpF1hya0AEAgOFYggUAADRjAgIAADRztwfk+t8e/f2Vn7Fd27XdubdbObvt2q7t9vE7bNd2bbfWdvWAAAAAzfy2dwAAAGAeJiAAAEAzPycgS2u4eiVrDllzyLq9KjkjZM0ia44qWavkjJA1i6w5WmXVAwIAADRjCRYAANCMCQgAANCMCQgAANCMJvRksuaQNUeVrFVyRsiaRdYcVbJWyRkhaxZZc2hCBwAAhmMJFgAA0IwJCAAA0IwekGSy5pA1R5WsVXJGyJpF1hxVslbJGSFrFllz6AEBAACGYwkWAADQjAkIAADQjB6QZLLmkDVHlaxVckbImkXWHFWyVskZIWsWWXPoAQEAAIZjCRYAANCMCQgAANCMHpBksuaQNUeVrFVyRsiaRdYcVbJWyRkhaxZZc+gBAQAAhmMJFgAA0IwJCAAA0IwJCAAA0Iwm9GSy5pA1R5WsVXJGyJpF1hxVslbJGSFrFllzaEIHAACGYwkWAADQjAkIAADQjB6QZLLmkDVHlaxVckbImkXWHFWyVskZIWsWWXPoAQEAAIZjCRYAANCMCQgAANCMHpBksuaQNUeVrFVyRsiaRdYcVbJWyRkhaxZZc+gBAQAAhmMJFgAA0IwJCAAA0IwJCAAA0Iwm9GSy5pA1R5WsVXJGyJpF1hxVslbJGSFrFllzaEIHAACGYwkWAADQjAkIAADQzN0ekOt/e/T3V37Gdm3XdufebuXstmu7ttvH77Bd27XdWtvVAwIAADTz294BAACAeZiAAAAAzfycgCyt4eqVrDlkzSHr9qrkjJA1i6w5qmStkjNC1iyy5miVVQ8IAADQjCVYAABAMyYgAABAM3pAksmaQ9YcVbJWyRkhaxZZc1TJWiVnhKxZZM2hBwQAABiOJVgAAEAzJiAAAEAzJiAAAEAzmtCTyZpD1hxVslbJGSFrFllzVMlaJWeErFlkzaEJHQAAGI4lWAAAQDMmIAAAQDN6QJLJmkPWHFWyVskZIWsWWXNUyVolZ4SsWWTNoQcEAAAYjiVYAABAMyYgAABAM3pAksmaQ9YcVbJWyRkhaxZZc1TJWiVnhKxZZM2hBwQAABiOJVgAAEAzJiAAAEAzJiAAAEAzmtCTyZpD1hxVslbJGSFrFllzVMlaJWeErFlkzaEJHQAAGI4lWAAAQDO/b/0LD4dD/PPtz61/LXDHH1//johw7EFjjj3Yxx9f/46Pj4+9Y/CilB6QL//9GvGRd3uu7O3Mdmu/Ft6vZx3cX7f/vv3r788ucox228t+PUvfzo+aZb+2ytlqv1a5LbVfC9EDsuy0ZR0Oh9Pp27dTRLh167bR7eFwOB0Oh/TtnGvv+zvarf1ad7+ej70e7q9btzPdns95qmxt+wu9CKp7a7/W3a9eBLl1u8+tyX/tW/u17n41Aaldm38K1uFwiH/+tBYWWvrj778jIhx70JhjD/bxx996QKo7RcTpeDxuM6s5bPR77tRmWRuUrLI2yXo4bnLsVdmvVXLKOkHWFcdeN1kr7ddBcsqamPWjUNZK+7VR1u2/B+RwjPg4bvoriTh9+7Z3hM18+VqreayEw/H7rWNvc4497nLspXHscZfXm6X5HpCOnL59u1kR//8ElnV7lr2dR/cTWrs3JrOPh5a3jj1647zn2GNe215WabAEa4S6bNLSCPdr49r1PlEPaqMlWDNUj8ddbzkce0+UY291Oe85721ajrvq9f0PekBys1Z40u0912W+imMgtfSA3Ky9j7vj8djFcfTqba8viroZq3pAblbmeW+r46rSea/a45+eVQ9I6ax6QJKdLi4jn34s59jitpqM+21N7QXr0H9xOV5mPe7Otr7/jr0Ljr1fOO9957yXzOvN0kxANrb0JLn1k2zFJ6C198uT8ou8CFocE1u/uKk4zh7dN5ORNzn2nPducN5LNvnrzepMQDby6oufJTM+qdzbF56UV5j4RdA7VzquzTh2tnzxOOP+c+z9P+e95zjvvWnS15sj2XZd12RNQacX1pBe/4x6vG9f2b97529aEzbCvnPcTTc+Xty3z+zf68dkmpr42HPey923znsParLjbrT6+TG8x+Mxrl3/26O/f/+3LX5H/s+8+ztO375/fN5fn58R8f/vWPz1+fmvdyjOfz//zF+fn/Hl69ef1SLrVr+j9Xav99P1flzaz+f/9/z3y3eJer+/7233l19R5v4++zsuH9c17xCeb6+PvYrHRKvtnvfR9fPX+fbefj//P+f/v8L9fe9n7v//edvd/nc8+n/Oj+v5cb41Dh6d9yoeE622e3nsRdw/7h6d9yrc3/d+5rnfud1283/HLNvddlYzwYx07TsTU74j0fgx8I7sj5rkXVjvtO5fr7xDO3RNdOw57/XxGDjv/agJjrvBa+NfOPCAWHPwT3Pgd1Qelxj+RZCTbp/lcYlpjr2pn187LI9LDH3cTVIb/8IBB4STbI2a+h3ZQV8EOcnWqLWP0945U2rwY+/W4zn841qkpj/v7Z1BvVPf/3D0RYS/1BYvflplrbRfs7P29mKoyX4d7IsIHz1+xx9fQlbhxNrLPm2RteVksZv9OtgXEVaZ9Ffapy2ybnXeK7VffRFh9awb/8JBZqS9vYhVrz+GUzx+A70LW+HFj1r3GE7xjuyAx940z5sD1lSP3yDH3cS18S8cYEBMezlz0JriyXiQF0FTnTwnqCkmIQMde2tuVY2a4nl0gONu5vJFhFdOd77U7PLfqWX4x/Vw/H47wLF37yN1Sz9Gkxr+cR3o2IsY9PlxUsM/rsVfb/JjJqIHJOcdA+v++sq6xzuyekBef1xuHXszjNXRst5b3vPKsdfNfi3eA1L1nfKe92lvWZ857+2d9an9qgeketaNf2HRS2IuO89TQy4LKbwMZMsXparv2noS0kUVP/bu3apxatjz3t4Z1Du18S8sOCCGOyjVfI970RdBw70YVfM97oWPvXu3aswa6nEveNyp/6+pe0BurU0+K702klUerZEtMwaKrUMfZr/zsmGef4see+X3Oy8b5vm30OtNlm07qykyIx3ycqR6eSzcui0zFgq9CzvE/labjYXyz8PFjr3y+1ttNhZu3ZYZC0WOO3Wzvv9hpib0lk/CGo9qZM18MtaEvv1+nnmsjpb13nKse2Oim/1apAl97Xmvh6xrqkrOnrMujYNSX/KqCb161o1/Yecz0ldPdmr8utcgu3e2h1XgXdh7+7fEPlZpVXpcFDr2lvZviX2s0qr8eW/vDOrl+i0mdGvNY5l1j6S4fPxPN76vgPctfR+EY29u58f/elyc/433Oe+xxHmPPW07q+l4Rlr2HTbVtEquke78Xdiy77CpplXySkiBY6/U/lS7VNnz3t4Z1Dv1/Q+j94DsdXBZ91cz65bjZfYekIwXlcbquFnXjpceskZE1z0grzyPdbNfH1SVnJWyXvaAnP9+edtb6QEpn3XjX9jhjLTkzF7tXqXGTafvwpZ8R1vtXqXGTcfH3r1bpZaq1Ljp8LhTT9XGv7DDAWH5h3q1vAiaZP+p7qrM83bHx16J/ae6qzLP2x0ed2p9Dd+EfrrxpUsa71hLY+xrbjU0OvZ4hsbY5znv8S7nPVo4RYzZA9LDO0DW/Y2R9Z13hGbsAcl+B81YnSfrrefxbrJ21gPy7nmvm/06SM7KWXu/EqIHpHzWjX9hR5fEej94VJ3qYTJ7tzpbBnK9vxx76tW6Hj/djaUOj73r2672lypTJc57e2dQ79TGv7CTAeFJWG1dXT8Zd/QiqOv9pEpW18/nnR173e4nVbK6fj7v5LhTL9fGv7CDAeFJWGVVt0/GnbwI6nb/qPLV7fN6R8del/tHla9un9c7OO7U6/WzCf14PEYVa7L20ng32n7txZ5Zn22InW2/tmgYnm2fttJ71stx9dfn595xVmu1X7c47/U+Bs6q5IwYI2uPHwRRaLcOMQYybDur2XlG2u1MXQ1TXb7T2MG7sF3uFzVUdfn83smx191+UUNVl8/vroBUr41/4Y4DwpOwalXdjbOdXwR1eXJSQ1Z3DekdHHvdPR+pIau7cWYCUrqG+x6QHi8TMqbr5Q6zj7delj0yPt9P8G+eh2jFeY8tbTur2WlG6h1Y1bq6eudxx3dhu9oPaorq6vl+52Ovm/2gpqiunu9dASldQzWh9/gO7Aj7tUe9ZF3zTlAvWdd4NWvrd8Rm2Kd7qJS1x+f7WzL369b7ocoYqJIzYrysvVwBKbRbhxsDW9l2VtPRO0F75FBzVTfjrqMrII491aK6GXedXQHZ+3FR41c3484VkNI1RA+INYnsaeZxd77PVd6JZiwzjzvnPfZk3PGuISYgEb8eDDOekGjvsgl21obY6xdBjj1aWBp3sx17znvswXmPLQzTA9Lri5/q+7VXvWW9N/56y3rPK1n3ePE3+j7dS8WsFSYfWfs147xXZQxUyRkxbta9X3cV2q3DjoF3bbuuq/GaPJ8CovauLj4VZId16F3cbzV1dfH8v9Oxt/v9VlNXF8//ekBK1xBLsCz/YG+zLgOZ9X7Tj1mf/2e93/TD8z/v2nZW03BG2sUMXKno4B3Jxu/C7n5/lfpRu58Hdjj2nPdUD7X7ecAVkNJVvgek9xl41f3aux6z3npHssestzyTdc93YEfdp3urmnW280Dm/a0yBqrkjBg7677ngaabe8vIY+Ad285qdnwnyLtAaq/q4p2gna+A7P0YqDlr9ysCO18BceypvaqL814H+0G9VuV7QKyBpQczfhRtz+84M4/rjwSdYTzO9DxDv2Y877GdshOQ2T//nT7NMC4vv3PASYdeXI/HUY+90Z9fqMe45BV3e0Cu/+3R37//2xa/Y93PXA/2e+vut9zuOz9ju2Nv96/Pz1/GZZv7+8uvSN3u+f5d3t/Xs7+e452fsd2xtrvmndicrPf//623e+u8V/nxrZzddpfPey22++jYG20/j7jdbdd1NVqTZw266rF2G5cN16Fbg656rN3GZeNjb+lWqT1r1/NeB/dfvVa/RWEu99GjGcal5Vf0aIZxOcPzC/UYlzyr9ARkhpMN9cwwLp1s6NEM43KG5xfqMS55VskJyFLDk0FPL0ZuyLtuQD//GXowciO68x49G/m8R46fE5ClJpKeVRnklfarrNuo/CS8Zr/28OKn58f/mqw5lrL2+uJ8q/3a4nmlyhiokjNijqx7nPcK7dYpxsArtm0sadAUpBFP9Vy7jM9GjbAa0FXPtcv4bHjsLd0q1UPtdt7r4L6r16rkEqyIKPsOM3MYeXz2+A4znI08Pkd+XqE+45NnlJuA+BI0KhhxfFrjSwUjjk/nPSowPnlGyR6QR19605NK+1XW7VQZn9ce7dde1tj3/vhfkjXHraw9jM9rW+zXVpP/KmOgSs6IebLqAbltljHwrG3XdSWvybte43t5q1QPtTQ+08dog3Xou9wvpZ6oXc4PjY495z3Vc+123uvgvqvXqtwSrIhf3wnq6Z0uGHl8Xr/DNdJ9o77Lj9+teAXynpGfV6jP+ORZJScgI55cGM+I49TJhQpGHKcjPp8wHuOUtcr3gPSu0n6VdVvnJ+G/Pj/3jrLaMz0ge6rw+J/JmuNe1l7G6dnWPSCZqoyBKjkj5sracvJfaLdONQaese26rsZrYa2DVT1W83G6Uw/I3vtZqeuaoQfEsad6rF3Oex3cb/ValVyCNeLldcYz4jjt7Z1lWDLiOB3x+YTxGKesVXICMuLJhfGMOE6dXKhgxHE64vMJ4zFOWavkBGTEkwvjGXGcOrlQwYjjdMTnE8ZjnLJWySb0SieXSvtV1m1VGqdnj/ZrLyeXCo//maw57mXtZZyebbFfWz2fVBkDVXJGzJW15Xmv0G6dagw8Y9vGksSmIF/GpKrUaI2wvoRQVanRPgDCeU9VqV3Oex3cb/ValVuCdf1lN9Cr6y9lqj5efckUVVyP0+rH3kjPI4xttPMeecpNQLwIoorRnoRHuz+Ma7TzxGj3h3E5T7BWuR6QaoO7yn6NkHVrFV80rP1yt73vT4XH/0zWHGt7QHo4T2z55W56QL6rkjNirqwtzxOFdutUY+AZ267rshZWqfY9E3pAlDpF7HCe0AOi1Clip/NeB/dbvVbllmD19s4W3NLTFYMtjHZ/GNdo54nR7g/jcp5grXITkOsnYQOcXo32ouH6/jj26NVo49R5jypGO++Rp3QPSAVV9muErFur+CJobQ/I3io8/mey5pi1ByRblTFQJWfEXFn1gCybaQw8Y9t1XQ3XwloHq3qtGXpA9t7HSi3V6D0gjj3Va+kBUc9UuSVY1d5RZl4Vr4Dc09M7ynBPb1dA3jXS8whjG+28R55yE5CRTiqMzYsg2MdoL4JGeh5hbKOd98ijByRZlf0aIeuWqjZs6wHZnqw5bmW9/PbzUcarHpBfVckZMU/W1ue9Qrt1mjHwrG3XdVkLq9QpovF41QOi1M/SA6LUPtX8vNfBfVavVbklWNXeUWZuI43Xnt5RhkdGGq8jPY8wPuOVNcpNQEY6qTC+kcarkwqVjDReR3oeYXzGK2uUm4CMdFJhfCONVycVKhlpvI70PML4jFfWKNeEfvr2Lf76/CxzUqmyXyNkzTDSeO3ppFLl8Y+QNcujrCON15aTqSpjoErOiPmythqvhXbrdGNgrW0bSzTCKnWK0Air1F7lAyCU2qean/c6uM/qtfry4w/bORw3/XX/+tXx8cu/fcQhbXvwjpHG60j3hbEtjdWIuuPVsUcVuxx7H8e83026bWc13glS6hRR/J2gq9/38B1l70SpvWphrC7d3vr/u6qFbKXvjxq3boxV5wm1tvSAJKuyXyNkzTDSeB1pTX1Lsuao8qWZEXpAMlTJGTFXVl+auUzWZdvOalwBUeoU4QqIUk3KFZD9c6v5yhUQ9WaV+xje3t7ZgntGGq89XQGBe0Y67iLGuz+My3mCtcpNQAxuKhlpvHoRRBUjHXcR490fxuU8wVp3e0Cu/+3R37//2xa/4/b/c2tN/bPb2e7+2q7t3v770njN2e4vv2Lz+7v0Imikx8p2x9nuVueJV34m4/62eh555Wd6+R2228d2s84Tr/yM7fa/3W3XdekBUeoUoQdEqSalB2T/3Gq+0gOi3qzfohiX96jgcpyOMl4tA6GKkY67iPHuD+NynmCtchMQg5sqrich1XkRRBUjHXcR490fxuU8wVrlJiAGN1W4AgL7GOm4ixjv/jAu5wnW+jkBWWoi6VG1wV1lv0bIurWKV0Du7deeXgRVePzPZM1xL2tvx927+9WXu/2qSs6IubL60sxlsi7btrEkuQn9boOTUp3UUuNo9Sb0pdu07Su1tkb6wASNvapK+cAE9WaVW4J1/U5QD+/GwpKKV0Du6ekKCNwz0nEXMd79YVzOE6xVbgIy2os6xqUHBPYx0nEXMd79YVzOE6xVugekwpNxlf0aIevWKk6W9YBsT9YcekByVBkDVXJGzJVVD8gyWZdtu66rYQ/I5a1SPZUeEKUalR6Q/XOr+UoPiHqzyi3BqnYFhHlVvAJyj+OOKkY67iLGuz+My3mCtcpNQEZ7Uce4rifL1cfrKPeD8Y32Imi0+8O4nCdYq1QPyOUnX1V5Mq6wX89k3ValcXqmB2R7subQA5KjyhiokjNirqx6QJbJumzbdV3Ja/z0gKgK1Xyc6gFRs5YekP1zq/lKD4h6s8otwYqIrt6JhVtGG6ej3R/G1dsVkHeNdn8Yl/MEa5WcgHgypoLRxulo94dxjfYiaLT7w7icJ1irVA/IWaUn40r7VdZtVRqnZ3pAtidrDj0gOaqMgSo5I+bKqgdkmazLtl3XpQdEKT0gSrUqPSD751bzlR4Q9WaVXILV0zuxcMto43S0+8O4ersC8q7R7g/jcp5grZITEE/GVDDaOB3t/jCu0V4EjXZ/GJfzBGuVnIBcf7mbJ2V6Mur4HO3+MK7RXgSNdn8Yl/MEa5VsQv/r87PMIK+0X2XdzuX4/Ovzc+84q1Vp7O398b8ka44qH5gQobE3Q5WcEXNl9YEJy2Rdtm1jSYMmdI3oqufaZXw2aELXCKu6rJE+MEFjr6pSPjBBvVnllmCdZ9W9vcMFl0Ycnz1dAYF7Rjv+Rrs/jMt5grXKTUDODHJ6NuL49CKIKkY7/ka7P4zLeYK1SvaARNQZ5JX2q6zbqTI+r+kB2Z6sOfSA5KgyBqrkjJgrqx6QZbIu23ZdV4M1fnpAVK+1W4+SHhA1a+kB2T+3mq/0gKg3q+wSrFE/6pT6Rh2XPV0BgXtGO/5Guz+My3mCtUpOQDSi07PrcTnKE7HjjSpGexE02v1hXM4TrFWyB+SctcKTcsX9WkHPWa/HZc9Zr+kB2Z6sOfSA5KgyBqrkjJgrqx6QZbIu23ZdV6M1fg/XGirVuJbWajcbl3pA1KylB2T/3Gq+0gOi3qySS7DOenpHFiLil96kkYx6vxhPb1dA3jXa/WFczhOsVXoCohGd3ow8Hke9X4xntBdBo90fxuU8wVplJyAa0enRqA3oEV4EUcdo54XR7g/jcp5grdJN6BH9D/aq+7V3vWW9nHBcj8fest5TpbF3lH3am1Gy9nZe0Ni7vSo5I+bK6gMTlsm6bNvGkoZNRrt96ZtSV7VrA3pEkyb0pdu07Su1tkb6wASNvapK+cAE9WZ9+fGH7RyOER/HTX/lPdfvPJ//DC3tPg4Px9xfHx+//NtHHFK3Ca9YGqsRyeN1q3PewvlzqdfxX88tjc+5EBE3x2rEnfOgscqF3/cOsIXrJ+eeLr0zvqXlV7stU0p6cv/n0Ysg6MRHrHjRvqXkyX9E7P+8Ait1cR6khKF6QHp8UVR1v/aut6z3xmFvWe/RA7I9WXM8yjrSeNUD8qsqOSPmyqoHZJmsy7Zd17XDGj9fSqj2rC7G3+GYeuzptVKVqul43fK40wOiqpQeEPVmlf0Y3mvX7xD18K4X47v36Vej6ekdZXhkpPE6w/MLYxjpuCPXMBOQnpdhMbbelwFuZfT7x1hGGq9e1FHFSMcdue72gFz/26O/f/+3LX7Hcz+z9KWEf31+/uvJOmO7r/yM7Y6z3ctxdu/FQZv7m7/dNcfVK9sdeYzY7n7bXTouc7Z7///fYrtressqP76Vs9tum/PEKz9ju/1vd9t1XTut8dv9exjUdNXV99DoAVHqZ+kBUSq59ICoN+u3GMStZTAuWZPh1kfvjnzZ2TIQKlj6CN7qZnh+YQwjHXfkGmYCcjbLi0H2N9PkI8KLIOoY7bj0oo4qRjruyPVzArK0hqtXt7Iu9YLs/aQ9wn7t0Z5Znx1fo+zXHo6ns1H2aW9GydrL8//Zu/vV94D8qkrOiLmy+h6QZbIu23ZdVwdr/JbWzFqzrraobnuN9IAodYrYoTdLD4iasfSAqDdruCVYZy4DkmW05R1r9fSOMtzT2xWQd834fENNIx135Bp2AqIhna3dajyfheOJKkZ7k2DG5xtqGum4I9eQE5BbvSDwrqXJxyxjy/FEFaO9SeC4o4qRjjtyDdWEfqmXhvTR9msvWme9NY7WvCAYZb/29KJulH3am1Gy9jZZ1ti7vSo5I+bK6gMTlsm6bNvGko6ajG41RGmgVc9UiXHUoAm96/uv1I9q/kERDZrQl25Ttq/U2vKBCerNGnIJ1tnS9zTs/c4ttSyNn57eWW3JcUQVox2njjuqGOm4I9fQE5AI35DO+0w+vpv9/lPHaMfrKPeD8Zkss9awPSDX9pqEjL5f99Ii61afejXCfl3qqdrTCPu0R6Nk7WWcnukB2V6VnBFzZdUDskzWZduu6+p0jd+tNezWsaulKjdekntArvfD5a1SPVXzcaoHRM1YekDUmzX8Eqyzex/N28u7ZPTh3pWP2ZdA9PbOMiwZbZyOdn8Yl+WCrDXNBCTCJITHTD7uc3KhgtHG6Wj3h3GZLLPWND0g11pNQmbbr61kZM2afIy0X3s5uYy0T3syStZexumZHpDtVckZMVdWPSDLZF227bquImv8yq3xV8bDvdIDotQpQg+IUk1KD4h6s6ZagnXJcizOLLtar7d3lmHJaON0tPvDuCwXZK1pJyARJiGYfDzLyYUKRhuno90fxmWyzFpTT0AiHk9CHERjunxsTT7Wuz5OHB/0ZNTxOdr9YVwmy6w1bRP6pXuTkHef9Gfer5neybr0+GZOPkbar728uBtpn/ZkhKxLz+N709i7vSo5I+bK6gMTlsm6bNvGksJNRrcaka//m6pZQz++jZrQNaKrnmuX8dmgCV1jr+qufGCCerOmX4J16daVEL0h9d1abmXZ1XpLxwf0ZsTx2dsVHbhlxOOPHCYgV9ZOQhxcNdzr9bi8dWJfz4shejbi+PSijipGPP7IoQdkwZpJyPnvj04I9muONV+Y96jXw5rqX63J2sOLodH2aS9GyNrD+LymB2R7VXJGzJVVD8gyWZdtu65rsDV+5zW3j3oHrIXvo6Z9vBr0gNzan7vfd6Vixx4lPSBqxtIDot4sS7AeuFyec++KyPm/9/Su20yu9/2jXg+Xh193a7/C3kYdl5a1UMWIxx85TEBWWrss6/z/OPjauO7xON9qNM+hEZ2ejXq8O96owmSZtfSAPOH8zvl1D8GjHpEqJ40qY+Byv66ZdOzdaF5lv0asz7r3SWbEfdqD6ln3Hpe36AHZXpWcEXNl1QOyTNZl267rmmiN36Neg+vbYfsPGu3nV/b33tmbVaMekOt9O91+Vl3Wrse/HhA1Y+kBUW+WJVhvWHtF5N4yrSpXR1q73j+PrnT0dMVjBr2+08y8bvXmjWDU+8V4LBdkrd/3DjCC60nFoxfJ17e3DtQZTjb3nqTW7r/L3zPDPuvBow9kgNZGbUCP8KKOOkY+DtmWHpANLV0R+evz86krI7d6SO7VVrbcr2uzP7r/t27P+/X8//Z8xaPX8bpkTdYeGtFH26e9qJz1ejz29HygB2R7VXJGzJVVD8gyWX/1Jb6vxdrO4Rjxcdz0V1Z2eRA+e2XkmSsAPcq+nz29wNjd4fj9ttGx5woIvbiccOwyHrc85y38ruv7d/5zyvZhrRtj9e5xaKxyZdvGEk1GN+t01Ux9q2HLrcb9p6thE/rlY7P0uCnVsm49bzTL0KAJfek2ZftKrS0fmKDeLFdAdnbrnf2MKyVrrzDsvf3LHKx0vgLS0OnbfyIi4svXz3/9eTqe73b18ApBtuRj7xAfv/zbRxxStwmvWBqrEcnj1fNvadvOasxw366lKyXVr5ysuT/qjWp8BeTe47z7vmi93/fOMHF1cSUu+djb/f4p9UQ1Ha+ef0uXJvRkr2S9bKpeqoj45dOfer9dc5+eMfoY2MszWffsARl1n+6tYtYKvUgae7dXJWfEfFlbjddCu3W6MbDWtrMaM1Kl2tcOV0AifCmh57t9q4vx5wqIUj/LFRC1tjb/HpBDfMQ/HX8yE4zoj7//jn++/Rnx0f7Yu34Hutd3oRnLde9H758K+I7R7x9jMV5ZI+2b0O99v4Nbt263vT3bY7vXy+3Of+61GMf15OP6eBjF6PePsRivrHWKiNPx+OulrOt/e/T3iDgdDodTxHsNy8fj8e7f7zUeZm73+u+jbfd6v45+f1tt99F+3WK7h8PhFIfn7t9W9/fZ+5eVY+12nq27z3mH49PPk1s918683VvPX7vc34/jv5aCbL3d8327HL+jPb6Vs9vur8fm9XGZtt2P/e+v7b71O+KXH3ynDodDyos4t27d3r49HA6n0//ab7diXT9nvVUXLzxVu7p8LK9vm9fhqAdEqR/VdLx6/i1dm38PyOFw+L4WHWjmj6/nHpC22z1fYj/d+F6X4S/B+96j5i7H1vW428X5e0CSxsH1/T3/GXrT/Dzg+be0zZvQPz4+4st/P7b+tcA9h2N8+fq565PxrZMPbK2byUcjjiuqcB5gLd8DkkzWHLLmeDXroyshW5thn+6h96yX4+qvz88yL27e3a8tX8z1PgbOquSMmCtry8lHod061Rh4xu7rwJRSb1byOvS1db02P6XvoqfqYJ/PUrd6kPbOpQdEqe/VvDfL82/p2nwJFrCj83r03bYf8eXrZ5z+9+377bf//Pj3456pGMSsyztmu7/UNePxyWtMQGAEH8c+GvI+vsXpz//El//+OAn9uD39+Z/h1+mT51bj+Syu7/cMfS/UNOubBDwv7YsIgfnc6gWBd035KWs/OJ6owuSDtTShJ5M1h6w5tsjaoiF9tn3aSo9Zb42jvz4/d062Xq3G3mPq799KlZwRc2VtOVkutFunGgPP2L0RRSm1QXXUkHerEVEDrXqmSoyjBk3oXd9/pX5U8w+K6Oicp54vS7CAzS19T4PL8TxjafzMugzJcUQVMx+nPMcEBEhx60WjF1CsZfLx3ez3nzocr6ylBySZrDlkzZGRNWMSMvs+zdJL1jWfetVL1jXeybrUU5Wpyn6tkjNirqxtvzQzfRObmWkMPGP3dWBKqQ2q0/Wwt9awW8eulqrceGnwJaB6QFSFaj5OOz3nqXVlCRaQ6t5H81qOxaV7Vz5mX8qhB4QKjFPWMgEB0pmE8IjJx33W1FOBccpaekCSyZpD1hwtsm4xCbFPc+yV9ZXJx2z7VQ/Iv1XJGTFXVj0gy2YaA8/YfR2YUmqDKrIettwaf2U83Cs9IEqdIvSAqOfKEiygKcuxOLPsaj1r66nAOGUtExCgOZMQTD6eY209FRinrKUHJJmsOWTN0TLro0nIvYmIfZqjVQ/QFpOP2fbr0pcyZqiyX6vkjJgja6vxeanQbp1iDLxi93VgSqkNquh62Fs9AJe3aoy69ziXfax36gEpu7/UkHXveTytip7z1M/aPYBSaosq/GT8aBLixVbtGvrxbTQBMTlXPdcu47PwOU9pQgc6cGs5lt6Q+m4tt9Lzsd7S8QG9MT55hgkI0IW1kxAntxru9Xpc3pp8rKfBl54ZnzxDE3oyWXPImmPvrGsmIee/V5mI7L1Pn7FVs/TS43X5zugWL1Jm268Rbd5hrrJfq+SMmCdr6ysghXbrNGPgWbuvA1NKbVCDrYc9r3t/1DtgLXwfNe3j1aAH5Nb+3P2+KxU79igNds6brSzBArp0uTzn3hWR83+vckVkNNf7/lGvh+UZr9vjo05hDeOSZ5mAAF1buyzr/P84+bVx3eNxvtVonkMjOj1zvPOKU0Scjsc6l7JklVXWhdrgcnTv+3XNMp+l/2+Kx79B1p72fzf7dcUSrK2ytljm0s1+HSTnDFn3Wh54/Bh7v06Qdf87q5TaoCZaD7v2RfDl/9vLhKRSLe27tft77+zNqlEPyPW+nW4/qy5r1+N/onPeoLV7AKXUFjXhk/GrL469eFu3T1/Zr3vnb16NJyBLt0rtVbs1oEdMec4bqX4PgKKuez/ufd/E0u2tdfQzrF++10Owdv9d/p4Z9lkPHn0gA7SmAZ1XnSKsT5NV1vJZJ+gBeZTzlXfub92uqR736TPZ390/PY6B5tWwB+R632c8Dt3s10Fyjp51z2WBekBqZ/3y4w9AdYdjxMdx7xTduHwn7tkrI89cAehR9v30jvuFw/H7baNjzxUQenF59XOX8eicV97usy2l1AZlPezNyrgCMPrts1d6pq2GPSCXj83S46ZUy9r9yqhzXulyBQRG4d2gp9x6Zz/jSsnaKwx7b/8yByudr4A0dPr2n4iI+PL1819/no7nu11dXwE5/7kZ57zydp8FKaU2KO8GvV1LV0qqXzlZc3/UG9X4Csi9x3n3fdF6v++dYeLq4kqcMVC6fn4T+vF4jCpkzSFrDlm3l5Xzy9evdysifvn0p95v19ynsyqPf8TcWTPX3FfZr0ViRkSdfRrxXNa9e5EK7dZhx8A7LMGCUbgcDe01bkI/2335y9483+2qi/FnDJTme0BgEIf4iH86/mQmGNEff/8d/3z7M+Kj/bG39L02U01C2MX15KP3TwWkT789/l+ASs4vQNy6dZt/e7bHdq+X253/3GsxjuvJx/XxAGucIpa/eOT63x79/ZWfsV3btd1ttns4HE4R7zUsH4/Hu3+/bjy8/u9b3T7KMdp2H+3X0e5vq+0+u19f2e7hcDjF4f7PZd3f6/vX++P7bN19zlv4ErpKz9dVt7v0+D58rLLu78cGv6PT/TzJduOXH1RK1avD4ZDyYsKtW7e3bw+Hw+n0v/bbrVjXz1lv1eG47e9Tq+rysby+bV7GQOnShA6DOBwO39eiA8388fXcA9J2u+clL6cb3+sy/JIYDcjNXY6t63G3C2OgNE3oMIiPj4/48t+PvWPAXA7H+PL1c9cXQrcmIbC1biYflOd7QJLJmkPWHFWyVskZIWsWWb97dCXkWVX2a5GYEVFnn0bcztrjJLfQbh1iDGzNEiwAeNVO3wNy7Xp5zNmw71BbftNMt8v8jIHSLMECgHedJyK7bT/iy9fPOP3v2/fbb//58e/HPVMxiB6vgFCbCQgAvOrj2Mc7sR/f4vTnf+LLf3+8SPxxe/rzP/u/U01ZtxrP4V16QJLJmkPWHFWyVskZIWsWWf/tVi/Is6rs1yo5I+pn7XL5VegBydIy6+6fBayUUkqVrY6+j6Cr72lQpevW98/snetndXTcqefr5xUQAKC+pY9KtWyGZyyNnx6uejCW3WdBSimlVNnq7J3Y7t+5Vl3XrSto3Y2hzo479Vy5AgIAA7n1zrWrIKzlCgjZNKEnkzWHrDmqZK2SM0LWLLI+9sokpMp+rZIzolbWSp96VWi3lhoDvogQACro4WN4F9x7MendbK6VGy+dHnesYwkWAAzo3kfz9vquNvsoN/mgPBMQABiUSQiPmHywBz0gyWTNIWuOKlmr5IyQNYusz1szCekl6yNVckb0nfV68vHX52eZyUfHu/UXPY+Ba3pAAKCCImvRvdPNpfLjochxxzJLsABgApZjcVZ+8kF5JiAAMAmTEEw+6IEekGSy5pA1R5WsVXJGyJpF1tc9moRUmIj0tk/v6SXr5WN7a/LRS9Y1CkUttl+Pzba1+9exK6WUUmXrcNw/wwt1+vbtdPr27eefl27VGHXvcS77WBc97tTP2j2AUkopVbcKvxB6NAkp++JUjf/4Fj7uVJz0gADApG4tx9IbUt+t5VZ6PujF7rMgpZRSqmwN8E7smnfKS79bPlFdP17DLq8b4LibuTShJ5M1h6w5qmStkjNC1iyybmvNlZDz33u4IlJhn561ynp+bK4fr8srHpf/fUmt/bp3gvVq7ddjk+34IkIAeMdgX4h2OcG4t3zn/N/Z17SP12DH3Wx+3zsAANCP64/kvfeiVi/Bfq6vROn1oBJN6ADAL9Yuyzr/Pz0szZrB9fd5nG9NPqjmFBGn47FOM4+ssso6d9YqOWWdJOuDZtiusr64X9c2NrdqWB9hnz5TrfZ/qf36UShrpf3aLuv+d1YppZQqWxN9Gs/aF8GX/69P0Hp9P7+yv/fO3qwmOu5GLE3oAPCOCZth1zQ+32qEPv8M/7a2p2OKBvM1JjzuRmICAgDvmPiF0KMvu1szGbk0w4voR/ffZG6liY+7UZwirE+TVVZZ62StklPWSbJO0APyqF5ZLnTrdk31uE/XZt9i//T2+O9RekBqZ3UFBADe4Z3Yf3lledZWV1D2ln0/p73ascRxV97usy2llFKqbGmGvVkZVwBGv73eV+pGOe5KlysgAPAO78Q+5dY7+xlXSp5p4N5z+5c5WOlw3DvBvDZ6vjtFWJ8mq6yy1slaJaesk2TVA/J2teidaH275v70VqXGqh6QfbJudOXJFRAAeIcrIOl67vu4xdWMZI67fWy0339/+zcAACTyYh7GYgICAG84xEf8U/Adeqjsj7//3uW4Mxnexm97BwCAEZxfmLh16zb/9qz1dk/fvpWrXt1sOrn+t0d/f+VnbNd2bXfu7VbObru2ezweT4fD4RQRP78gb4sG5uvfc92Iff3fs7b77N+3um213Wf3a/X722q71/s1Y7uXx93e97f37T5bd5/zPjZ7ro1fflAppZRS6+pwOKS8eHDr1u3t272Ou4p1/Zz1Vh2Om/wen4IFAG84HA7xz7c/944BU/nj69/xz5/tj7vpe0B8ChYA7O/j4yO+/Pdj7xgwl8PRZKCwn03ox+NxxxjPkTWHrDlk3V6VnBGyZpE1R5WsVXJGyJqlUNRi+/XYZDuWYAEAUIsvItyHJVgAAEzrcNw7AS9yBQQAAGhGD0gyWXPImqNK1io5I2TNImuOKlmr5IyQNYusOfSAAAAAw/nt8f8CAACwDRMQAACgGRMQAACgGU3oyWTNIWuOKlmr5IyQNYusOapkrZIzQtYssubQhA4AAAzHEiwAAKAZExAAAKAZPSDJZM0ha44qWavkjJA1i6w5qmStkjNC1iyy5tADAgAADMcSLAAAoBkTEAAAoBk9IMlkzSFrjipZq+SMkDWLrDmqZK2SM0LWLLLm0AMCAAAMxxIsAACgGRMQAACgGT0gyWTNIWuOKlmr5IyQNYusOapkrZIzQtYssubQAwIAAAzHEiwAAKAZExAAAKAZExAAAKAZTejJZM0ha44qWavkjJA1i6w5qmStkjNC1iyy5tCEDgAADMcSLAAAoBkTEAAAoBk9IMlkzSFrjipZq+SMkDWLrDmqZK2SM0LWLLLm0AMCAAAMxxIsAACgGRMQAACgGT0gyWTNIWuOKlmr5IyQNYusOapkrZIzQtYssubQAwIAAAzHEiwAAKAZExAAAKAZExAAAKCZu03o1//26O+v/Izt2q7tzr3dytlt13Ztt4/fYbu2a7u1tqsJHQAAaOa3vQMAAADzMAEBAACa+TkBWVrD1StZc8iaQ9btVckZIWsWWXNUyVolZ4SsWWTN0SqrHhAAAKAZS7AAAIBmTEAAAIBm9IAkkzWHrDmqZK2SM0LWLLLmqJK1Ss4IWbPImkMPCAAAMBxLsAAAgGZMQAAAgGb0gCSTNYesOapkrZIzQtYssuaokrVKzghZs8iaQw8IAAAwHEuwAACAZkxAAACAZkxAAACAZjShJ5M1h6w5qmStkjNC1iyy5qiStUrOCFmzyJpDEzoAADAcS7AAAIBmTEAAAIBm9IAkkzWHrDmqZK2SM0LWLLLmqJK1Ss4IWbPImkMPCAAAMBxLsAAAgGZMQAAAgGb0gCSTNYesOapkrZIzQtYssuaokrVKzghZs8iaQw8IAAAwHEuwAACAZkxAAACAZvSAJJM1h6w5qmStkjNC1iyy5qiStUrOCFmzyJpDDwgAADAcS7AAAIBmTEAAAIBmTEAAAIBmNKEnkzWHrDmqZK2SM0LWLLLmqJK1Ss4IWbPImkMTOgAAMBxLsAAAgGZMQAAAgGb0gCSTNYesOapkrZIzQtYssuaokrVKzghZs8iaQw8IAAAwHEuwAACAZkxAAACAZu72gFz/26O/v/Iztmu7tjv3ditnt13btd0+foft2q7t1tquHhAAAKCZ3/YOAAAAzMMEBAAAaMYEBAAAaObnBGSpiaRXsuaQNYes26uSM0LWLLLmqJK1Ss4IWbPImqNVVk3oAABAM5ZgAQAAzZiAAAAAzegBSSZrDllzVMlaJWeErFlkzVEla5WcEbJmkTWHHhAAAGA4lmABAADNmIAAAADN6AFJJmsOWXNUyVolZ4SsWWTNUSVrlZwRsmaRNYceEAAAYDiWYAEAAM2YgAAAAM3oAUkmaw5Zc1TJWiVnhKxZZM1RJWuVnBGyZpE1hx4QAABgOJZgAQAAzZiAAAAAzZiAAAAAzWhCTyZrDllzVMlaJWeErFlkzVEla5WcEbJmkTWHJnQAAGA4lmABAADNmIAAAADN6AFJJmsOWXNUyVolZ4SsWWTNUSVrlZwRsmaRNYceEAAAYDiWYAEAAM2YgAAAAM3oAUkmaw5Zc1TJWiVnhKxZZM1RJWuVnBGyZpE1hx4QAABgOJZgAQAAzZiAAAAAzZiAAAAAzWhCTyZrDllzVMlaJWeErFlkzVEla5WcEbJmkTWHJnQAAGA4lmABAADNmIAAAADN6AFJJmsOWXNUyVolZ4SsWWTNUSVrlZwRsmaRNYceEAAAYDiWYAEAAM2YgAAAAM3c7QG5/rdHf3/lZ2zXdm137u1Wzm67tmu7ffwO27Vd2621XT0gAABAM7/tHaBXSzO6y/92778DAADLft87QG8eTSwuJx8mIgAA8LxTRJyOx+Pp/Ofeq0XWpW2s/bdb//3Rzx+Px591+feR9qusfVeVrFVyyiqrrHPnlFVWWW/W/ne2x9pqAvLMz6/5s1JKKaWUUpVLD8gLLLsCAIDXmIC8wAQEAABeYwICAAA083MCUuld/b2yXn/q1ZpPwXr0cb496S3PPbLmqJK1Ss4IWbPImqNK1io5I2TNImuOVll9EeGVZ77R8dkHaen33PpYXx/3CwDAiExAGjKRAABgdnpAAACAZvSAJJM1h6w5qmStkjNC1iyy5qiStUrOCFmzyJpDDwgAADAcS7AAAIBmTEAAAIBmfj//YatPaKq0zq2a7H1b6VO6ZM1RJWuVnBGyZpE1R5WsVXJGyJpF1hytsm7eA1JlB59VyVtp8AIAwC2WYAEAAM2YgAAAAM2YgAAAAM2U/CLCSirtV1lzyLq9KjkjZM0ia44qWavkjJA1i6w5yn4RYaWdXI19CwBAdb4JHQAAaEYPCAAA0EzJHhBZc8iaQ9btVckZIWsWWXNUyVolZ4SsWWTNUbYHBAAA4BZLsAAAgGZMQAAAgGb0gCSTNYesOapkrZIzQtYssuaokrVKzghZs8iaQw8IAAAwHEuwAACAZkxAAACAZvSAJJM1h6w5qmStkjNC1iyy5qiStUrOCFmzyJpDDwgAADAcS7AAAIBmTEAAAIBmTEAAAIBmNKEnkzWHrDmqZK2SM0LWLLLmqJK1Ss4IWbPImqNV1v8DSfoCi250YWEAAAAASUVORK5CYII=", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "end = uc.ebeam_terminator_te1550()\n", + "\n", + "end1 = my_device.add_ref(end)\n", + "end2 = my_device.add_ref(end)\n", + "end3 = my_device.add_ref(end)\n", + "\n", + "end1.connect(port=\"o1\", destination=ring1.ports[\"o2\"])\n", + "end2.connect(port=\"o1\", destination=ring2.ports[\"o2\"])\n", + "end3.connect(port=\"o1\", destination=ring3.ports[\"o2\"])\n", + "\n", + "my_device.plot()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plt.close('all')" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "389052f08f384a1094dda3033ac831bd", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "wg = uc.straight(length=10)\n", + "\n", + "wg1 = my_device.add_ref(wg)\n", + "wg2 = my_device.add_ref(wg)\n", + "\n", + "wg1.connect(port=\"o1\", destination=ring1.ports[\"o4\"])\n", + "ring2.connect(port=\"o3\", destination=wg1.ports[\"o2\"])\n", + "wg2.connect(port=\"o1\", destination=ring2.ports[\"o4\"])\n", + "ring3.connect(port=\"o3\", destination=wg2.ports[\"o2\"])\n", + "\n", + "my_device.plot()\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "2bbf857e83c6408f87bfe0f02a809a0e", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "end2.connect(port=\"o1\", destination=ring2.ports[\"o2\"])\n", + "end3.connect(port=\"o1\", destination=ring3.ports[\"o2\"])\n", + "\n", + "end4 = my_device.add_ref(end) \n", + "end4.connect(port=\"o1\", destination=ring3.ports[\"o4\"])\n", + "\n", + "\n", + "my_device.plot()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "2eb86cfa4a804006bc2d25a2c5112498", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "my_device.add_port(name=\"o1\", port=ring1.ports[\"o1\"])\n", + "my_device.add_port(name=\"o2\", port=ring1.ports[\"o3\"])\n", + "my_device.add_port(name=\"o3\", port=ring2.ports[\"o1\"])\n", + "my_device.add_port(name=\"o4\", port=ring3.ports[\"o1\"])\n", + "\n", + "my_device_fibers = uc.add_fiber_array(component=my_device, component_name='MyCoolDevice1')\n", + "\n", + "my_device_fibers.plot()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "18aae99550c34f57ae146e49fcff1f00", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "my_device = gf.Component(name=\"MyDevice\")\n", + "\n", + "ring1 = my_device.add_ref(r1)\n", + "ring2 = my_device.add_ref(r2)\n", + "ring3 = my_device.add_ref(r3)\n", + "\n", + "end = uc.ebeam_terminator_te1550()\n", + "end1 = my_device.add_ref(end)\n", + "end2 = my_device.add_ref(end)\n", + "end3 = my_device.add_ref(end)\n", + "end4 = my_device.add_ref(end) \n", + "\n", + "wg = uc.straight(length=10)\n", + "wg1 = my_device.add_ref(wg)\n", + "wg2 = my_device.add_ref(wg)\n", + "\n", + "wg1.connect(port=\"o1\", destination=ring1.ports[\"o4\"])\n", + "ring2.connect(port=\"o3\", destination=wg1.ports[\"o2\"])\n", + "wg2.connect(port=\"o1\", destination=ring2.ports[\"o4\"])\n", + "ring3.connect(port=\"o3\", destination=wg2.ports[\"o2\"])\n", + "\n", + "end1.connect(port=\"o1\", destination=ring1.ports[\"o2\"])\n", + "end2.connect(port=\"o1\", destination=ring2.ports[\"o2\"])\n", + "end3.connect(port=\"o1\", destination=ring3.ports[\"o2\"])\n", + "end4.connect(port=\"o1\", destination=ring3.ports[\"o4\"])\n", + "\n", + "my_device.plot()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "4f44e3c186ed4ed08acc74197118818f", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAAxOAAAMTgF/d4wjAAA4+ElEQVR4nO3dQXLbOtMoUCT1beON/o0oC7mjbER3IR5lIdd7yUL8Bg4dmiYlUiJBdOOcqi45isOoCYFkCwRUSilvrcf1ej39NchRjnKUY6aQY46QY57oIU855og9cvz25wcAAIDDfT/7BQAAAP1QgAAAANUoQAAAgGpCFCDX6/Xsl3A4OeYgxxzkmIMcc+ghx1L6yFOOOeyRo0noAABANSFGQAAAgBwUIAAAQDUKEAAAoBoFCAAAUE2IAsSKAjnIMQc55iDHHOSYRw95yjEHq2ABAAChhBgBAQAAclCAAAAA1ShAAACAahQgAABANd9LWZ7NPvf8lt89chtHbruH19dDjkduu5VtHLntHl5fDzkeue1WtnHktnt4fT3keOS2e3h9PeR45LZb2caR2966DatgAQAA1Xw/+wUAAAD9UIAAAADVKEAAAIBqQhQgSxNYMpFjDnLMQY45yDGHHnIspY885ZjDHjmahA4AAFQTYgQEAADIQQECAABUowABAACqUYAAAADVhChArCiQgxxzkGMOcsxBjnn0kKccc7AKFgAAEEqIERAAACAHBQgAAFCNAgQAAKhGAQIAAFQTogCxokAOcsxBjjnIMQc55tFDnnLMwSpYAABAKCFGQAAAgBwUIAAAQDUKEAAAoBoFCAAAUE2IAsSKAjnIMQc55iDHHOSYRw95yjEHq2ABAAChhBgBAQAAclCAAAAA1ShAAACAakIUICb05CDHHOSYgxxzkGMePeQpxxxMQgcAAEIJMQICAADkoAABAACqUYAAAADVKEAAAIBqQhQgVhTIQY45yDEHOeYgxzx6yFOOOVgFCwAACCXECAgAAJCDAgQAAKhGAQIAAFSjAAEAAKoJUYBYUSAHOeYgxxzkmIMc8+ghTznmYBUsAAAglBAjIAAAQA4KEAAAoBoFCAAAUE2IAsSEnhzkmIMcc5BjDnLMo4c85ZiDSegAAEAoIUZAAACAHBQgAABANQoQAACgGgUIAABQTYgCxIoCOcgxBznmIMcc5JhHD3nKMQerYAEAAKGEGAEBAAByUIAAAADVKEAAAIBqFCAAAEA130tZns0+9/yW3z1yG0duu4fX10OOR267lW0cue0eXl8POR657Va2ceS2e3h9PeR45LZ7eH095HjktlvZxpHb3roNq2ABAADVfD/7BQAAAP1QgAAAANUoQAAAgGpCFCBLE1gykWMOcsxBjjnIMYceciyljzzlmMMeOZqEDgAAVBNiBAQAAMhBAQIAAFSjAAEAAKpRgAAAANWEKECsKJCDHHOQYw5yzEGOefSQpxxzsAoWAAAQSogREAAAIAcFCAAAUI0CBAAAqEYBAgAAVBOiALGiQA5yzEGOOcgxBznm0UOecszBKlgAAEAoIUZAAACAHBQgAABANQoQAACgGgUIAABQTYgCxIoCOcgxBznmIMcc5JhHD3nKMQerYAEAAKGEGAEBAAByUIAAAADVKEAAAIBqQhQgJvTkIMcc5JiDHHOQYx495CnHHExCBwAAQgkxAgIAAOSgAAEAAKpRgAAAANUoQAAAgGpCFCBWFMhBjjnIMQc55iDHPHrIU445WAULAAAIJcQICAAAkIMCBAAAqEYBAgAAVKMAAQAAqglRgFhRIAc55iDHHOSYgxzz6CFPOeZgFSwAACCUECMgAABADgoQAACgGgUIAABQTYgCxISeHOSYgxxzkGMOcsyjhzzlmINJ6AAAQCiHj4BcLpej/wsAACCIQwsQxQcAADC27y1Yl+vfH8vrp796LZfRH64FAADoz/923+Kf4uK/l5fy7efP8vbyUkop5dvPn+9/PypSAACAvhx6C9bbnyLkWVYUyEGOOcgxBznmIMc8eshTjjm0twrW5foxAvJ2awTELVgAANClECMgAABADocWIOMREAAAACMgAABANUZAAACAar6Xsjybfe75Lb/79vJS/v39+6ltHPn6jtzGkdtuZRtHbruH19dDjkduu5VtHLntHl5fDzkeue1WtnHktr2+HNs4cts9vL5sOe67ClYpH6tcWQULAACY+n7kxs0BAQAAxg4tQMwBAQAAxoyAAAAA1RxWgAyFhxEQAABgcOgISClllxGQpRn0mcgxBznmIMcc5JhDDzmW0keecsxhjxwPWwWrlPJpBayP27GsggUAAN2qMgLy6Tas1+t7EQIAAHTn8ALERHQAAGBQfwQEAADoVogREBN6cpBjDnLMQY45yDGPHvKUYw4h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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "bend = uc.bend()\n", + "bend_180 = uc.bend_euler180_sc()\n", + "\n", + "bend1 = my_device.add_ref(bend)\n", + "bend2 = my_device.add_ref(bend)\n", + "bend3 = my_device.add_ref(bend)\n", + "bend_180 = my_device.add_ref(bend_180)\n", + "wg_out = my_device.add_ref(uc.straight(40))\n", + "bend4 = my_device.add_ref(bend)\n", + "\n", + "bend1.connect('o2', ring1.ports['o3'])\n", + "bend2.connect('o1', ring1.ports['o1'])\n", + "bend3.connect('o1', ring2.ports['o1'])\n", + "bend_180.connect('o1', ring3.ports['o1'])\n", + "wg_out.connect('o1', bend_180.ports['o2'])\n", + "bend4.connect('o1', wg_out.ports['o2'])\n", + "\n", + "my_device.add_port(name=\"o2\", port=bend2.ports[\"o2\"])\n", + "my_device.add_port(name=\"o1\", port=bend1.ports[\"o1\"])\n", + "my_device.add_port(name=\"o3\", port=bend3.ports[\"o2\"])\n", + "my_device.add_port(name=\"o4\", port=bend4.ports[\"o2\"])\n", + "\n", + "\n", + "my_device.plot()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [], + "source": [ + "my_device_fibers = uc.add_fiber_array(component=my_device.rotate(), component_name='MyCoolDevice1')\n", + "\n", + "my_device_fibers.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "7ae22125a2a343ee8eb6bce3191dd97b", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure 13\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5b4806204273406b80521ea9842a39a4", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAAxOAAAMTgF/d4wjAABDDklEQVR4nO3dQVIiXcOt0e0b/zRs1USogdhiIJdvILQcSDERWw6E21AUERAQktywVkSGVSrwmIJyzHOShyTLAAAADOC/awcAAAD3wwAEAAAYjAEIAAAwmKsMQGaz2TVu9ixa23UPr7W9tTvpbW/tTnrbW7uT3vbW7qS3vbU76W1v7U6GbX+IRegAAMBATMECAAAGYwACAAAMxhqQI7W26x5ea3trd9Lb3tqd9La3die97a3dSW97a3fS297anVgDAgAA3ChTsAAAgMEYgAAAAIMxAAEAAAZjEfqRmtsBALic5ueJFqEDAAA3yRQsAABgMAYgAADAYKwBOVJze6Pm/d3a3tqd9La3die97a3dSW97a3fS297anfS2t3Yn1oAAAAA3yhQsAABgMAYgAADAYAxAAACAwfyXbF90svm+Qz7H5cbbtM0YOxuabv1yY2xqudwYm279cmNsarncGJtu/XJjbGq63Bibbvlyl7xui9ABAIDB/HftAAAA4H4YgAAAAIMxAAEAAAZzlQHIIQuLxqq5vVHz/m5tb+1Oettbu5Pe9tbupLe9tTvpbW/tTnrbW7uTYdstQgcAAAZjChYAADAYAxAAAGAw1oAcqbm9UfP+bm1v7U5621u7k9721u6kt721O+ltb+1OettbuxNrQAAAgBtlChYAADAYAxAAAGAwBiAAAMBgLEI/UnN7o+b93dre2p30trd2J73trd1Jb3trd9Lb3tqd9La3dicWoQMAADfKFCwAAGAwBiAAAMBgDEAAAIDBWIR+pOb2Rs37u7W9tTvpbW/tTnrbW7uT3vbW7qS3vbU76W1v7U4sQgcAAG6UKVgAAMBgDEAAAIDBWANypOb2Rs37u7W9tTvpbW/tTnrbW7uT3vbW7qS3vbU76W1v7U6sAQEAAG6UKVgAAMBgDEAAAIDBGIAAAACDsQj9SM3tjZr3d2t7a3fS297anfS2t3Ynve2t3Ulve2t30tve2p1YhA4AANwoU7AAAIDBGIAAAACDMQABAAAGYxH6kZrbGzXv79b21u6kt721O+ltb+1Oettbu5Pe9tbupLe9tTuxCB0AALhRpmABAACDMQABAAAGYw3IkZrbGzXv79b21u6kt721O+ltb+1Oettbu5Pe9tbupLe9tTuxBgQAALhRpmABAACDMQABAAAGYwACAAAMxiL0IzW3N2re363trd1Jb3trd9Lb3tqd9La3die97a3dSW97a3diEToAAHCjTMECAAAGYwACAAAMxgAEAAAYzH/J9kUnm+875HNcbrxN24yxs6Hp1i83xqaWy42x6dYvN8amlsuNsenWLzfGpqbLjbHpli93yeu2CB0AABjMf9cOAAAA7ocBCAAAMJirDEAOmdc3Vs3tjZr3d2t7a3fS297anfS2t3Ynve2t3Ulve2t30tve2p0M224NCAAAMBhTsAAAgMEYgAAAAIMxAAEAAAZjEfqRmtsbNe/v1vbW7qS3vbU76W1v7U5621u7k9721u6kt721O7EIHQAAuFGmYAEAAIMxAAEAAAZjAAIAAAzGIvQjNbc3at7fre2t3Ulve2t30tve2p30trd2J73trd1Jb3trd2IROgAAcKNMwQIAAAZjAAIAAAzGGpAjNbc3at7fre2t3Ulve2t30tve2p30trd2J73trd1Jb3trd2INCAAAcKNMwQIAAAZjAAIAAAzGAAQAABiMRehHam5v1Ly/W9tbu5Pe9tbupLe9tTvpbW/tTnrbW7uT3vbW7sQidAAA4EaZggUAAAzGAAQAABiMNSBHam5v1Ly/W9tbu5Pe9tbupLe9tTvpbW/tTnrbW7uT3vbW7sQaEAAA4EaZggUAAAzGAAQAABiMAQgAADAYi9CP1NzeqHl/t7a3die97a3dSW97a3fS297anfS2t3Ynve2t3YlF6AAAwI0yBQsAABiMAQgAADAYAxAAAGAwFqEfqbm9UfP+bm1v7U5621u7k9721u6kt721O+ltb+1OettbuxOL0AEAgBtlChYAADAYAxAAAGAw1oAcqbm9UfP+bm1v7U5621u7k9721u6kt721O+ltb+1OettbuxNrQAAAgBtlChYAADAYAxAAAGAwBiAAAMBg/ku2LzrZfN8hn+Ny423aZoydDU23frkxNrVcboxNt365MTa1XG6MTbd+uTE2NV1ujE23fLlLXrdF6AAAwGD+u3YAAABwPwxAAACAwRiAAAAAg7nKAOSQhUVj1dze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0tve2p30trd2J9aAAABwL6wBuTumYAEAAIMxAAEAAAZjAAIAAAzGIvQjtbbrHl5re2t30tve2p30trd2J73trd1Jb3trd9Lb3tqdWIQOAMC9sAj97piCBQAADMYABAAAGIwBCAAAMBiL0I/U2q57eK3trd1Jb3trd9Lb3tqd9La3die97a3dSW97a3diEToAAPfCIvS7YwoWAAAwGAMQAABgMNaAHKm1XffwWttbu5Pe9tbupLe9tTvpbW/tTnrbW7uT3vbW7sQaEAAA7oU1IHfHFCwAAGAwBiAAAMBgDEAAAIDBWIR+pNZ23cNrbW/tTnrbW7uT3vbW7qS3vbU76W1v7U5621u7E4vQAQC4Fxah3x1TsAAAgMEYgAAAAIMxAAEAAAZjEfqRWtt1D6+1vbU76W1v7U5621u7k9721u6kt721O+ltb+1OLEIHAOBeWIR+d0zBAgAABmMAAgAADMYakCO1tuseXmt7a3fS297anfS2t3Ynve2t3Ulve2t30tve2p1YAwIAwL2wBuTumIIFAAAMxgAEAAAYjAEIAAAwGIvQj9Tarnt4re2t3Ulve2t30tve2p30trd2J73trd1Jb3trd2IROgAA98Ii9LtjChYAADAYAxAAAGAw/yXb53xtvu+Qz3G5nqaWy42x6dYvN8amlsuNsenWLzfGppbLjbHp1i83xqZxXO7bp9jnI7jcJa/bGhAAAK5nYg3Ivfnv2gEAAMD9MAABAAAGYwACAAAM5ioDkG2LU1q0tuseXmt7a3fS297anfS2t3Ynve2t3Ulve2t30tve2p0M224ROgAA12MR+t0xBQsAABiMAQgAADAYAxAAAGAwFqEfqbVd9/Ba21u7k9721u6kt721O+ltb+1Oettbu5Pe9tbuxCJ0AADuhUXod8cULAAAYDAGIAAAwGCsATlSa7vu4bW2t3Ynve2t3Ulve2t30tve2p30trd2J73trd2JNSAAANwLa0DujilYAADAYAxAAACAwRiAAAAAg7EI/Uit7bqH19re2p30trd2J73trd1Jb3trd9Lb3tqd9La3dicWoQMAcC8sQr87pmABAACDMQABAAAGYwACAAAMxiL0I7W26x5ea3trd9Lb3tqd9La3die97a3dSW97a3fS297anViEDgDAvbAI/e6YggUAAAzGAAQAABiMNSBHam3XPbzW9tbupLe9tTvpbW/tTnrbW7uT3vbW7qS3vbU7sQbk6maz2c5vwur9p34cAIA11oDcnf+7dsCY/DRoWB+YbBuk/PRxAADg7QiIbW2bzWZHv+/Qy5x6m7PZ7GNb//+195XNZrPZbHe5TWbXb7iVbTJbLudz+/SONkdAimw7uuJICwAMbDLLcv6YZJ4keZiaOvQby/lj/k6fk0yuncJALEI/0iHTtMZorF0/ae1Oettbu5Pe9tbupLe9tTvpbW/tTna0Lz635dNjli/zLF/myWTL515J0z7/N3/6Mohral/X2p0M3371wzBj28Y6BevQ27XZbDabzXbB7X3K0M7t5W0zpeiw7WN/jaDFNsxmChYAwDkt3t4snx6TuWlasMkLER5oc63Fsf8/5fYAgPF5W/9xoEVGPU0LrsERkDWbA4ht79v3Oh8/ffzY2zcIAYBeD8+vX9/x/D4QcWTkk8HY3Rp83lfzuoVLtV96n7Tu89bu5vbW7ub21u7m9tbu5vbW7m3ty5c96z/et0xmO7fl/G29w6XXjDTs811fe0N76z4fQ7tXQh8JRzwAoMPyZf6xzmObb0c+tl3H02MeptMs5/OPt0k+zkR780dGVqcyXiSZJA9/plcOYkimYAEAnMn64GP59Lj1/Um+DT4+3v55e7s+TSu5oSfo71OuPtbRTG7oa+NgjoAAABxh3xGQXQOQzY8lSRaz7YOQbW9f5vk7fX57vYwy37oX+TzSY/Bxl7wQ4ZFa23UPr7W9tTvpbW/tTnrbW7uT3vbW7uS09s3Bx7b3HTz4eD8SchODj7wNxB6mr3sHH633l9buZNh2R0AAAI5w6hGQzY//dATkbtaDcHfOvgakeeTXzH4HgHE7ZPCRydsA52H6mkxn10qFi7IIfU3rk/jWbgC4Ncunx4+Bxurt+vs+Ps+ggztmAAIAcEabA47vg4+3qVkGHdyr/5Ldr+q97/+73ndLzrVfDt1359rnl769IS83xqZbv9wYm1ouN8amW7/cGJtaLjfGpqbL/WTrIvT3gcfDn+nHNpt8v2zLPmi43BibWi53yes++yL0Ux6kY9HaPpvNatsBoNFPL0aYxCJy2MEULACAc5l8/tNrXMB2BiBrHEUAAI42eXtjPQccxuuAAAAcafny9uKAplfB8f67xo02H2lobdc9vNb21u6kt721O+ltb+1Oettbu5Pt7atF5GMefNzaPm/Q2p0M2+4ICAAAMJirHAEBAADukwEIAAAwGGtAjtTarnt4re2t3Ulve2t30tve2p30trd2J73trd1Jb3trd2INCAAAcKNMwQIAAAZjAAIAAAzGAAQAABiMRehHam3XPbzW9tbupLe9tTvpbW/tTnrbW7uT3vbW7qS3vbU7sQgdAAC4UaZgAQAAgzEAAQAABmMAAgAADMYi9CO1tuseXmt7a3fS297anfS2t3Ynve2t3Ulve2t30tve2p0M2/7/AVPAoMsYBBY7AAAAAElFTkSuQmCC", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "my_submission = gf.Component(name=\"MySubmission\")\n", + "floorplan = gf.components.rectangle(size=(605, 410), layer='FLOORPLAN')\n", + "dl1 = my_submission.add_ref(delay_line_1)\n", + "dl2 = my_submission.add_ref(delay_line_2)\n", + "mzi = my_submission.add_ref(TE_MZI)\n", + "my = my_submission.add_ref(my_device_fibers)\n", + "\n", + "my_submission.distribute(elements=(dl1, dl2, mzi, my), direction='x', spacing=10, separation=True)\n", + "my_submission.align(elements=(dl1, dl2, mzi, my), alignment='ymax')\n", + "\n", + "my_submission.add_ref(floorplan)\n", + "\n", + "my_submission.plot()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "af85d7207f7842feadc72b9bc6486218", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "floorplan = gf.components.rectangle(size=(605, 410), layer='FLOORPLAN')\n", + "\n", + "\n", + "my_submission_2 = gf.pack([delay_line_1, delay_line_2, TE_MZI, my_device_fibers], spacing=5, max_size=(605, 410))[0]\n", + "\n", + "my_submission_2.add_ref(floorplan)\n", + "my_submission_2.plot()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "3e6417510ff14f23937ad48fd4b8441e", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAAxOAAAMTgF/d4wjAABDJUlEQVR4nO3dQVYiS6OF0cNdbxq2aiLUQGwxkJ87EFoO5DKRajkQXkOxEFFBIYmDe6/FskpN/MyikDAjMmdJNgEAAJjAP9cOAAAAfg4DEAAAYDIGIAAAwGS+PABZLpdnzJhWa7vu6bW2t3Ynve2t3Ulve2t30tve2p30trd2J73trd1JT/ssFqEDAAATMQULAACYjAEIAAAwGWtAiuieXmt7a3fS297anfS2t3Ynve2t3Ulve2t30tve2p30tFsDAgAATMYULAAAYDIGIAAAwGQMQAAAgMlYhA4AAM+aXye2tFuEDgAATMYULAAAYDIGIAAAwGSsAeHimvd3a3trd9Lb3tqd9La3die97a3dSW97a3fS297anfS0WwMCAABMxhQsAABgMgYgAADAZAxAAACAyfxzaLHK/vuO+Zxb326EpkNG7GxouvXtRmxq2W7EplvfbsSmlu1GbLr17UZsatpuxKZb3m7EpsQidAAAYEL/XDsAAAD4OQxAAACAyRiAAAAAk/nyAOSYhUWjam5v1Ly/W9tbu5Pe9tbupLe9tTvpbW/tTnrbW7uT3vbW7qSn3SJ0AABgMqZgAQAAkzEAAQAAJmMNCBfXvL9b21u7k9721u6kt721O+ltb+1Oettbu5Pe9tbupKfdGhAAAGAypmABAACTMQABAAAmYwACAABMxiJ0Lq55f7e2t3Ynve2t3Ulve2t30tve2p30trd2J73trd1JT7tF6AAAwGRMwQIAACZjAAIAAEzGAAQAAJiMRehcXPP+bm1v7U5621u7k9721u6kt721O+ltb+1Oettbu5OedovQAQCAyZiCBQAATMYABAAAmIw1IFxc8/5ubW/tTnrbW7uT3vbW7qS3vbU76W1v7U5621u7k552a0AAAIDJmIIFAABMxgAEAACYjAEIAAAwGYvQubjm/d3a3tqd9La3die97a3dSW97a3fS297anfS2t3YnPe0WoQMAAJMxBQsAAJiMAQgAADAZAxAAAGAyFqFzcc37u7W9tTvpbW/tTnrbW7uT3vbW7qS3vbU76W1v7U562i1CBwAAJmMKFgAAMBkDEAAAYDLWgHBxzfu7tb21O+ltb+1Oettbu5Pe9tbupLe9tTvpbW/tTnrarQEBAAAmYwoWAAAwGQMQAABgMgYgAADAZCxC5+Ka93dre2t30tve2p30trd2J73trd1Jb3trd9Lb3tqd9LRbhA4AAEzGFCwAAGAyBiAAAMBkDEAAAIDJ/HNoscr++475nFvfboSmQ0bsbGi69e1GbGrZbsSmW99uxKaW7UZsuvXtRmxq2m7EplvebsSmxCJ0AABgQv9cOwAAAPg5DEAAAIDJfHkAcsy8vlE1tzdq3t+t7a3dSW97a3fS297anfS2t3Ynve2t3Ulve2t30tNuDQgAADAZU7AAAIDJGIAAAACTMQABAAAmYxE6F9e8v1vbW7uT3vbW7qS3vbU76W1v7U5621u7k9721u6kp90idAAAYDKmYAEAAJMxAAEAACZjAAIAAEzGInQurnl/t7a3die97a3dSW97a3fS297anfS2t3Ynve2t3UlPu0XoAADAZEzBAgAAJmMAAgAATMYaEC6ueX+3trd2J73trd1Jb3trd9Lb3tqd9La3die97a3dSU+7NSAAAMBkTMECAAAmYwACAABMxgAEAACYjEXoXFzz/m5tb+1Oettbu5Pe9tbupLe9tTvpbW/tTnrbW7uTnnaL0AEAgMmYggUAAEzGAAQAAJiMNSBcXPP+bm1v7U5621u7k9721u6kt721O+ltb+1Oettbu5OedmtAAACAyZiCBQAATMYABAAAmIwBCAAAMBmL0Lm45v3d2t7anfS2t3Ynve2t3Ulve2t30tve2p30trd2Jz3tFqEDAACTMQULAACYjAEIAAAwGQMQAABgMhahc3HN+7u1vbU76W1v7U5621u7k9721u6kt721O+ltb+1OetotQgcAACZjChYAADAZAxAAAGAy1oBwcc37u7W9tTvpbW/tTnrbW7uT3vbW7qS3vbU76W1v7U562q0BAQAAJmMKFgAAMBkDEAAAYDIGIAAAwGT+ObRYZf99x3zOrW83QtMhI3Y2NN36diM2tWw3YtOtbzdiU8t2Izbd+nYjNjVtN2LTLW83YlNiEToAADChf64dAAAA/BwGIAAAwGQMQAAAgMl8eQByzMKiUTW3N2re363trd1Jb3trd9Lb3tqd9La3die97a3dSW97a3fS024ROgAAMBlTsAAAgMkYgAAAAJOxBoSLa97fre2t3Ulve2t30tve2p30trd2J73trd1Jb3trd9LTbg0IAAAwGVOwAACAyRiAAAAAkzEAAQAAJmMROhfXvL9b21u7k9721u6kt721O+ltb+1Oettbu5Pe9tbupKfdInQAAGAypmABAACTMQABAAAmYwACAABMxiJ0Lq55f7e2t3Ynve2t3Ulve2t30tve2p30trd2J73trd1JT7tF6AAAwGRMwQIAACZjAAIAAEzGGhAurnl/t7a3die97a3dSW97a3fS297anfS2t3Ynve2t3UlPuzUgAADAZEzBAgAAJmMAAgAATMYABAAAmIxF6Fxc8/5ubW/tTnrbW7uT3vbW7qS3vbU76W1v7U5621u7k552i9ABAIDJmIIFAABMxgAEAACYjAEIAAAwGYvQubjm/d3a3tqd9La3die97a3dSW97a3fS297anfS2t3YnPe0WoQMAAJMxBQsAAJiMAQgAADAZa0C4uOb93dre2p30trd2J73trd1Jb3trd9Lb3tqd9La3dic97daAAAAAkzEFCwAAmIwBCAAAMBkDEAAAYDIWoXNxzfu7tb21O+ltb+1Oettbu5Pe9tbupLe9tTvpbW/tTnraLUIHAAAmYwoWAAAwGQMQAABgMgYgAADAZP45tFhl/33HfM6tbzdC0yEjdjY03fp2Iza1bDdi061vN2JTy3YjNt36diM2NW03YtMtbzdiU2IROgAAMKF/rh0AAAD8HAYgAADAZL48ADlmXt+omtsbNe/v1vbW7qS3vbU76W1v7U5621u7k9721u6kt721O+lptwYEAACYjClYAADAZAxAAACAyRiAAAAAk7EInYtr3t+t7a3dSW97a3fS297anfS2t3Ynve2t3Ulve2t30tNuEToAADAZU7AAAIDJGIAAAACTMQABAAAmYxE6F9e8v1vbW7uT3vbW7qS3vbU76W1v7U5621u7k9721u6kp90idAAAYDKmYAEAAJMxAAEAACZjDQgX17y/W9tbu5Pe9tbupLe9tTvpbW/tTnrbW7uT3vbW7qSn3RoQAABgMqZgAQAAkzEAAQAAJmMAAgAATMYidC6ueX+3trd2J73trd1Jb3trd9Lb3tqd9La3die97a3dSU+7RegAAMBkTMECAAAmYwACAABMxhoQLq55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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "my_submission = gf.Component(name=\"MySubmission\")\n", + "floorplan = gf.components.rectangle(size=(605, 410), layer='FLOORPLAN')\n", + "dl1 = my_submission.add_ref(delay_line_1)\n", + "dl2 = my_submission.add_ref(delay_line_2)\n", + "mzi = my_submission.add_ref(TE_MZI)\n", + "my = my_submission.add_ref(my_device_fibers)\n", + "\n", + "my_submission.distribute(elements=(my, dl1, mzi, dl2,), direction='x', spacing=10, separation=True)\n", + "my_submission.align(elements=(dl1, dl2, mzi, my), alignment='ymax')\n", + "\n", + "my_submission.add_ref(floorplan)\n", + "my_submission.plot()\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [], + "source": [ + "plt.close('all')" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [], + "source": [ + "dl2.move(origin=dl2.center, destination = dl2.center + (-250, -200))\n", + "my_submission.plot()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "fe5a4c23639f48dfb32c8f3386862d4b", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAAxOAAAMTgF/d4wjAABF+ElEQVR4nO3dQXaiSgOG4Y97/m04ykbIQhyxkMtdCCMXEjaSkQvhHyAEERS1KOrD9zmH093paN7QtrGkCjJJjQAAAAAggn+2DgAAAADwORiAAAAAAIiGAQgAAACAaN4egJRlGSAjPtduybed7vhc2127Jd92127Jt921W/Jtd+2WfNtduyXfdofuTCxCBwAAABAJU7AAAAAARMMABAAAAEA0rAEx5NpOd3yu7a7dkm+7a7fk2+7aLfm2u3ZLvu2u3ZJvu0M3a0AAAAAARMMULAAAAADRMAABAAAAEA0DEAAAAADRsAjdkHM7AAAA1uPwOpFF6AAAAACiYQoWAAAAgGgYgAAAAACIhjUghpzbHTnvb9d2127Jt921W/Jtd+2WfNtduyXfdtduybfdoZs1IAAAAACiYQoWAAAAgGgYgAAAAACIhgEIAAAAgGj6Ach4wcrUApYlHwv1Odwu7O1SaJqSYqdD095vl2KTy+1SbNr77VJscrldik17v12KTU63S7HJ8XYsQgcAAAAQzT9bBwAAAAD4HAxAAAAAAETDAAQAAABANG8PQJYs0EmRa7fk3e7IeX+7trt2S77trt2Sb7trt+Tb7tot+ba7dku+7Q7dLEIHAAAAEA1TsAAAAABEwwAEAAAAQDSsATHk3O7IeX+7trt2S77trt2Sb7trt+Tb7tot+ba7dku+7Q7drAEBAAAAEA1TsAAAAABEwwAEAAAAQDQMQAAAAABEwyJ0Q87tjpz3t2u7a7fk2+7aLfm2u3ZLvu2u3ZJvu2u35Nvu0M0idAAAAADRMAULAAAAQDQMQAAAAABEwwAEAAAAQDQsQjfk3O7IeX+7trt2S77trt2Sb7trt+Tb7tot+ba7dku+7Q7dLEIHAAAAEA1TsAAAAABEwwAEAAAAQDSsATHk3O7IeX+7trt2S77trt2Sb7trt+Tb7tot+ba7dku+7Q7drAEBAAAAEA1TsAAAAABEwwAEAAAAQDQMQAAAAABEwyJ0Q87tjpz3t2u7a7fk2+7aLfm2u3ZLvu2u3ZJvu2u35Nvu0M0idAAAAADRMAULAAAAQDQMQAAAAABEwwAEAAAAQDQsQjfk3O7IeX+7trt2S77trt2Sb7trt+Tb7tot+ba7dku+7Q7dLEIHAAAAEA1TsAAAAABEwwAEAAAAQDSsATHk3O7IeX+7trt2S77trt2Sb7trt+Tb7tot+ba7dku+7Q7drAEBAAAAEA1TsAAAAABEwwAEAAAAQDQMQAAAAABEwyJ0Q87tjpz3t2u7a7fk2+7aLfm2u3ZLvu2u3ZJvu2u35Nvu0M0idAAAAADRMAULAAAAQDQMQAAAAABEwwAEAAAAQDT9AGS8YGVqAcuSj4X6HG4X9nYpNE1JsdOhae+3S7HJ5XYpNu39dik2udwuxaa93y7FJqfbpdjkeDsWoQMAAACI5p+tAwAAAAB8DgYgAAAAAKJ5ewCyZH5cily7Je92R87727XdtVvybXftlnzbXbsl33bXbsm33bVb8m136GYNCAAAAIBomIIFAAAAIBoGIAAAAACiYQACAAAAIBoWoRtybnfkvL9d2127Jd92127Jt921W/Jtd+2WfNtduyXfdoduFqEDAAAAiIYpWAAAAACiYQACAAAAIBoGIAAAAACiYRG6Ied2R87727XdtVvybXftlnzbXbsl33bXbsm33bVb8m136GYROgAAAIBomIIFAAAAIBoGIAAAAACiYQ2IIed2R87727XdtVvybXftlnzbXbsl33bXbsm33bVb8m136GYNCAAAAIBomIIFAAAAIBoGIAAAAACiYQACAAAAIBoWoRtybnfkvL9d2127Jd92127Jt921W/Jtd+2WfNtduyXfdoduFqEDAAAAiIYpWAAAAACiYQACAAAAIBrWgBhybnfkvL9d2127Jd92127Jt921W/Jtd+2WfNtduyXfdodu1oAAAAAAiIYpWAAAAACiYQACAAAAIBoGIAAAAACiYRG6Ied2R87727XdtVvybXftlnzbXbsl33bXbsm33bVb8m136GYROgAAAIBomIIFAAAAIBoGIAAAAACiYQACAAAAIBoWoRtybnfkvL9d2127Jd92127Jt921W/Jtd+2WfNtduyXfdoduFqEDAAAAiIYpWAAAAACiYQACAAAAIBrWgBhybnfkvL9d2127Jd92127Jt921W/Jtd+2WfNtduyXfdodu1oAAAAAAiIYpWAAAAACiYQACAAAAIBoGIAAAAACi6Qcg4wUrUwtYlnws1Odwu7C3S6FpSoqdDk17v12KTS63S7Fp77dLscnldik27f12KTY53S7FJsfbsQgdAAAAQDT/bB0AAAAA4HMwAAEAAAAQDQMQAAAAANG8PQBZskAnRa7dkne7I+f97dru2i35trt2S77trt2Sb7trt+Tb7tot+bY7dLMIHQAAAEA0TMECAAAAEA0DEAAAAADRsAbEkHO7I+f97dru2i35trt2S77trt2Sb7trt+Tb7tot+bY7dLMGBAAAAEA0TMECAAAAEA0DEAAAAADRMAABAAAAEA2L0A05tzty3t+u7a7dkm+7a7fk2+7aLfm2u3ZLvu2u3ZJvu0M3i9ABAAAARMMULAAAAADRMAABAAAAEA0DEAAAAADRsAjdkHO7I+f97dru2i35trt2S77trt2Sb7trt+Tb7tot+bY7dLMIHQAAAEA0TMECAAAAEA0DEAAAAADRsAbEkHO7I+f97dru2i35trt2S77trt2Sb7trt+Tb7tot+bY7dLMGBAAAAEA0TMECAAAAEA0DEAAAAADRMAABAAAAEA2L0A05tzty3t+u7a7dkm+7a7fk2+7aLfm2u3ZLvu2u3ZJvu0M3i9ABAAAARMMULAAAAADRMAABAAAAEA0DEAAAAADRsAjdkHO7I+f97dru2i35trt2S77trt2Sb7trt+Tb7tot+bY7dLMIHQAAAEA0TMECAAAAEA0DEAAAAADRsAbEkHO7I+f97dru2i35trt2S77trt2Sb7trt+Tb7tot+bY7dLMGBAAAAEA0TMECAAAAEA0DEAAAAADRMAABAAAAEA2L0A05tzty3t+u7a7dkm+7a7fk2+7aLfm2u3ZLvu2u3ZJvu0M3i9ABAAAARMMULAAAAADRMAABAAAAEA0DEAAAAADR9AOQ8YKVqQUsSz4W6nO4XdjbpdA0JcVOh6a93y7FJpfbpdi099ul2ORyuxSb9n67FJucbpdik+PtWIQOAAAAIJp/tg4AAAAA8DkYgAAAAACI5u0ByJL5cSly7Za82x0572/XdtduybfdtVvybXftlnzbXbsl33bXbsm33aGbNSAAAAAAomEKFgAAAIBoGIAAAAAAiIYBCAAAAIBoWIRuyLndkfP+dm137ZZ82127Jd92127Jt921W/Jtd+2WfNsdulmEDgAAACAapmABAAAAiIYBCAAAAIBoGIAAAAAAiIZF6Iac2x0572/XdtduybfdtVvybXftlnzbXbsl33bXbsm33aGbRegAAAAAomEKFgAAAIBoGIAAAAAAiIY1IIac2x0572/XdtduybfdtVvybXftlnzbXbsl33bXbsm33aGbNSAAAAAAomEKFgAAAIBoGIAAAAAAiIYBCAAAAIBoWIRuyLndkfP+dm137ZZ82127Jd92127Jt921W/Jtd+2WfNsdulmEDgAAACAapmABAAAAiIYBCAAAAIBoWANiyLndkfP+dm137ZZ82127Jd92127Jt921W/Jtd+2WfNsdulkDAgAAACAapmABAAAAiIYBCAAAAIBoGIAAAAAAiIZF6Iac2x0572/XdtduybfdtVvybXftlnzbXbsl33bXbsm33aGbRegAAAAAomEKFgAAAIBoGIAAAAAAiIYBCAAAAIBoWIRuyLndkfP+dm137ZZ82127Jd92127Jt921W/Jtd+2WfNsdulmEDgAAACAapmABAAAAiIYBCAAAAIBoWANiyLndkfP+dm137ZZ82127Jd92127Jt921W/Jtd+2WfNsdulkDAgAAACAapmABAAAAiIYBCAAAAIBoGIAAAAAAiKYfgIwXrEwtYFnysVCfw+3C3i6Fpikpdjo07f12KTa53C7Fpr3fLsUml9ul2LT326XY5HS7FJscb8cidAAAAADR/G/rgF3JS6kut64A8KSmqm4+9n066ed43KBme1Pfe1YUr98hz40AgAGOgISSl2qqgyQpK878sAUMTA08cN/TAxGeGwEAIwxAQslLNcfD4M9/v82+3njnEMAqhoOPt97d/yAv7TOeGwEAI28PQMqyXLRIJzWhu5vfSqpn/jJvfwn17p/rPnflvL9d29fufvRCenxk5BOmY937Hof7qNs3SwcgMZ4beZzH59ru2i35trt2S77tDt0cAQnk7g/Zofzvt7z7B2xj7kX0p0/Jmhpo3Pu7JYMQnhsBAGMsQg8hL5f9gJWuPq/57X6Iny9/V4ZrAnDX3IttpmO1xvunqaqX1n/w3AgAGOMISAjjOc53ZKfz1Z+n5kazUBNYz9S790uPiHyfTpK0m+lYz5ztaryPFg1IeG4EAEx4+wiIwzyzKbG7xz9cbz5el/0P9KaqpGrwDuDoB67rPnflvL9d22N23xuQjHUv1u+98Hba51Pf57Nr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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure 13\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\u001b[32m2024-02-02 11:06:32.477\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mgdsfactory.component\u001b[0m:\u001b[36m_write_library\u001b[0m:\u001b[36m1913\u001b[0m - \u001b[1mWrote to 'my_submission.gds'\u001b[0m\n" + ] + }, + { + "data": { + "text/plain": [ + "PosixPath('my_submission.gds')" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_submission_2.write_gds(\"my_submission.gds\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "mp", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/book/pages/mzi.gds b/book/pages/mzi.gds index 5e1ff00..b93ab12 100644 Binary files a/book/pages/mzi.gds and b/book/pages/mzi.gds differ diff --git a/book/pages/mzi_layout.ipynb b/book/pages/mzi_layout.ipynb index ec76b8f..033f7f4 100644 --- a/book/pages/mzi_layout.ipynb +++ b/book/pages/mzi_layout.ipynb @@ -25,10 +25,10 @@ "name": "stderr", "output_type": "stream", "text": [ - "\u001b[32m2024-01-29 08:27:51.562\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mgdsfactory.technology.layer_views\u001b[0m:\u001b[36m__init__\u001b[0m:\u001b[36m790\u001b[0m - \u001b[1mImporting LayerViews from YAML file: '/home/parkeraa/miniconda3/envs/mp/lib/python3.11/site-packages/ubcpdk/layers.yaml'.\u001b[0m\n", - "\u001b[32m2024-01-29 08:27:52.715\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mubcpdk\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m30\u001b[0m - \u001b[1mFound UBCpdk '2.3.4' installed at PosixPath('/home/parkeraa/miniconda3/envs/mp/lib/python3.11/site-packages/ubcpdk')\u001b[0m\n", - "\u001b[32m2024-01-29 08:27:52.806\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mgdsfactory.technology.layer_views\u001b[0m:\u001b[36m__init__\u001b[0m:\u001b[36m790\u001b[0m - \u001b[1mImporting LayerViews from YAML file: '/home/parkeraa/miniconda3/envs/mp/lib/python3.11/site-packages/gdsfactory/generic_tech/layer_views.yaml'.\u001b[0m\n", - "\u001b[32m2024-01-29 08:27:52.813\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mgdsfactory.pdk\u001b[0m:\u001b[36mactivate\u001b[0m:\u001b[36m307\u001b[0m - \u001b[1m'ubcpdk' PDK is now active\u001b[0m\n" + "\u001b[32m2024-01-29 10:08:41.400\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mgdsfactory.technology.layer_views\u001b[0m:\u001b[36m__init__\u001b[0m:\u001b[36m790\u001b[0m - \u001b[1mImporting LayerViews from YAML file: '/home/parkeraa/miniconda3/envs/mp/lib/python3.11/site-packages/ubcpdk/layers.yaml'.\u001b[0m\n", + "\u001b[32m2024-01-29 10:08:42.302\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mubcpdk\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m30\u001b[0m - \u001b[1mFound UBCpdk '2.3.4' installed at PosixPath('/home/parkeraa/miniconda3/envs/mp/lib/python3.11/site-packages/ubcpdk')\u001b[0m\n", + "\u001b[32m2024-01-29 10:08:42.375\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mgdsfactory.technology.layer_views\u001b[0m:\u001b[36m__init__\u001b[0m:\u001b[36m790\u001b[0m - \u001b[1mImporting LayerViews from YAML file: '/home/parkeraa/miniconda3/envs/mp/lib/python3.11/site-packages/gdsfactory/generic_tech/layer_views.yaml'.\u001b[0m\n", + "\u001b[32m2024-01-29 10:08:42.379\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mgdsfactory.pdk\u001b[0m:\u001b[36mactivate\u001b[0m:\u001b[36m307\u001b[0m - \u001b[1m'ubcpdk' PDK is now active\u001b[0m\n" ] } ], @@ -180,7 +180,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -208,7 +208,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -236,14 +236,14 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/home/parkeraa/miniconda3/envs/mp/lib/python3.11/site-packages/gdsfactory/component.py:1569: UserWarning: Unnamed cells, 1 in 'Unnamed_b83043de'\n", + "/home/parkeraa/miniconda3/envs/mp/lib/python3.11/site-packages/gdsfactory/component.py:1569: UserWarning: Unnamed cells, 1 in 'Unnamed_a784d514'\n", " gdspath = component.write_gds(logging=False)\n" ] }, @@ -281,16 +281,16 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/tmp/ipykernel_305404/1677396279.py:1: UserWarning: Unnamed cells, 1 in 'Unnamed_b83043de'\n", + "/tmp/ipykernel_322436/1677396279.py:1: UserWarning: Unnamed cells, 1 in 'Unnamed_a784d514'\n", " mzi_together.write_gds(\"mzi.gds\")\n", - "\u001b[32m2024-01-29 08:37:46.359\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mgdsfactory.component\u001b[0m:\u001b[36m_write_library\u001b[0m:\u001b[36m1913\u001b[0m - \u001b[1mWrote to 'mzi.gds'\u001b[0m\n" + "\u001b[32m2024-01-29 10:09:05.044\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mgdsfactory.component\u001b[0m:\u001b[36m_write_library\u001b[0m:\u001b[36m1913\u001b[0m - \u001b[1mWrote to 'mzi.gds'\u001b[0m\n" ] }, { @@ -299,7 +299,7 @@ "PosixPath('mzi.gds')" ] }, - "execution_count": 13, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" }