diff --git a/_images/3837be4f789135e726bcd5a2348bb9b8969a2fba468ccc66245950a3560c468c.png b/_images/3837be4f789135e726bcd5a2348bb9b8969a2fba468ccc66245950a3560c468c.png
new file mode 100644
index 0000000..5746e5b
Binary files /dev/null and b/_images/3837be4f789135e726bcd5a2348bb9b8969a2fba468ccc66245950a3560c468c.png differ
diff --git a/_images/568225895705deb4f354e74cb868e0521e9bd6cbb0b3182e2159eba225e92f6c.png b/_images/568225895705deb4f354e74cb868e0521e9bd6cbb0b3182e2159eba225e92f6c.png
new file mode 100644
index 0000000..5405c4a
Binary files /dev/null and b/_images/568225895705deb4f354e74cb868e0521e9bd6cbb0b3182e2159eba225e92f6c.png differ
diff --git a/_images/70f24a0b4e167a46e6d62f7e6207a43ea36011c04f9156479b414a1e41e34677.png b/_images/70f24a0b4e167a46e6d62f7e6207a43ea36011c04f9156479b414a1e41e34677.png
new file mode 100644
index 0000000..e30ac53
Binary files /dev/null and b/_images/70f24a0b4e167a46e6d62f7e6207a43ea36011c04f9156479b414a1e41e34677.png differ
diff --git a/_sources/pages/scattering_parameters.ipynb b/_sources/pages/scattering_parameters.ipynb
index 16494ab..86b5025 100644
--- a/_sources/pages/scattering_parameters.ipynb
+++ b/_sources/pages/scattering_parameters.ipynb
@@ -76,9 +76,20 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 38,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0"
+ ]
+ },
+ "execution_count": 38,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"# Imports\n",
"import meep as mp \n",
@@ -102,7 +113,7 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 39,
"metadata": {},
"outputs": [],
"source": [
@@ -150,9 +161,35 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 40,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[32m2024-02-21 10:01:43.073\u001b[0m | \u001b[33m\u001b[1mWARNING \u001b[0m | \u001b[36mgdsfactory.config\u001b[0m:\u001b[36mshowwarning\u001b[0m:\u001b[36m281\u001b[0m - \u001b[33m\u001b[1mUnnamed cells, 1 in 'Unnamed_0da7224c'\u001b[0m\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/home/andeloth/miniconda3/envs/photonics/lib/python3.11/site-packages/gdsfactory/component.py:1604: UserWarning: Unnamed cells, 1 in 'Unnamed_0da7224c'\n",
+ " gdspath = component.write_gds(logging=False)\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzAAAAJoCAYAAAC5ogQ1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAAxOAAAMTgF/d4wjAAAgq0lEQVR4nO3dYZIcR3al0QtZ7xQbwSwEq9NCan60cgzCgJ3JpN8Mfx7nmLk9QK1gfF1VTcDJeuS3r6+vrwAAAAzwX1cHAAAAvMoFBgAAGMMFBgAAGMMFBgAAGMMFBgAAGMMFBgAAGMMFBgAAGONfz/4fvn379okOAACAPPvXVPo7MAAAwBguMAAAwBi1C8yPHz9af+jltK43pTPR2qK1Q2uH1g6tHVrXm9KZaE2Sb19PvsnMDgwAAPApdmAAAIBjuMAAAABj2IGJ1oYpnYnWFq0dWju0dmjt0LrelM5Ea2IHBgAA2IgdGAAA4BguMAAAwBh2YKK1YUpnorVFa4fWDq0dWju0rjelM9Ga2IEBAAA2YgcGAAA4hgsMAAAwhgsMAAAwhiX+aG2Y0plobdHaobVDa4fWDq3rTelMtCaW+AEAgI1Y4gcAAI7hAgMAAIxhByZaG6Z0JlpbtHZo7dDaobVD63pTOhOtiR0YAABgI3ZgAACAY7jAAAAAY9iBidaGKZ2J1hatHVo7tHZo7dC63pTORGtiBwYAANiIHRgAAOAYLjAAAMAYLjAAAMAYlvijtWFKZ6K1RWuH1g6tHVo7tK43pTPRmljiBwAANmKJHwAAOIYLDAAAMIYdmGhtmNKZaG3R2qG1Q2uH1g6t603pTLQmdmAAAICN2IEBAACO4QIDAACMYQcmWhumdCZaW7R2aO3Q2qG1Q+t6UzoTrYkdGAAAYCN2YAAAgGO4wAAAAGO8dIH5/fvXnv38U8/c7b3vPHO3977zjPfu+4z37vvM3d77zjPeu+8z3rvvM3d77zvP3O29f2IHBgAA2IYdGAAA4BguMAAAwBguMAAAwBi1C8wrCzi70LrelM5Ea4vWDq0dWju0dmhdb0pnojWxxA8AAGzEEj8AAHAMFxgAAGAMOzDR2jClM9HaorVDa4fWDq0dWteb0ploTezAAAAAG7EDAwAAHMMFBgAAGMMOTLQ2TOlMtLZo7dDaobVDa4fW9aZ0JloTOzAAAMBG7MAAAADHcIEBAADGcIEBAADGsMQfrQ1TOhOtLVo7tHZo7dDaoXW9KZ2J1sQSPwAAsBFL/AAAwDFcYAAAgDHswERrw5TORGuL1g6tHVo7tHZoXW9KZ6I1sQMDAABsxA4MAABwDBcYAABgDDsw0dowpTPR2qK1Q2uH1g6tHVrXm9KZaE3swAAAABuxAwMAABzDBQYAABjDBQYAABjDEn+0NkzpTLS2aO3Q2qG1Q2uH1vWmdCZaE0v8AADARizxAwAAx3CBAQAAxrADE60NUzoTrS1aO7R2aO3Q2qF1vSmdidbEDgwAALAROzAAAMAxXGAAAIAx7MBEa8OUzkRri9YOrR1aO7R2aF1vSmeiNbEDAwAAbMQODAAAcAwXGAAAYIyXLjC/f//as59/6pm7vfedZ+723nee8d59n/HefZ+523vfecZ7933Ge/d95m7vfeeZu733T+zAAAAA27ADAwAAHMMFBgAAGMMFBgAAGKN2gXllAWcXWteb0plobdHaobVDa4fWDq3rTelMtCaW+AEAgI1Y4gcAAI7hAgMAAIxhByZaG6Z0JlpbtHZo7dDaobVD63pTOhOtiR0YAABgI3ZgAACAY7jAAAAAY9iBidaGKZ2J1hatHVo7tHZo7dC63pTORGtiBwYAANiIHRgAAOAYLjAAAMAYLjAAAMAYlvijtWFKZ6K1RWuH1g6tHVo7tK43pTPRmljiBwAANmKJHwAAOIYLDAAAMIYdmGhtmNKZaG3R2qG1Q2uH1g6t603pTLQmdmAAAICN2IEBAACO4QIDAACMYQcmWhumdCZaW7R2aO3Q2qG1Q+t6UzoTrYkdGAAAYCN2YAAAgGO4wAAAAGPYgYnWhimdidYWrR1aO7R2aO3Qut6UzkRrYgcGAADYiB0YAADgGC4wAADAGC4wAADAGJb4o7VhSmeitUVrh9YOrR1aO7SuN6Uz0ZpY4gcAADZiiR8AADiGCwwAADCGHZhobZjSmWht0dqhtUNrh9YOretN6Uy0JnZgAACAjdiBAQAAjuECAwAAjPHSBeb371979vNPPXO3977zzN3e+84z3rvvM9677zN3e+87z3jvvs94777P3O297zxzt/f+iR0YAABgG3ZgAACAY7jAAAAAY7jAAAAAY9QuMK8s4OxC63pTOhOtLVo7tHZo7dDaoXW9KZ2J1sQSPwAAsBFL/AAAwDFcYAAAgDHswERrw5TORGuL1g6tHVo7tHZoXW9KZ6I1sQMDAABsxA4MAABwDBcYAABgDDsw0dowpTPR2qK1Q2uH1g6tHVrXm9KZaE3swAAAABuxAwMAABzDBQYAABjDDky0NkzpTLS2aO3Q2qG1Q2uH1vWmdCZaEzswAADARuzAAAAAx3CBAQAAxnCBAQAAxrDEH60NUzoTrS1aO7R2aO3Q2qF1vSmdidbEEj8AALARS/wAAMAxXGAAAIAx7MBEa8OUzkRri9YOrR1aO7R2aF1vSmeiNbEDAwAAbMQODAAAcAwXGAAAYAw7MNHaMKUz0dqitUNrh9YOrR1a15vSmWhN7MAAAAAbsQMDAAAcwwUGAAAYwwUGAAAYwxJ/tDZM6Uy0tmjt0NqhtUNrh9b1pnQmWhNL/AAAwEYs8QMAAMdwgQEAAMawAxOtDVM6E60tWju0dmjt0Nqhdb0pnYnWxA4MAACwETswAADAMVxgAACAMV66wPz+/WvPfv6pZ+723neeudt733nGe/d9xnv3feZu733nGe/d9xnv3feZu733nWfu9t4/sQMDAABsww4MAABwDBcYAABgDBcYAABgjNoF5pUFnF1oXW9KZ6K1RWuH1g6tHVo7tK43pTPRmljiBwAANmKJHwAAOIYLDAAAMIYdmGhtmNKZaG3R2qG1Q2uH1g6t603pTLQmdmAAAICN2IEBAACO4QIDAACMYQcmWhumdCZaW7R2aO3Q2qG1Q+t6UzoTrYkdGAAAYCN2YAAAgGO4wAAAAGPYgYnWhimdidYWrR1aO7R2aO3Qut6UzkRrYgcGAADYiB0YAADgGC4wAADAGC4wAADAGJb4o7VhSmeitUVrh9YOrR1aO7SuN6Uz0ZpY4gcAADZiiR8AADiGCwwAADCGHZhobZjSmWht0dqhtUNrh9YOretN6Uy0JnZgAACAjdiBAQAAjuECAwAAjGEHJlobpnQmWlu0dmjt0NqhtUPrelM6E62JHRgAAGAjdmAAAIBjuMAAAABjuMAAAABjWOKP1oYpnYnWFq0dWju0dmjt0LrelM5Ea2KJHwAA2IglfgAA4BguMAAAwBh2YKK1YUpnorVFa4fWDq0dWju0rjelM9Ga2IEBAAA2YgcGAAA4hgsMAAAwxksXmN+/f+3Zzz/1zN3e+84zd3vvO894777PeO++z9ztve884737PuO9+z5zt/e+88zd3vsndmAAAIBt2IEBAACO4QIDAACMUbvAvPL9a7vQut6UzkRri9YOrR1aO7R2aF1vSmeiNbEDAwAAbMQODAAAcAwXGAAAYAwXGAAAYAxL/NHaMKUz0dqitUNrh9YOrR1a15vSmWhNLPEDAAAbscQPAAAcwwUGAAAYww5MtDZM6Uy0tmjt0NqhtUNrh9b1pnQmWhM7MAAAwEbswAAAAMdwgQEAAMawAxOtDVM6E60tWju0dmjt0Nqhdb0pnYnWxA4MAACwETswAADAMVxgAACAMVxgAACAMSzxR2vDlM5Ea4vWDq0dWju0dmhdb0pnojWxxA8AAGzEEj8AAHAMFxgAAGAMOzDR2jClM9HaorVDa4fWDq0dWteb0ploTezAAAAAG7EDAwAAHMMFBgAAGMMOTLQ2TOlMtLZo7dDaobVDa4fW9aZ0JloTOzAAAMBG7MAAAADHcIEBAADGsAMTrQ1TOhOtLVo7tHZo7dDaoXW9KZ2J1sQODAAAsBE7MAAAwDFcYAAAgDFcYAAAgDEs8Udrw5TORGuL1g6tHVo7tHZoXW9KZ6I1scQPAABsxBI/AABwDBcYAABgjJcuML9//9qzn3/qmbu9951n7vbed57x3n2f8d59n7nbe995xnv3fcZ7933mbu9955m7vfdP7MAAAADbsAMDAAAcwwUGAAAYo3aBeeX713ahdb0pnYnWFq0dWju0dmjt0LrelM5Ea2IHBgAA2IgdGAAA4BguMAAAwBguMAAAwBiW+KO1YUpnorVFa4fWDq0dWju0rjelM9GaWOIHAAA2YokfAAA4hgsMAAAwhh2YaG2Y0plobdHaobVDa4fWDq3rTelMtCZ2YAAAgI3YgQEAAI7xr6sDAO7k6+fPqxMo+fb9+9UJALdgByZaG6Z0JlpbtP61x290T5//57//e4uOT81P8b+tDq0dU1qndCZakyRfTyRxHMdxFp2vnz+/vn7+/H8/Ns+Yjx87juM4//w8vZ+4wDiO4/z7PH4j2j6Pd5lnzU997TiO45x+nvFPIQM+5mvA/se379/z9fNnbX7qPeZn56e/fnb16W+nA8707J9C5u/AOM5B51N/Ffif/NVj0zTPnjufX/986TjOvueybyH78ePH5f/ltepc3Xr1L76v/gK9w/zx48cWHbvNf/p58nHd8+t1t//97TJ3+3rd/ST3/jVWp9bHuewC4zjvnKt/8XjlFxfTNE3TbM2dT3L97xOce5xnProD8zXg+3e53tXfy26azenr/Mzp82reYcIz376v2YN7cj15fsXJytvUBn9lw/x7fwXo6g7TNE3TNO87H+fqDvP1ueJc9i1kf/qet12/CHf7Hl3T5/+E6eP65/k4Pq57TTswe35cTR9Xc87n//HjX88ROzA7fHDN178Id+gwTdM0TfO+83Gu7jBfnyvOdheYqz+opmmaV87HubrD9Hk1TdNcOR8/XnG2u8CYM+avX4imaZqmaZpXzMe5usN8fa44l11g7MCYU6bPv4/rJ+fj+LjuNe3A7PlxNX1czTmf/8ePfz12YMyPfxHu0GGapmma5n3n41zdYb4+V5ztLjBXf1BN0zSvnI9zdYfp82qaprlyPn684mx3gTFnzF+/EE3TNE3TNK+Yj3N1h/n6XHEuu8DYgTGnTJ9/H9dPzsfxcd1r2oHZ8+Nq+riacz7/jx//elo7MN/+55Lyl759+/af/uO/5evnz2V/LGb79v17vn7+NE3TNE3zgAnJv39/t8KT68nzK07euDU5zn86Xz9/bn0ejabZmL7Ozpw+r+Ynv852PMn1v79wzjmXfQuZ40w9V/8i8OovFKZpmua6uftJrv/10XE+dVxgHOewc/Uvoq/8Ims+/03S1R2mz+uVH6cdT3L9n98dx/n3uewC8+7SzhVH6307ta4/V/8m5NXfqPw6d12InD59XD/7cd39XP3npmdnwp9fteq8S+szH13iB7ja1ybLplcv3JrnLTCvWp4FuNqT68nzK042uL05juOccnb4K/hmbzqO4zj//Fz2LWSO4zjO/39+/XYa85zpAuM4jrPuLLnA/P79a89+/qln7vbeSa0+Rt47ubX53l9/0/vs5+/OT73nbu995T2nf/3u+N5JrXd776RWH6O93uvvwDiO42x0/B2YM6e/A+M4jrPuuMA4juNsdHb4zbbZm47jOM4/P8/4p5ABt/K10T8x6muDf3qW6Z9CBrCbJ9eT51ecvHlz+tP3vO16tN63U+v68/h2mp3Po/MxW7sZd58+rp/9uO5+rv5z07Mz4c+vWnXepdW3kDnOYefq34S88psU86+nj9OZ0+f1732cdjzJ9X9+dxzn38cFxnH+5rn6F9FXf6E1TdM0183dT3L9r4+O86njAuNsd67+ReCVXyRMszV9nZ05fV7NT36d7XiS639/4ZxznvnoEv/XJouOXO/qhVvTNE3TNNdNSNb9w0SeXE+eX3Hy5s3pT0s7X5v+FSqLpveePv8+rp+cj+Pjutf8px/Xf/p5PXX6evVxNe/z+X/8+NdzxBL/Dh9c8/Uvwh06TNM0TdO873ycqzvM1+eKs90F5uoPqmma5pXzca7uMH1eTdM0V87Hj1ec7S4w5oz56xeiaZqmaZrmFfNxru4wX58rzmUXGDsw5pTp8+/j+sn5OD6ue007MHt+XE0fV3PO5//x41+PHRjz41+EO3SYpmmapnnf+ThXd5ivzxVnuwvM1R9U0zTNK+fjXN1h+ryapmmunI8frzjbXWDMGfPXL0TTNE3TNM0r5uNc3WG+Plecyy4wdmDMKdPn38f1k/NxfFz3mnZg9vy4mj6u5pzP/+PHvx47MObHvwh36DBN0zRN877zca7uMF+fK84z3/7nkvKXvn379p/+47/l6+fPZX8szvXt+/d8/fxpmkdOX+dnTp9X8w4Tnvn2/fuSP86T68nzK04W3aQc55Xz9ctfbdnxPBpN0zRNszF3Psn1v09w7nEu+xayd7/n7Yqj9b6df7f16l88Xv0FZoe56/foXj3/6efJx3XPr9fd/ve3y9zt63X3k9z711idWh/nsguM4zifP1f/4vvKL86maZ49dz6//vnScZx9zzMf3YEB7u1rwPdQ25Uwd/687m7V978D9/bkevL8ipMNbmGO4zifOJ/8q8DmefNTXzuO4zinH99C5jiOs9FxiTlzulw4juOsO5ddYO6wYKR1fqdWrZ9u3eE325+auy1wf2Ke9vWqdc+j9b6dd2l9xg4MwAd9Ddhj4D32PwDWeHI9iQsMAACwjWcXmP/6UAcAAMA/VrvA/Pjxo/WHXk7relM6E60tWju0dmjt0Nqhdb0pnYnWxLeQAQAAG/EtZAAAwDFcYAAAgDHswERrw5TORGuL1g6tHVo7tHZoXW9KZ6I1sQMDAABsxA4MAABwDBcYAABgDBcYAABgDEv80dowpTPR2qK1Q2uH1g6tHVrXm9KZaE0s8QMAABuxxA8AABzDBQYAABjjpQvM79+/9uznn3rmbu9955m7vfedZ7x332e8d99n7vbed57x3n2f8d59n7nbe9955m7v/RM7MAAAwDbswAAAAMdwgQEAAMaoXWBe+f61XWhdb0pnorVFa4fWDq0dWju0rjelM9Ga2IEBAAA2YgcGAAA4hgsMAAAwhgsMAAAwhiX+aG2Y0plobdHaobVDa4fWDq3rTelMtCaW+AEAgI1Y4gcAAI7hAgMAAIxhByZaG6Z0JlpbtHZo7dDaobVD63pTOhOtiR0YAABgI3ZgAACAY7jAAAAAY9iBidaGKZ2J1hatHVo7tHZo7dC63pTORGtiBwYAANiIHRgAAOAYLjAAAMAYdmCitWFKZ6K1RWuH1g6tHVo7tK43pTPRmtiBAQAANmIHBgAAOIYLDAAAMIYLDAAAMIYl/mhtmNKZaG3R2qG1Q2uH1g6t603pTLQmlvgBAICNWOIHAACO4QIDAACMYQcmWhumdCZaW7R2aO3Q2qG1Q+t6UzoTrYkdGAAAYCN2YAAAgGO4wAAAAGPYgYnWhimdidYWrR1aO7R2aO3Qut6UzkRrYgcGAADYiB0YAADgGC4wAADAGC4wAADAGJb4o7VhSmeitUVrh9YOrR1aO7SuN6Uz0ZpY4gcAADZiiR8AADiGCwwAADDGSxeY379/7dnPP/XM3d77zjN3e+87z3jvvs94777P3O297zzjvfs+4737PnO3977zzN3e+yd2YAAAgG3YgQEAAI7hAgMAAIxRu8C88v1ru9C63pTORGuL1g6tHVo7tHZoXW9KZ6I1sQMDAABsxA4MAABwDBcYAABgDDsw0dowpTPR2qK1Q2uH1g6tHVrXm9KZaE3swAAAABuxAwMAABzDBQYAABjDBQYAABjDEn+0NkzpTLS2aO3Q2qG1Q2uH1vWmdCZaE0v8AADARizxAwAAx3CBAQAAxrADE60NUzoTrS1aO7R2aO3Q2qF1vSmdidbEDgwAALAROzAAAMAxXGAAAIAx7MBEa8OUzkRri9YOrR1aO7R2aF1vSmeiNbEDAwAAbMQODAAAcAwXGAAAYAwXGAAAYAxL/NHaMKUz0dqitUNrh9YOrR1a15vSmWhNLPEDAAAbscQPAAAcwwUGAAAYww5MtDZM6Uy0tmjt0NqhtUNrh9b1pnQmWhM7MAAAwEbswAAAAMdwgQEAAMawAxOtDVM6E60tWju0dmjt0Nqhdb0pnYnWxA4MAACwETswAADAMVxgAACAMezARGvDlM5Ea4vWDq0dWju0dmhdb0pnojWxAwMAAGzEDgwAAHAMFxgAAGAMFxgAAGCMly4wvy/gPPv5p56523vfeeZu733nGe/d9xnv3feZu733nWe8d99nvHffZ+723neeudt7/8QSPwAAsA1L/AAAwDFcYAAAgDFqF5hXvn9tF1rXm9KZaG3R2qG1Q2uH1g6t603pTLQmdmAAAICN2IEBAACO4QIDAACMYQcmWhumdCZaW7R2aO3Q2qG1Q+t6UzoTrYkdGAAAYCN2YAAAgGO4wAAAAGO4wAAAAGNY4o/WhimdidYWrR1aO7R2aO3Qut6UzkRrYokfAADYiCV+AADgGC4wAADAGHZgorVhSmeitUVrh9YOrR1aO7SuN6Uz0ZrYgQEAADZiBwYAADiGCwwAADCGHZhobZjSmWht0dqhtUNrh9YOretN6Uy0JnZgAACAjdiBAQAAjuECAwAAjOECAwAAjGGJP1obpnQmWlu0dmjt0NqhtUPrelM6E62JJX4AAGAjlvgBAIBjuMAAAABj2IGJ1oYpnYnWFq0dWju0dmjt0LrelM5Ea2IHBgAA2IgdGAAA4BguMAAAwBh2YKK1YUpnorVFa4fWDq0dWju0rjelM9Ga2IEBAAA2YgcGAAA4hgsMAAAwhh2YaG2Y0plobdHaobVDa4fWDq3rTelMtCZ2YAAAgI3YgQEAAI7hAgMAAIzhAgMAAIzx0gXm9wWcZz//1DN3e+87z9ztve884737PuO9+z5zt/e+84z37vuM9+77zN3e+84zd3vvn1jiBwAAtmGJHwAAOIYLDAAAMEbtAvPK96/tQut6UzoTrS1aO7R2aO3Q2qF1vSmdidbEDgwAALAROzAAAMAxXGAAAIAx7MBEa8OUzkRri9YOrR1aO7R2aF1vSmeiNbEDAwAAbMQODAAAcAwXGAAAYAwXGAAAYAxL/NHaMKUz0dqitUNrh9YOrR1a15vSmWhNLPEDAAAbscQPAAAcwwUGAAAYww5MtDZM6Uy0tmjt0NqhtUNrh9b1pnQmWhM7MAAAwEbswAAAAMdwgQEAAMawAxOtDVM6E60tWju0dmjt0Nqhdb0pnYnWxA4MAACwETswAADAMVxgAACAMezARGvDlM5Ea4vWDq0dWju0dmhdb0pnojWxAwMAAGzEDgwAAHAMFxgAAGAMFxgAAGAMS/zR2jClM9HaorVDa4fWDq0dWteb0ploTSzxAwAAG7HEDwAAHMMFBgAAGMMOTLQ2TOlMtLZo7dDaobVDa4fW9aZ0JloTOzAAAMBG7MAAAADHcIEBAADGsAMTrQ1TOhOtLVo7tHZo7dDaoXW9KZ2J1sQODAAAsBE7MAAAwDFcYAAAgDFcYAAAgDFeusD8voDz7OefeuZu733nmbu9951nvHffZ7x332fu9t53nvHefZ/x3n2fudt733nmbu/9E0v8AADANizxAwAAx3CBAQAAxqhdYF75/rVdaF1vSmeitUVrh9YOrR1aO7SuN6Uz0ZrYgQEAADZiBwYAADiGCwwAADCGHZhobZjSmWht0dqhtUNrh9YOretN6Uy0JnZgAACAjdiBAQAAjuECAwAAjGEHJlobpnQmWlu0dmjt0NqhtUPrelM6E62JHRgAAGAjdmAAAIBjuMAAAABjuMAAAABjWOKP1oYpnYnWFq0dWju0dmjt0LrelM5Ea2KJHwAA2IglfgAA4BguMAAAwBh2YKK1YUpnorVFa4fWDq0dWju0rjelM9Ga2IEBAAA2YgcGAAA4hgsMAAAwhh2YaG2Y0plobdHaobVDa4fWDq3rTelMtCZ2YAAAgI3YgQEAAI7hAgMAAIzhAgMAAIxhiT9aG6Z0JlpbtHZo7dDaobVD63pTOhOtiSV+AABgI5b4AQCAY7jAAAAAY9iBidaGKZ2J1hatHVo7tHZo7dC63pTORGtiBwYAANiIHRgAAOAYLjAAAMAYdmCitWFKZ6K1RWuH1g6tHVo7tK43pTPRmtiBAQAANmIHBgAAOIYLDAAAMIYLDAAAMMZLF5jfF3Ce/fxTz9ztve88c7f3vvOM9+77jPfu+8zd3vvOM9677zPeu+8zd3vvO8/c7b1/YokfAADYhiV+AADgGC4wAADAGLULzCvfv7YLretN6Uy0tmjt0NqhtUNrh9b1pnQmWhM7MFU/fvwY9UUGAABXswNzERcXAABYzwWm4N2/8/LsHzX3+OM+/m/+Dg8AAHdjByazWpP/fZHZ9RKzY9Nf0dqhtUNrh9YOrR1a15vSmWhNknw9kcT5G+fHjx9//PHfffbZH++fvMdxHMdxHMdxdj3P+BayhXb9uyEAAHCKf10dcJrfLzAuNQAAsI4dmKxr/dNeyj/5Yz9b6t/ZlM5Ea4vWDq0dWju0dmhdb0pnojXJ828yywbfBzf1vLMD8+v5/Y9hB8ZxHMdxHMc5/TzjX2S5Ed9uBgDA3fkXWQIAAMdwgQEAAMawxJ99Wl/p2KX1mSmdidYWrR1aO7R2aO3Qut6UzkRrktiBAQAAtmEHBgAAOMbH/0WWk/621zQ+tgAAnK52gTnlHwm823+Hv/q4TunckdYOrR1aO7R2aO3Qut6UzkRrcsEOzJQP+MOU3klfzAAA8FfswAAAAMdwgQEAAMbw74EZZsrHdUpnorVFa4fWDq0dWju0rjelM9Ga2IE5io8tAADTPduB8S+yBAAAtmGJHwAAOIYLDAAAMIYl/mhtmNKZaG3R2qG1Q2uH1g6t603pTLQmdmAAAICN2IEBAACO4QIDAACMYQcmWhumdCZaW7R2aO3Q2qG1Q+t6UzoTrYkdGAAAYCN2YAAAgGO4wAAAAGPYgYnWhimdidYWrR1aO7R2aO3Qut6UzkRrYgcGAADYiB0YAADgGC4wAADAGC9dYH7//rVnP//UM3d77zvP3O297zzjvfs+4737PnO3977zjPfu+4z37vvM3d77zjN3e++fPN2BAQAA2MV/XR0AAADwKhcYAABgDBcYAABgDBcYAABgDBcYAABgDBcYAABgDBcYAABgjP8Lw4uqptcDPu4AAAAASUVORK5CYII=",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
"source": [
"from gdsfactory.technology import LayerLevel, LayerStack\n",
"layers = dict(core=LayerLevel(\n",
@@ -177,7 +214,7 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 41,
"metadata": {},
"outputs": [],
"source": [
@@ -219,7 +256,7 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 42,
"metadata": {},
"outputs": [],
"source": [
@@ -257,13 +294,34 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 43,
"metadata": {
"tags": [
"hide-output"
]
},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 43,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
"source": [
"# Adds mode monitors at each of the ports to track the energy that goes in or out\n",
"\n",
@@ -287,7 +345,7 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 44,
"metadata": {
"tags": [
"hide-output"
@@ -309,9 +367,36 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 45,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[32m2024-02-21 10:02:56.982\u001b[0m | \u001b[33m\u001b[1mWARNING \u001b[0m | \u001b[36mgdsfactory.config\u001b[0m:\u001b[36mshowwarning\u001b[0m:\u001b[36m281\u001b[0m - \u001b[33m\u001b[1mCasting complex values to real discards the imaginary part\u001b[0m\n",
+ "\n",
+ "-----------------------------------------------------------------\n",
+ "\n",
+ "Normalized s-params:\n",
+ "Port1(Lower Left, S11): 0.048342, 2.648293818186258 deg \n",
+ "Port2(Upper Left, S12): 0.046153, 2.765397762485876 deg \n",
+ "Port3(Upper Right, S13): 0.748132, -0.6805131200859658 deg \n",
+ "Port4(Lower Right, S14): 0.292468, 1.5714402438535198 deg\n",
+ "\n",
+ "-----------------------------------------------------------------\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/tmp/ipykernel_902/1167699112.py:8: ComplexWarning: Casting complex values to real discards the imaginary part\n",
+ " s_params[0] = [port1_coeff, port2_coeff, port3_coeff, port4_coeff]\n"
+ ]
+ }
+ ],
"source": [
"# Finds the S parameters\n",
"norm_mode_coeff = sim.get_eigenmode_coefficients(mode_monitor_1, [1], eig_parity=mode_parity).alpha[0, 0, 0]\n",
@@ -340,9 +425,24 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 46,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "-----------------------------------------------------------------\n",
+ "\n",
+ "Transmittance/Reflectance: Port1: 0.2337% Port2: 0.2130%, Port3: 55.9701%, Port4: 8.5538%\n",
+ "Insertion Loss: 35.2631% = -4.5268db\n",
+ "\n",
+ "-----------------------------------------------------------------\n",
+ "\n"
+ ]
+ }
+ ],
"source": [
"# Calculates the transmittance based off of the S parameters\n",
"port1_trans = abs(port1_coeff) ** 2\n",
@@ -374,9 +474,34 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 47,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "dca429422a884d81abbc0784d8da32fc",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "FloatProgress(value=0.0, description='0% done ', max=300.0)"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAABAcAAADhCAYAAAC0ltzOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOz9aXPjuLIuCj8JgKRk2a6q1b3W3vucG3H//596I+69Zw9r6K6u8iCJJJDvhwRAEAIpSpaH6lJGVNmWSMxD5pMTMTPjSle60pWudKUrXelKV7rSla50pSv9tKTeuwFXutKVrnSlK13pSle60pWudKUrXel96QoOXOlKV7rSla50pStd6UpXutKVrvST0xUcuNKVrnSlK13pSle60pWudKUrXeknpys4cKUrXelKV7rSla50pStd6UpXutJPTldw4EpXutKVrnSlK13pSle60pWudKWfnK7gwJWudKUrXelKV7rSla50pStd6Uo/OV3BgStd6UpXutKVrnSlK13pSle60pV+crqCA1e60pWudKUrXelKV7rSla50pSv95HQFB650pStd6UpXutKVrnSlK13pSlf6yekKDlzpSle60pWudKUrXelKV7rSla70k9MVHLjSla50pStd6UpXutKVrnSlK13pJ6crOHClK13pSle60pWudKUrXelKV7rST05XcOBKV7rSla50pStd6UpXutKVrnSln5yu4MCVrnSlK13pSle60pWudKUrXelKPzldwYErXelKV7rSla50pStd6UpXutKVfnK6ggNXutKVrnSlK13pSle60pWudKUr/eR0BQeudKUrXelKV7rSla50pStd6UpX+snpCg5c6UpXutKVrnSlK13pSle60pWu9JOTuXSB2+320kVe6UpXutKVrnSlK13pSle60pWudKWM1uv1xcq6ODhwpSu9JfHE5/SmrTiPptoO/Bjtv9KVrnSlK13pSm9Hc3xDTh+FjzilzTm9dx9+1La/pN3A+7X9pe0O9B7t/1HXSomu4MAZdOoC+EiTfs7i/RHbnz/3Efpwytj/6O0P9BHaXaLQl4/avitd6UpXutKVXiJwvPc9dwlB75w+zD37Ej7sVDq17ceeW9KeSwnXjOPtOWddzbXvUm0PZc2176O1fcl4vyVdwYET6NzJ/yiT/pL2Az82Cvrec/Cztv8jrJ1ApT6UPvsIbb3S+9OPbJV0pStd6cemtxSUAp1yth1r3yXbv4TOEcDfSlCdo3NAj6m2nQoeLAEjSs+85A4kLOfFlnwXyjy1DefQsfEv0Sk85nvz+SldwYGF9LMKdx+B3hIJzan0/Kntec/2A8svw7l6X0o/0vr/SIDGj0qXvszfkk5hej9yP650pZ+d3tra7RKa31OeuxSdy1dcwqphaRvmeIiXCHvvyRu/xf2xVOi+jHXDslldOu6n7pe8ttKamW7/ZVVFS8b9I/MPHxoc+CgD+N6C9UcQ7kI572Ha9R60xBzpI/dhySX61u1/T4DgHCbgo5w/gX4EK4dTLvOP1nbgx18jV7rSz0bvdQ+/BKh/iZb00hZNb6kFvrSgeuqzl6JL3MWXbnfepnPusmOCdLnNryMGnyvrnO5KcHr783V/7tiX2vtReKMPCw58FMHro108pwqm79H+peZrb+k/tZROvZQ+yjpN6RQE+EcACC5hvfES+igCYGm+PkrbgI+5F96KPtI8XOlKf1Z67zPmtff3W5mLL3tuWYmvwctdzg3i+Ml8Kh906hq8tFl+iV4KDFym1mPPLtfZl0p2E9WprNjTeMyX2iacX+JHpw8LDvys9JEFuyX0IwvXr2Fad+n+nYeMHn/+rYXtl17851hAXMIM8r2FvzlNzY/itpG+897jmdKl3GeAj9WvQKf07yO2/0o/J527L081W5+j00yRj789B/SeWnqJlpytp2lRX+ZM9fb3w+vB6PncncqPLV9Ly2borQTr8eczM8oOIFX6Yqb06ZKn2p5+n/djGb0N11tqf9rej8YHBfqw4EDYgC8dtJcIPx9Za72Eru1/G/ooIMdHPGCm6JIgx1sCHB9B+FtiyvkjrIUfoY3n0ke98JfSR1jnS+icPf/R+3QKzfX/R+/na2ijczoPpD7X+Whc2qmKhWNC0ss0qKUa556bN7N+Xzo2qsvAmjk6B3g5z6R9uW3HqeslPLNEsJ4FBtgVGpZ8NgIKhj4tGfMlfQjPnQYQFAou9eMA5DhtVy1t/0ekDwsOAJcDBsLv7zlP56G4H4suqbFO3/sI++dHGP/XpJfMw9R7bz2mS0CCS6239xaeTmEsf/a1/V703mvkEvQR+/DS/fsR+3QKnWoIm9KP0udTzeuXMuGnCtAnC0XFQsrC0RylNZ0iIAHTWsn098sBHuevqLxfJeHudQCOZaWewytcBhSYpikw4Jz1kj5/nuYdy/bApCXBZSntR2mGZ7s41Y8T2750Hl405m9EHxocuCS9BOt9bboK1ufRpcwGP5o59rnuDW9Nx9beMfZh6op+T2uhU+lH0BB/RCHhdUx8x/QRzkbgxxdGgY+xzi89nx+hT6fQJUHNQJfo/0vKOBfomGK8eaZAovF7c4IEDj5LXswFiTkBiVRBizqvPZ0TMKb6R0ljSyBBTuM+L9SiArOC0in8aGn+3lZgWmb9cIyXWGaCn9Z5Kp1mPbB0vQCHa2bZ2M/sg/SzfJ2MhOxlJ++SvtAl1ssxgOONwI2PRn9qcODSmtBz6SMKbj86lfp3mhbgsnQOUHPOHL2GMJ2W8xKt1Nyz77EH3go8O6V/c0DJW9J7WHu8BSAw9c5HOA9/NGH0I9Frzd+PMCevuXbPtTB6zTtnqbCcCwvHdJhq4nlFx9ZBQSDKBArK/uYgTOTAQBQ0jq+8ub4etDD5PghMQeA7eY3PCUsHwl+59HPv3mNC6mvv16l2L6lzkTXGWdYmhWIKNZyyXtJnzlovaT+WuhW8QMie6g/zhQCCF1CpaZd06Xgv+lODA+fQWzORb4G6L3n/XLeHD7y2F9Gy9l9e9zc3d5e9AF+mN54CYc5pxXkX7NJaLzNic7XM1fDSOTvV2uE1haUpeg/g7ZJCCHC8f699/r+nMPoelmZ5X889O35Wesu+L1mby3WYx4hGv029GT6fEnxSseSYQOSSxqvkeYexUDQ5DhkwkAMCKRXBgiAcZQDBsX25FASJ4noiMOUC39E5Xiq8TmiCl54xipabv592Zr78lFt6V5QpV3cfEZxHharxMydo2sNYTu2NEpXWy8l0qlvBxNp/yayV1vvylxeu9yVFzX2XATE/Al3BgVem92Coj22yn5nZWk7n2Ca8PZ0nTJ/fj0uunbwFLzPFKwM4l7SGOAamXQJCWtLe99q/52oZT6W3KHvOcuItAIK0LUvpEoL2W9KUldOpVkc/K320vp98PueM94Hv/VAqZZ9MggVcBgR4gapUhAipz2Jg1BWPrQjSM+Kgzzkw4BYIF0rF50etXOBikNKxmmIfMBZGTgYIUpqbwyMAwbE5PQUgmGweSn05FWov02mKo/DncZeT061M5mkJMFASTvP1UlorRVoIivHkWnlvet2Tdc4d4iNYOiylKziQ0KWXzHsAA29Jr2laeG45p3z31oL1ktIvQ0tq+HhAxyG9po3Cy2vBRE3vObLn9OWjrILLz9p0iZc4c+YAhqXvn6TkOPH5Ep3b75cCGefQRxOOUzrWv9daW69NU2vsqMn0Ug3iQcFBYJjWoKfCTyghBwW48HxKMb4Ac2azIBYFKhOOhm8LTS4BA3PgRHjOgwScxiHw/T8mSC+1kCCaF/pSOgpLLPEpvwBAACyLk3DY7vLfA73GzbYcDDiwLJkAkg7c82esTJZQvkdGZSefRW07ptfKUpCgZEUTAbF8rZzRpx+Vlrh35PRRRuQKDnh6y8v4PSf/Uozh8T7kNb1ury/HvF5uJbwl2PQalLd/VqtxwuVeoqPMZ/x4KkXOebSkT4GmoikDZa3uawAHkxq1C5X5lmvs7SCcco1T+qWXWm+cMp7nAAQvpbewjpiipfW+9LlLr+OX3C+njvWl9vIcndKf8bOpGmy5lpRLZ/WBkLzMzDgFBsIzJe1pSjbTnCpKgQKaBAgwatWxBk2AH9F/wQ0fFfo+V/TU31PPB5CgJPSdbD1QrCgzFQcmLSGWWIUc4xuOAQJzYP3L6QhwMiUkLwWPrB2pk+Owps/4sSXQIuuSsbb68A0iml0rof7ieOZBNo9QBMSmvsfhOvkz0EeOk7CEruAAXmdBfkTN4dttvFJNl0UJ8wvn2LPL6PVH6JI1TLATF6zhOOUC9Dl5c8/WSk1Fxp1Zazzxe6Bj6WcCvSSn9Nyzp+7fY7M9p0Wbq+M1rJ5Of+/Sa7ncuxJTcilGZcl4vof+ZGn/LtmuSwIDS8Gbl94Nl+j/azO9L4HNTut/ARhYqCmlILao4aw+aHfUos8LQMAhMBDl76PSM6CIYD2Drgj+5TFAsJjmgIH08wASEAHODQBB0jDyo71o/c/0Mwh+S4S+F509k1YE5wEEJ1eflJd/VqKLnGUFUKAICHBhr8yWi2EcZ0Ek/ysyXmZSEC1/ET4vrRXgkI976R01spg5Yj0Q+nYJt5PLU/lEzEHKPwP99ODAWwMDl2K23nMNzvfhmHhzWYDgLd+bo7zX5why702nCqZTB2EJIDgboHmlPLp508/JDQzMX6DHQICStcEULV1PS6PkpnSZ/NJjOv/dEyZiydoorotDtrJkRTBlWRC+O2XJHBvP9wIIQt1T351LuQByynsv+f4Ueot7Oi3vtaCul5axrK/TwMBJZvbWyk8iAQw8WDB6mlQUlIF5ISEHBuYEpiAcW28xoJCABGAQA0xDzQfWAzS0dSoYIRX6zUSJUDRI6cRuaO+C+2tpfAVmXiT0jefer9ATtcJS0HTAuaTkokLnnLPh2L15DvC+5P1xYRNrvwAWldZEiWfhkUMIIogk34XCVBE8I0rXR/g5PDU1RsW1kgFJ6fOjWTxnrZxJaf8uRi9o+3Hw8uyiPwz91ODAjwoMTNGpwsUSOq3NH29HfBSrgVNLP09YuFwfXlLSMcuBaauBE9H2BcSF39PPSkznsYN9Lj/wqQDBEloCPL0EsT7FJeR1zrcLAwJzz88ERQu/lRipPytAgFes85wz75LlnUOvOf6XBAguORannFkpMLBEMJqvVEWTapEnE/PjDCA4RikwkAtJSD6PZzeNQQKHsRUBY8higOGVs4iYDwEC50ZWFJPvzghFU2tAujEt9KXuBaGcJX2bDKQHnAQQpG1/KYBYavdL9kYJwDi6cyfWPxX3Q8kdwVvM+D0xAgn8OsmBpKXgGSZanvYxXyuhK/n6v9j9VABGXgM8vdLL6KcFB35kYODSTNdl6BRR5z1Y4EvRYduPCW8f89B7GWxyCfOp1wMGjs8RMB9Vdo6m8gOndS1mto/VdeTvc8ANAItMZxczjQueGZd6Bl1KQ1F0RRmzg1NWBH9mgOC96a2BgdIYz4/7ZfSOb8UELzmfT2b8p4CBKaEofScnUgBbLzQjSu6kkvFJhCCVCLhuTmDOgAGXjzYLGBAFIRJgIQcILAgag4AUT4bUekBl/Z+hA4Agfn6+0DdFYS6nhD46dd5xCAzEtp8BEOS/l/5eSpfcS3NnfPz2mLY83QPxuSMWNZR+n4MEajGQFIs7QcteWiuOypYmo3WSjQOTmrSmia/MrZfwDGZAr4l+pet5SsFxijWIvLB8vEOTlmSNyNNHLsoO8U70U4IDbw0MvAV9TAH0fel0BvD0En9MYOCQXrOd05YChdqX5gVeYoY589lU3mzgeB7p9L2z8+tegM4FN9Jn56wg8u4c+zurYXljjtEpwMCspUDhuQOQYFpf9JYAAY4882ei1wIGpsZv+b3wEnHl/WZvqUB5ll9x7l+dAAOHmtI8YGEqpQYhSmVAAYNIhCEmBSgDAsnZ6wECMCQl4aQ/daidY78CUfK54kHqKQEEjiimOaT46JT0caKJ9QnWA+dQLvQBY/eC9JmBThfRLw0QAKfvukv6ec/d4TEwZR6IUalxfI3RuizEIEjflQKSSsLzAGEMEEwBZ6HdETyb6V8pbtLkWikASUAyDr4dr+FaEGo4BpBNKTko+znQFKr4Nu4RPxL9dODAewADfyargZ+FYT2k03s+N/bn+H0fZ96WXu4vE+vmDuulAvLi0bzAoc3Zzylg4FhNmUdgfL8EEFwCCZ4Dml4CDJxDy4CBd4TCjgUEC3SQNyoHCcbC3WsBBEvoI2oTLk2vBQxM0dut4/Nn7yVr6aWxU6KggNPO6DEwMONmMNpMCoCNzwtQ4DXsCHJHfwAQwL81Fp8ItuTvP/O3A0eAgAEwGDoBCJw/0BUDnAwGzVgPMFHZx/zClNdwDJzOLQZmgaE8cNwRWqIRXgoQTH2W0qwJ/cx3S0B/m43TYeykgBJNxJ/wGv/JNXBU+RHcatwigGBul4olwNCOueDRKUAAUHGtHNSUrZNj1gPTGQuWnzYXiz0wkW1i9NkRBdRRPnnis9eBAy9PPxU48B7AwCVpqv3vyJKfQR+V3Z01aCp+Osd4TNEpQfzeiuba/dK19SKrgbOAgYHZK/08FxhI6T0O+FOBgVJ/Tmnz1Ly9CyiwhEldqsGYuvQPPi8zs6W/j31ebAaWnYR/ZoDgNVfNEuuAs9byZIaU5XQJIOnSYNTU/XMqSACU3AwKjHiyX5m89QA5ARpgwM4iWBGwf55IR4AgmD+Tb7dl384g7ATFJg7P/lQgCgDBAPCOLQjyeqRMGguHASBAEJJeHyAozf9SS5BzXAuWmI2XX0zP1eUAwRQtcaMrtXI2k2DyOyWNUcA4qwWGHkyugYOKVLFFpbEcR/PneYAgZvZIakqtBwpCdEkLP8d3lqwHhjEoz9p56+RMEDV77b3455T+DIEIA/004MBrayBe+txr0J9onb4RLZ+tY8BA6eI+RqWDeu7iLn937Kp9mdXAHM2b5B1pwUuAgTMY9cH0tPz5QRUf4OIp0VJgIHw+N1Kl+Zuftzc8YXJTzqlnlgIEaZnp5zMAQfik9DeOfP4S+jMCBEvG59wxPA8YOEHTl3/+AqBgipaso9JJP2WGO8e05pZPUYuIbJyW7MFYYRKXoJTNIEltSH7fRZAA/WBFoDTI9mBtfFs9QBBkLkVwjqEVAEeSytA3WjEdxhwADjSmqQUBaAAIBISQUeChukE4SscjmpYPAAGACBLwBS6QOa3pnPn1nGtBoRa8B+e4BIA9Boq7ie9K2R0mz+0AKhHBYgALAqAym8EiAYkYTmxdTuBjDtL9hV7lAAEwusOOpf5cYokx2vcz1gOhvKHwQyuTs4GkhXTqVhoeH4OWB7/ntMB6INAB6DL3LA7Ti46qxce47//04MBrHHPvMXFT/Tj18/eld9E7HtT10vl7DWAgffb1ENDTxLvSd6f05Xg3TmTIF9YYSs1/5gFjlgID4btTLqXj2vbXYcMucSUfF65K0scCzf4lKDdfLX2/dP2ULv8ZgABYxsSGzzHxXfr9UspBiR+ZXvO8vxgw8IrM7Sn9XwL1vnQ80/gjJYBA6llSk9ec5sBAKfd7IJ+tAHAgpRKQQMRxchjSCyoFVtMAgaQkHAAC5pCJQDIZhHvV8eE9WwIIiOkg/gAoH5NMGCJCKsBdChQ45ksOHPIN4U+aacMkP3RJoW+B9cCSv+cotKoECpzKjyka3iVOgAKMQYJgQUCkh54VAQJAFjLH8ZwayxFAAFVmOlL3gsyCIFjRAOFVKoIjS+kc6wFgvFYO3AmSjCSvQZT9nKQ3ijNQiu/0I9CfFhz4CKDApdbCjwEAvExjndPH6ttArwkMLK3/+EhO6Tlfj14Ua+DUQzq9VBb6hZUiyY6eu8A8nTMGr6FpnqJ8pEq+laW2zQIDLxHEx605VkDhlQlN5okazlMBgoNmlFsXv7sk/eggwWut8zkAbp4uAAycoGE6h9I+TAFR6ednR7nnMkAQ6j3Qlh9QiCGA4ZkEGJj2w/ZxBqwFKAMJFECspH8+9eAUQADHsBgAgqBpTwGCMD5Lx8MB0L6cQ/cCxPEYCYah4hJQGQWjkspQ1tGxjAXBl/wcYOilq7Qk1E77kl+WptZ1DgykwvCx+99lHyiiTLgWMT8AAwGoCntFh7VAWtYsOxD6FwEEI5pyL4jfh7MnAbALYFJYK6ecDYs12xMxKs5ZF7lC55R2vSqdecaPwaoJrOdVFYLn058KHHhrxuMt6Jw+fTzBeh65fi2aYumXCdjl9075+1xg4JQo0sfFlmk61v6X0HHN+Zm1TR7QZauBKZoyQbwETfV9bjbeEiTIac6dYBIYeAmgU6zpaAHZ30lbLgES5HRCDIKpz16TfnSQYAktHdNTxuBVtEnFtX3RU69Y6pyW9ZgQMCXa51ZVRVNieCEx+lmnDaHCxZJ+UB5fYmkBAwNIoI1MB7HIRx57mAIImAgaA0AAMDgABImLwTHBI3TYMUMTDcBESPWGsnvBJEBwQcpdC6b2yEXPhVOFvilNcelRzK/jl5yrjIK1YAE4SCkEtST/QAALoksBs5TlA1VaDFYEyq8FVkbWr+2xBCAAcLpFxkzsgZRK1gOzLigzZZUDE2YzdMxyb2ItTM3xlCvJ6QBBeDFzdQrNmgK8TlQUAMusN4+797w//SnAgddgyt6b6TrWp/cCAF4ijJ5Sx0ejSwIDP4KZ0Slz8G6o55lWA5cEBqJ2YUbznv8+Wx7Ggt+l9sKc1UBad+mnUHa5vpgOG3CaIFgQk6ZcDo65IpxBHwEgQFbfBz5OAJw3NlOg2ZK+5s8cXXGvbGZ66bWRj81SgHEuJgkw9oc9TG9aEIaZMfKxJhHyU4Z7ZDUwNc6UgwQ9SHlhCyJXgTjyICWAwGIMEJRiEJyyT0rWA0X3gimAIBQy6mdo0GniQTCSkCIGgS+d94M1H2IfpHM4ms8L0wnAwGQRmAYIjoFeJVeCHBjg7PNiOfGnH2MW8CmABM7xyIpAK5mbkZuBNrIHLA4BAulN3AtnW19EdxYdP5pKazg1jufyb6P1loICUwBB0eJzeeUH2SBPBgjKNOve8QIqra+5Nh+HHd6Wfmhw4LUu20vROZO9pE8fUXg+h0r9OKX/L5mvpXNz6bFeYmb0FnQM3HgNenFXL2Q1cFbVSeNV4bNyiw5/FzpdpFsqeKYMZPrZqKy0LxmocQgMzDD1k0z+sUt10h7hKJWFxBmgYMqaYFFlp8UfmPrsregS5+Jr0UvH5NQ+vS8wcP76Pl7aNFCSg4pLTYhHmmhKQIIETJ0FCMjrwVhE8mAGDe8WAOc8WLBwzAmDK4HzZtok8QaApHicBxBIn06bFQYQrAeA+QBtESDw7b/EJZ9aDESjhCxV3RQwEOhkUWeJwJc+u+Szwk5cco4WnyEUcJdhTNK1nwIDqfY5fl9YDwoUeTSGAAUjkCD5G36aFck4RzcD14vc7rwriJOS5W4puAjEjhTGjgVgOHAt8D2LMTAK4wQcuqIcC0A8Kv1UXjVfLwvu3Zx/m8osdUlaZLEx4VJwibv+PWWAY/RDggMfHRRI6a2F0B8FODinnVMC7dz4zo3/sbmZauMxwXo6anD5s496OORU6tfpEe7PpDM1Epe2GijVelzAjjUW3j4ECtJLp3QBHWP6Zz37LwEMvMiloFh68e/ZIrN3aOqbUwIUXojeEyAAlp2Lb0lvPRZv2u+Dc+hywMBUP6bAgtK5Ec6KkiA1dR8FclGgngcIQqR+0aQG7SgfWA8cpdGzQdPqQQIFkOtnAQICfNaCASBgwkEWA+lTeXSP3cW59QAQ2kGjsyb6k8csBhl5q4El2smRlheZNpjKAedSYKDUp7O0xacAqye42kwWgTJAkN9/JUC8RGlZAz/AB98FssHKhHOgYAwSCBCVRIoIAAEIUEYAggCSKR2F/JEVwZQLytyCzFwLkuqL1gMviVWRUxEmXwoIZFYDL2nLMf65+NXCM+nAeuBCsWV+FJ7/hwMHLslovNX8XLLNr8FonToOSwGPufdP+fzYdy+hUl9eox2vhXwCp8/HjwIgRVoQyC5HnS96TpQAkMA4LwIGlrZmmMkl2pTQjqVrqwQMLGvWicDA5CVaBgamfp+iOa3SAcMCDG25CEhQZIuOtvE96KXn9KXa8JZU6u9RkO7cdfEOwMDcs1FYPqO+ckRzKTkIw6nvNWHsY03opRxnRfAJ2s3EemDqoMotChhJcDMagADxd0jPIhrFIFCkxQUgAQjA4zSHeUiE3GpiihwPwefSzyYBkzTg3InuAymNzrbkrB//Pt3wIaje+O+8jovQC+LKzJ2jwPh8L4FefopH81kC0UvWAuGjKcBd0QAUlFJeioXK8LvEJEj2iDLzgQqBMUgQO5+N29T4FlwLcloSq+K974opWsrfnBrY7wC4dMv36iXu948ed+CHAgd+RGDgkvTezOYl6DWAgdcCK85599LZCd6CXqLBvUyNGZ0a8OgVac6d4GRgYJEZ/uFqPnYRnQIQHLw78TPWOBHAZ3kFh3NVAnCW7qMQCCwWn7x7CBJkrOVFQYLj9BEAgvekjwAMvEftpX7P7t9F5R8vIay3/OdSP+20Fhp9PuR8T60IhLn1AEEIUBjiD7C4FzCpADGIppW91DSzB8mXkXZvsBToRzEI2EuF8vk8QEDsAwpmVgQH9WffpablctASHAGTolgJIDiD0vOjZD0wFdIg78Oxe2u+EWe4EywvffKNKcG1tK5z0AR+zid5zfRK9j8HC8PDt5yvPYIELCBBakXgoxUOv7shDsEBiJYDBGlDqDTWS/mdwbUgtHfKegCYAtVfmY4EJDycj+NF5pr4lIMacVNz6zhY94SfHiQYpZaMbT9N4hi5/iw0GfgIwP4PAw5cgYGPRecs3rM0Gic8N9WeS220jzYHPyUVTNTzi+WcC6ZY1YuAgQWgQP59dvnMCZenpCTK76PFbV8Y2RfAAvPY+bkCyv3Jg3eOzEkToKAEEgz9yUbywq4Gc/P03gDBezEZf3pg4IKuMvkcHfZlCTwub+YC1mhfFEDEqVzwnD0T4IdgRXAAEATzaQ0JwOZDD0T3guB6AAhAkFoHFIjYpzeMZyMAphiDQCLC02BVAEiFpHzqQniT7wEgSNsbo9a/YOGkmQtiE3KLpZmI9JP53zF9bow05clnU7T03pqlxWD88dKWCqP591PvpQBBHoBvsuxsH+TAwEHMHv+5WM6QX0c8siKwPkChVhKsMAcIJFBhOZOBFBH2wuspPkqxKkrzcCyI5YVaA+C0e+JYLKWzqeT2M2VF8Eppaz9iOsMfAhy4AgPL6VRm9K3GY65NkwjvazTkg9Fb+x5dckw/2mF2SVoSgPAsYGDOJ69w8aSCbs7s5+09pkECXgYMzGnATonuOwXiANNATingdxptuQQMjBnKAkAAXBQkmKJztskl9+lbAwQ/FzAwEE/8nj9zWnsXgoyitg9/HGjOjqUvA47EMSEPEjCmo7RnAIFPPSB1pFrTJJUb4Msr+c0HgCD9GxCAgFyUpYiVtM328r0yIBA0STOmAALpcxkcedmaoqF/WRyC8uPJWXRC4LM5X/sRdLWgM+f3t/zmcjjr9Fry+zDcaVFLTv6NEiA0cU9OAQP5Z4o5WhIwDVYESvm15MoAQegFhUCeIZOB94UYWxEUWhHeO4NhLAEnU7EqXpXOzC4FTM/LuWL6ImseDxAs4W2WB38dUqJ+9LgDPwQ48DPTa27fl67NpYzOOcDAz0BTh0MudJ+Ksv9paUJbd3ZxBUbhQJguvJfm+j0qXOe/p1QCCiKDeHx35RdSamb6oiBUJwIDx+lQS3AqI5CSSp4vgQQp44jR7+knoWkzVgRv6L5yULX/+aOdj2/V3o9z5h225BhIkH52uEYn6BjIOLI+ktJOWUPHrKzyXO/wVgQhSrv2AlkKEDAwtpL28QcEZFBJ5xe6GBCGLAbsPEAhIrK4GGhh5F0PUgY4AhAAg9A4N/bHmPjD2ANJfzOA4FRKgYGSGf1Re60U5D4KDJ/asjGds/en1/1UaVR8npGZ0RcAgpMaOPGsWM4EIGGwIoBbBhBMpr3MrQjOIb/WDlwLMh4hjVWRAwRLzd4vScemZW7nBIAg8Dwna+BLVgNTdEbWgiUAzEcFCj48OPCzWg28pN9zizV95hI0x9QsRY/PefdHo9w/8CMeBpegZd1askLzV5b5qp26bpaYZKbPlZjAs4CBnE4wVzs2esfW1lFgI3/+AvEG0vmZAgbSWqbu1DTVGoCYbi1lDOYBAuBgBF8hIvGl6Iyd8qK6Ap3L6F+SPuQRecSdYIn1QErzoMDC82RS0zgWpKbyn8diwj6c2HwKNIAEGFsRhPLVJEDgxHrA9YAG2NoRQCBxCmZGLHUvgPZavazvTBJ/QEECwPkAbaHfOUAgrRqsCNK+qyOHaJq1oPxo4Yx5AcAaSksBgtCO4vMFUCCUk/48pNM4x2Pg1/ESTm3D8F0JJpgCCOS7w7SW1pc3EpSz6kcCZyx3sCIoAQTE/vOCi0GIQRCqSgECcUPxUHYeqDNMam5dyD604jHtNoZYFceCWeaBLIEJAOyVqMQTnFwGTmxnKRjkjPXAHPh6rlHGyW1+Rfrw4MDPRpdisPIF9pqL7tJM4bnlfaSNNUXHBLdjVgMfvX9n0cmM0/FReGlgyDlgIK19EhhYqHUvpsrJrAdSQTfv1lJztuNoern9xYi+o4ILDMkCs+sUGJgCBUpajfz+ntIcnAwQHGn7e9IlAIJjZ2PpnLmAou0keruz7bKC2xwwcMxUPzybr9VyRRN7Mnyda6o9QHAKTZnZA4DlIbVbmus9RGmXxs0BBP0QoJCS+ANLAYJQRRJsbmDaJQgiO98Sb7JApOUsLwAEAEZWBMyHoMCpIH5sVyzgnLW1nJM5hZ+YBoXTemdrm3z6nLOifC5nJc1adXnBPmtXCSAIevlgKZK24eAOTY4Hl/1UyUaVOsYAATEBJDEIoMi740g7iJO2zQEEvt/nuBBM0UuCFr8WlZozHzh1/HeU3zHmAc5rTL7uZgo782wdiuYIyrxulImX0RUcOEIv1aYco/fQCn0Emur3Bzu/TqZTAsVdgt5yXkcRk9+y4gXC5iVpCTBQZJPOMMcP3y/11z+HTmMQUWbIpszvksA9Zd+8GYaSx4y5/Jye1TzqbwQEsBwgOGzbqavofU7SSwAEc2W/hF7arlfXQl2qjoVuTUuAgfB96RwttrcEDGR7MnomZR/mZsb2SLsY04IEI+wxjoH/gCFKe0jjNgkQBNxCG8DHCMgBAunnglU1sh7wAAF8/IFEm0p+BFILAheAxsyKYIrSeUqZ+4OxGX3yMhAqB4XDzyU8xpSW9xLAwBQosOQcWLwPT7G+ixkxxus8BQhywTzAA4pJgguSXz3Ms+sg7tlkstkDBDoVwAMoAID8wwFAG+6mCYAgxOQo9f1EPiEHP0rWAwfv0PBs+nco7/D3jP85g4pAQfp94YFZ+R0XOPMjQzHwOB/NsvA16UODA5dkhk5ZKFPPpkjnS+hHF4BfSj97/6fop7QaCDTFOB0RNoHT1tPSIE7AcWCA0tpP1bgDZa37hPVATinb+XJAqny5xz6c4pc3XXokx+PLvgQMTHUnnsFZYJ+lAMFRBv4Meu/zrFT/0rNi7rklI/PRgYFAlxbc0nJLP5dkSimt08MKCkBjuh9HwTf82aMwWBH4D8iLKOHRAwUtI2pU+Ujbwx4LadyCFQF8xPawGc8FCGa1puwAwhB7ABhZD8TCE/eCFCCZMjsPQjdweJYe3MuFts36OucxIeaC0i6kxW3Nfua/nyrSl8CA0vleoqnAsbM0BbSnQHS4KxMgiH0lYa6hCM4N8QcorXzqAOXy3ZoCBI4GvoGBURYD561qmIAQp0OeGXiL6RgEGIMEB+2bH7lS13JAoOSasjQO1mtSSYk/92x6/wMnxB1Ix3kBnRJ0eQl91FgDgT40OPDWdApDdSpT9N4M5I9APwqjmdeZt/scYe2cw/c9+vuql8QbIbI5QFCqdXnKQswDA3OC9VGte9IejAXcpTTnJzgrGJ4iKE2l/UmIUWAicQgMpM+UGN8Rc3kEIJhry3kAwcuAqWUlnlbu1HNLGO+XbuUf7U47OiYXAgjmYmkAiTCRAVmTbSydJ3MctHNjK4KQSi9rg8U0idbzEKwLZSimEUigvWZUg8Vs/6UAQd7vKXLembtgPQDnkLoXxL5PAAShn1N33OReLZw3iwTfMyg/qZa0tfz7ZQDRfM3P0dF1Hgtfdp+OPPLC8wlIoCDzYnEIEECRmP7TjPXADEAw6hcO3Qt0AAKS+ANghiOCYoCTzk8CBGf7AhyObsl6INZfmIiS1cDQ3rwulPdqrmW/gNY9pmCcuOAvLnCXrAfOKcb/PKVpr3WGLKUrOODpNSfhR2OiXpN+5LE4RTCbQvannivVdcrfS+kcYOvj0Dxrc5LQPFVDMrCL0/4BpwMD6TMvuHTOodm1c8ziYWlEzQkmIFgNjE0Gx8DA1J4pZiXg6dRAy90LltDlb4hZcMb/5OyzkubuR6X3YHzGa+Dyp+ExYCD9LAey5tbnWGs6w5CHksO+DYJzYj0QXAuWyB6lPakIsJD4A0FLajG4FqjQkxJAQE6yChwDCKYEidJno2dHBR+4FxRGKgIEnGQtyIflokz9GSDUKSu1BAYUBbr45xKLvUNAYAoMm2wXjc/wUEZxrPL7tGQtY23cPAS5R2MTkvnW5IVxhxFAwD5AofKLYClAsERBkl6T4b4Lbgepm0NsbvouqTFAkBYYCn0hzVlQTtEU4HRAuUvIGYBAKGEqBlEKEpSsB4p0bN+90IVjCeV8S0onZ1p4Zfqw4MBbMj5XYKBMH2idfmiau7hLIMGxA+BSQMDHpreDKZYC8FMRnkfPxN+OMOhTQnWpsvBRsB4440ItaTdOumiWMKu5L8ALmRTmeWBgMgBRLvSfEeDnkCmdEgvS7w7LOJeWjtxLdsmssHlmmWnZr01zbXxJ/bMAwSL3Jjpow+h3LjO3o+ISZjY8f3S/Bn9kAODp4H2c7IIoHPs+BICg5FoQ2husBkTzGT4fHhZgwY9Bkut95FqgJgACAGR7n+XALHIxGAYtzMHhDh9ZXnlgAMF6IANIgMF6AMgsCHxfL3fnHtnBk2e9jF/p7bkSTwIGLuAjvgQMA4Z1DiwDw4AMGOCJdjOG8XNuAAmCBYGfcwefTjABCHQABU4ACE4l2UMMTd6tJwGzw54P8EYaZ2AEEKSDdrTCw/WUrpclvFC+Go9mKViSTWUBPzMfjHDirJtRDgBJv8+5SaOL51D41Hn6Z6QPCw5ckpZoaC5Nf9YF8xKaG5PXHK9LzvHUEXPs6Fl6sSwBBv6cYMExOhDLD34/u+RsQI+nfsqAgSVajpzS2+wdrAdOprPMGym6EyzZ+8c0UKfgEedjF/lOXg4MLGHYX5NKmq2jWswz6LXvtiXtnTtvl8zDLEBQLDRlcMujuiSWBjBou4Cxz/JiSoGBAjM+xGYHYBHN+UPgttByBYALuc4PqvPfu/GH4prggYIAEsie99L2HEAAgJ09BAjYga04KBDz5GI4FsldMhpk1gOADIavP00LGAACToGPwricnQd+qbXAmZrWKb6heGu+wAQ8HZElGWeAAQgDpsGwyXMqA8QAHIJibGU9BKDAWhB5kEAZgFQMnnkOQAAgpi8cDcLU2sTgWpCOSW49oJPnpbgJgCCMQ04LeIZZxRWmXZ6AJfdnPg9HtPKZ4uPYqTt1fh5t1QHwsqSS8608j/bjeMkfMv7ADwsOHGffrvQS+tHG9C3bey5AcKzMcz/7cWnpiL2810ut886N7F/00T9LoD6Pzg9IWGCAlwYiPPFGS10K8qFZapqa+2mnTOWS5oyex9TKOn29HWMO5kucF2dLu6TEpKd/z4GRH+EMmWrDKW079bw9wtMnBZ8XeyBQur5LsTTClyNrl6UMbVFLl1spwQdc8yBBIThfnrUgtyQQjWcGDOTrzDc09be2HOIPnAkQAD6dQJLqMB+CGM2NhFknNR2vJbUe8D3LszfkAEF4bQ4IeFGU9HxtnQEIjLTBhe/Gn08AA6V2AEdBgbA2gDEwUDIBT4GwucBxS8ZsFhALwEAACrxrDfn0mSAFRVr6oRBdYJYABAAGkKDQ2KmZK3ngsf8itx4YFVvKVKDU8fv4CKVrPbQtBQjmViBN/F7K0ATg4sH7gBme+wzLweWVHloPlOiUeys/Iy7e5gvRDwkOlBilcxie12KS3kIkeEnbj7XvIzCPl6KlWqiclozR1GG15P1j9Z8HDOS1Tos+Obg29/el6Nx9ekmaEx6XAQNHkOZTLvBXhos/mg9bTsw8ZjqTP1wBJchzkL8XzQnqS2jci2WwwtSenIvPcHzu506w5W9cis69w3PBBYW/c8UfIT+PTj/1jmu+uPh9rJ/lt1Iwu7zNqQaVmP35ExjzrBYKnwMHwfkS6wHyQAQd6XYKDLhssAfzfE4Eah+xPUjb5wAE3qSap+ygTzwLSubAgQ4AAowFqIvQC8CmU2gRsHSsLQUtb/GxAjCQa3nHf3sBzo/z5BSyE4A6rPkiMDBh/QDlgQKOa4fIgbWIOkRaBLFQd0y/KYEDrROAgGLATe9ek4EEOaVAUt4tAVPEtWAYl7H1QHhuZP5OPnpH6HMKECQa7CkhfOmJVno7D8gcyhu3Nvw6zAUVfj/IKhHff/l9npZyKXYqrLUIQi4E75akic2p1OaPwCcDHxQcOMYuXYJ+VGDgEu3+CAvvkvSS/ky9u0TInzt8j70/1+bTgYGpWj7KMfMSWi5KpXRKxogl6Z/m6C2tBi5f6mtBQcvpUPM9354pJmCUj3nh5J26Q5YAA3MC6XzhJf/qZSJs0ZS3ABAUtYnjkiZb+r6r5DSam6cUGDhp/hcwicFqIAADc2ndpExpQSpDn0QRKEg/g7STnAAEDhIEkJ23HtDFoo5R1BYno+l8QMIQ2E+xZCtgSoCBUwECViDXJyrmGZPqOauBKcriDwDTAAHwRiDBidYDyxU8mVA9Z+mGaUFzti08gABz/M6Bhvfkw3cCEBuNnQ9SyM7HrmBZ+7b3bgYAeTeDULeFrMeAdoUsBgBiJgNNGIEEJUrPWlUC/Qr9LblYRPeCRLgeAQRn0KVu+VHzC9YCxXdyK4IT1vqxdZU+d7bLT0KpywoxH7ov+UwwDBT7MBXLpUSXavNr0YcEB86hH0kMOsRSl9GP0r+PQsfGa8l4HtvrLwEBLvH8gmPzrFLfjpZALGW6xGU3LTyVPiszWpFeaPY3VDhv1pn/fb5LQZlGzMgHIsd8YD2Qz9dbmucdAwqKGuCpN2ZNfMt7eM4VY16LUqh3tObe/sw4HY5Y1r5SINgX9S4ytoeljOQVzM9PLhCk7dXx84lWBiEpalUP96pUOQAEYBIhnQbBWHntOJNEKWCSeAFzwvAYGACUNzuwLNpWabIfm3MBAvTiKx76VlRtyodR6CA1veC95cQUU58okUcAAVAGCd6Dn+eJ3xe9tRAYCN9NBcVlDOs6dQ9bkm0mB8Py4LKzypKSpUzel1RLXQLHghUBAFYmAgShHTlAIP1jMCFaEaQgQbGdoa8pmJvLlgGwXSoYvtDF6RJ02MrD+2MyS1OeqnkGGFii0JlKb5wur3jkYGHcAU+lAK8jgCC/VF8AtP4I9EOBAx9dc7FETJv67COLb29B5yKbU+N2CWAgf/YYq/rS9Xl6Xz76jngJIz57JS2iqcvmlNzQr7ovF3GZL2tBSXtcnJNzmZBT4w5gWpgFjlsNAIfV5UxWbhL52mfrUnhuci9MgU0LAjjFccs+z/16D+o9wd849OGSNH8uLKltKCEflykhJU+FGd49mRKAIGifR/UHYWlmTYcAaUFQQKLJnBubEQObAgO5Fi+2SYQkYnEvCNYDRPrsfZGO6xh8YTiW/PL2AgABfFJEFMDKESgAJIeCOq6VTNZ6Gm2ccOiXnfpknwcKvGznHAMgw2dHmzYXNDclpQqZH45HZZ8Dw/IYMam1TBqUb/ZsjH/z/LpPXCIk1gAD8OtfFqasM1IgZQBQBOOk2dLTABY45tgwjSSQ6MRoBGBgZMWGsktcLsjq0SOESeuBj0ATrgQH6yoJ4ncYh2Ac/2Nqfc2BTvm6KgEuR/fHiwKFnsfhns8Xvx39UODApeitJ+USjNVHX0hL6BICdF7ee7x3DDk+tY+zqPnkN6fUcngUXXouXkZ5ay632pf43OePlF95xdFSmRYMKF5EnP0ETrMayFfB0QvqlCBICzIu5AGrTgd7pltLNFYwTgEDpRLOuahLbZ8Dok4GBsJnI4Cg3MoS4JL79VJ8m8t1Llxvpb9jEROfn0YvO9cC5ZkDRt/hzFgcpTlK5iU1KXUsoEAcQ/9L8PN3zCPT5tgu36XYszD/SqKwD23JtHcH+9SBQrA+JcJ2MCJASPPmNacEHAz7kuE5WHMoAwQ0ARAQh/HwglA4BzOAoNC8MiiQfF7MZhCsBwqCb6gjBQguThMCVdknu/D6uXUuBQbCdwEgAObbw8M5fpDSMFkcQWAu7bvU1P5gzU/1J/+9sPZDH6LbiTckgI8hQBpg148AAsmRAVgQdMFqgDGARgFaKwEhpd+X0LkcUFkrf1nxcxFwM7Wuct7gCBD9GnTyaKSgfMm9YIY8BnVApWxCH5l+GHDg3LP6vHm43MZa2u5ZbcGC9+ee+ThC4OXoPIH6MrN6TLBeChK8djtPoZJ4fs66ObZzpr+n2W9L5VyC5oTHRRdiSqkwfcGIVlOlLGVgjwenS2b7lcwYL81sT1p/UBkYeK39NKfVSD+fTds1Y+47xaBPmfYORAcBr2JdhfpiPTMCyrnnwdCiMr1sbrygiXL7Qg9TA5eypi4tcgKomfg71cIzSztGPw+nJj5fsuwIrgXTwlIyf2ngNmSMrHNeKPJm+nAA0yj2QAiiRfCCehgnPj3A1hCgTlqeWxCQ998m9tpZHjaqIi3+4OgBljSEAhAEc/IUOF0ICEwFajsQfA8tQEKgxdx64Cw64pt9zCc7n4JjptUlOgAGpu4mokmgN91jpfFgHkABTt4Jn01Zy4xdaaYoXePJup/qi/WxB5RvtwcGAESQrAQQMElVzmcToBwkYEbImhiGa4riKiU6+uwsfQDXgilatK6SNXVuFoMlViny/bCuCg1ZVlkKnuf70mfBGLKfTPPKp6Zg/Gj0w4ADS+jlIj1nvy8vrbg4XtSW47S0dUuF1begOaHzXIE0L+Oc786tZwlIkD73UqDneK1z73x0yHK6fa+xdpcDA69Q+xSnMLo4h2c4+1miOS1GWs4kDLPUjPGEgEKvSSLQULQaCMAAJd8vpZfsjmNpGKPL4qhdPBYwi9pfDH7S4Y98ZWbau9y3l5G+kjDXwKi+KX/sJetuKR0/A7NaljDEBf//SZ9olvUSQJPxW2ES5+scjZ1KzN6z+h2L775NhCWCBDiTgjCKYJ4ztUPbJkYrbQezdzcIoAEQTfI9QCB7lsS82mcuIO8vOyf8Ekmud+f3mGPy1gGjUUvaJT8CKCCzI0EKY6/CQk0WLBFAXstLor71AIFKBiMHCVSS1nDheZQKvpkGs3hf0zxAkLZoFoQ94u9/TGjKQcgU7FqclaYkwOVa3FDwkcBrabvifitYg+UgQQoQeDm8sBdPoAQUK7VNQAKxohGAzLenABCQb5v23gg2tJw5AgcBJAh0zA0uBwZO1hq/ETCQ7axyUwAUb4JjgFOyps4NqDhFsegMZE2tsE4rsAACkzqwHniNVI3A4V5+T679TwUOLKHyQE9t8PcXqKZqP6dVlxC+L0Evbcc5Y/Jas7gUeDkVyJmmjzCD70svBeJKYzwNDByng2jCp1gPHHEpmHo71x4dC0o3xUCOhRAe6i/1Z/RiAhCcGHdgjhTRLMNVqiYHBkrgwOm7Jn1jwa70j5fYuDQ40uGLbgwMHNhquxFAQCFXN4LwKwy59a8HTa9WOJyXgqb5oJ4Z94JScL9A5wAxk7frKcxw4v8/AggwCCxAsv6LoEmh3gONUQLghLGzVtKkASBVjcbEeWDAenAi+MIyMTRPaxJTpnaYcy80U4FxTYGBzLpABGufDo0cmL2IG2IPJBpzys4qEeKW7xrnF4dK/GjYuxiAAOWZa2YRskY/4b0N4OMPuN73VSUAgRdfUiuBA9eCxY0d1vpIOE6Yf5zmXrDkCJw1608BiwmhI3eVSV1V0vN9wALdcL7kL83FHFkYeC0F3QIwMHl0BzAgA8TIr4mh0QvnMk/tmZ68UaADUpCMQqDL+BxJDAIPEECZsXUDwtoMVgSIlgRAsHgIfZno9oLuhD2f3xHT9lCXJZf9LF0dI5pbV+H7QAUeYSqt6LGeHsMeSnRglXIO2HIBZUgep+VHcC34cODASxn/y9N5AMFrtvkl6+qjAARTdKx9HwkYyOt4DcDjNemjr4VAl2zj6cBAVnvOUJY07TlAAIw5ucnGja0GQs35zyXAQPrdVB7dopB2zHog9/lccGkumb9jOEoabyAyweT9meEFC99XAsaF0ZjNOmphcdCQ8iBy9kEYmQO5mwLzR2Lmn2+8VOA8YFzUoeAeHk2AAVuoVCvxldXso3Kzk5Rezo40baIRSYXhTHDDITk+rmmao7jmIrqaQh5LCigIA6STsWevwYekJoP0U6xMRBOIEF0/F67HaAxGtsnMIGcPhCk2AFEFgGEdwzKjd4OGHczeVF3W7LFwgGNhbxCEmShYR6dPR4b9gAheS9pLFzSBnJU5VyL05em30r0Y2iza3QC0eOsBGeZsKTOUosSSRRaTI/j9yZgKUEgq6WseYyEHBYjKwGp4fMrcOXG5OBZ/oDQeaVHhuyVa12SAxgVNtSc84v+l1jA5pbFFxm9m9RbOmINzIH6XnDvACDwZa86TdsZzqdBIIAIEoR8hW0YwJoln9zE6aL8bfx72AgkYNgLJAkBA5FN8AnDkt7G8o/zdS+SPiOQcDGAGe2uC0Pe04SW3j2wYhq4sAJUOqJAN4Fx6sU3C7N2FQx5hxnpgyTDkioO5OESTVAAIDi1PUqhkeIaRAGUT/M8pYxosxvIYQR+BPhw48Pb0I4hHA11i7SwRCiNvdIH6zm3Dpep5K4p87pnvvT6dB3S9Ta3LVty5a2YJqHTWyCwBCIDyqT9pNTA8mwMDOZ3i1jaHWMsc+V2ZMsyxXRPSe3pBZr54x2jqDAgXfvRVLYwdJb+JSTKiZqcoYKezOwGWTH2fPhXbTNlXCeM85/8fs70RhPnmMWN7wKSwjeaMhB6sldfy+nJZBFHnEDW9CoPwpZJIjaL5tiLcBh/eYGrumWSQA5QwP0yH2srYIxoY/GVM3fjvg3UYhe9s7qJ2+HBNlmImhLFhlrHpHUe/f0cioEORCLwU1kt/GCDOTxL7zhKS+jkALM7veQ0QQVWVf0fq7RJwQPnyVAFoImAUZTvXJIqg4gVmJ3HUAevXD8dxG1K++fFiCyYHKOPRHpl/KBUndfJcJBRzvEv7AecOd2/UBzqxIAhCIIV+eOuBEHcgjT/giCT2ASGzlFAJ7IYRMCBCXjhvkvZ4zWTRhD8DCUqB99Ixya0HDrbnLEOfzo0rWwfNgMZpVWEsS3txOuJ9qUkT50zy2QASJP7VPM5wEYDD1DpnsJ7KBDgkpviEUTBOZpn73C6BKejwC+QDDI4DdLqDvo3XDfyB5gYrmiSLx8iyIHMTGlwKEjAjsRgQwINHz8dm5U0v9+h8mvTlH9d0Ct8UwK4UxDksMaM5bXzgESatB4bZz+OcpMBYsa0s6Y1HbeVx1oIS/ynZKjBeQ0Oph78zkjvoMpLL+3Djy+knBwdeRzy9VKkl/un0Wk9fflz4/SMs4iUC3pLPX5tOAT4+wrh+LDr9yDx35c8DAzMzmAsqyd/hgpb83InQfIxoMJkNtZeAgTlGFSjh3WUGNoxyur9LAEG8E+f6EE1+6SxfvDx92PB5JkSl2hnn0HUtiBlaeUGPHeD6Q22YH1smJYxGVn8QXmLxR4TU8L6YjiNq8FPz2lQoJN8XRThsq/WCurND53OzzIh+GLBpwcqgc0BnHTrH6B3Qe201IHOvNaFShFoRWq1QkwN1W6BvpV5n46CyMoCuAKXBugJ0DZv1LR+vwHyl45YL/OlYuww0IT8eBM9M+/EAMiEl2xdhfMhZvyaHFc9aA7pGm4xN69grt4RhNIpgFNBohVoTNPegvhOBH5Ax9uWEMVAkbSTbgvo90O1A/T6OIesKXK3Bqx5bp/HQWWw7h13vYJmwWa9QGx1VQyLsD2sixM0YjR3gQQ6ZUA3yArMHBtIneQwSxDVESsR51wesQATvVNM6k6ebaByVnYgHywUPPlmwZ8yHuXXgCBAMewoIGmJNg+CRxh9QigbwLJnroUGyF1h7UMC72CSryq9NPVQ5dXZ5gbAcf+AIp5WtYwGexj7O03jBxB4PAupIUy/kEmAg348BNizH0QBGrjCTAOS4LWPh+lDwzC1N4tkHjn+n7XPgmLFgZCzBgyDN7PEreCCsCPBmglwBsKZkfMkvgLDepdk62SfBzYYQLSXQe3BQ9lpI4UihujC/CVAADGBB6Eva/yWB6VJAcBbgWZo9aAGlJZ1qDXPgYhU/H/8d/fRTgODAeoDjOM+2lyfWlwcIziJvGcZwRcDsZ6Y/HTjwHmjMkiV1VHOCc9t+rPZyqVMC7GsBG6Vyp9rwUuH6RxG4z2vnKaNTovF6eGlpl6G8BeU1W3oqp6VjejYwMCpkHiSYtCI40rISMLDE97WAdx9c8MdiD4wAgqkWTjEA8YPBmmDp2koBAuA4OM9gPD4+oW/30IpgCCJcuv7QHFlrQJkROJBnEdBBKMk0+aNykp+hDIaYrQdhzjKPNB2UlK8UQROhUgM4AGtFWI9axpTrTqwylAaDAFMBZhUF4NaKANw7hnUyLgQRgGutsDKElVEw3IPaZ6Dfg/oOFC0SFNhUgK7AugFMFcEHG9SDo3EY1lQq4OcWBCNQIPxkHq1LIgFKdJi7wLTH6FJq/C9QOs/sIlvJpIGqQU8G+95hZxmtZXSW47hUmrDSMiZrQ0C7Bdl9HHdWBqgaWFWP3AK0ItTkgP0TVPsIaregfue/rOGqG7ibL9iqFf7YWzy2Ft92PUxd42+6woYAgo7rjCAKWUU0EgZSIVD6NHDqWhmAAoAyCHzEPIxfSgEgCH78CmBL3pIgsZQIQmc212HtUpx3EYTTDASpls9mUpFKV0TyK8MLjEwRIFBafuf04WDdkAqrpCMwYDFoFYMwQ349qdT0N7WoiO0ZgNs594Ipij0NbYzWTofC3YEgNanhTjT1ST3B8iUNPJoK2drPBydDl9YzbgvPfj+yzAlWG8GiKANO0sCb6VGRnq3xMz/fwegpxB4I/Vt0cUdBLjzuPFjlhfy0DyMLI4hlVOhTsB6IQH5iLp7FeJFqpd/hVmQM1gShvxrD9ILGd3HauRJQkIP3B8MxZ3lCVBC2h3JKVLJ+Kf2dA15pe/K/pwTruTSAudVO5D9m2I9lnOLhmjpZtjo4DB3Afv0QDvbp1Gs/Mn14cOCSYz1eHG83iyXG/tSgFGcLMKNnF154E98tOr+PfF7gNV9xjl+DplpLB3+93gqbGs3L0eXgh8PPxt+fV9NL2jcNDCwptSACpYJLRMiPAAQz/rJ5a04FBvLPg4lgyXogUL5eUz/nWSbSa5pGvnih8INNMPwRgmilFM5DV2hrXjBFLSENQn0iMA4VHfrwplpsB4rARGTq50wks/ZKW4eI7sTBT3tgFI6e86QQUsuFGAoHWt3wtxNBUJOB9VzUIqVJat4co9oPwbXEVFcEx2AxAB60NYdWHBPAQBB8jvhiOkykWcwXRWbxIUK1Z1scg9iK1QUgDH+vYGqDjkS0EYFKgBOtggDsG+x6kOsA28V0f6RE1LIMdE6ABQCoNAFaofZ1k+vB+50IE6YFKQ1yHZReAQDanrHtLCrlsO0tKq1giKUceAsSBVTJ2FkA4CFWQtDWO/+AUgRSA1ASrQU8MEDMYH/GUDhf4C1UKAhVSp6XKGxeUB8EtnT4ZW5pxAM7Fj4ZTtZO2APRtcVr8XQyuWmMkDjVEJCB/HxYJ+Kto8SyJliIhFOMtJybpGABdA5wbgAoFCG60eT+6weAZiwzlSCGszsABIzB1DkX0NP+BeuB0ZouWSDlghR7n/jQJtKjVJPxMebYhmCdJGcNwUIAAuetOkbnTWI1kGrVy5S3NQjTVqL985DhInkkAka5dZDzMzCKvp6wogHUifM+0aoRpQBBuFNzwKNkQcMe6KAZnXi4JD1AEC0BE5CWaByXIgAFwDRYEPYv87AHBIwbm7+PmoIJXjadw8xUf6qcOYrF5RYANASKPEitmr5cWM9SQGJpEgCCKeuBOL4DJFewEzlos7RzOLuCq0r4/OC9UMMcX5ODTKEvzMPayfdmeHNmsHP3pB8hKOGHBwdeSicjRheoL6W5BbN0gbwMGFhGbwWVLBGal7YlH5f33WuXWGkl6GSOzgUJXn9XvLyG6RKWwTPn1DdHpdILEEhBGC0CBOnlGDWjgyYlMO1AuAylfWNmotzmXGs9fEHeJ6/wTqF74SKN/p+5XzMwYpxye8oghw1NzQG0nGEXSkGCUqukKo4aNxWQfOeZlaBJHmkuVSJ0Jbq6EnOVmrUexINIWzG0dTC3hmeqB8E7CFkK2XlPaghE4FljHvmNlIULsINWImBWmiTtm5Ies9fORfeF0NZROUp80eGtKnQFVok7gQsCai6oDxr/OWAgrUv5cYcfmtg98nM4h2z4tRfbFIZXEYwygOq9ZOsGIYA6sKuglYEiGsCjbK1pIg8mdeIiIFJX9Dm2LMDAzgoT3/nJrOs1uHuWuXMO3O0Btt5lYw/T3Mc5tszo2h5t77DXDrWR2AXauzfUyos5CXPMLKb6vXeHAMIxIfNaKQNCixD7gHwMCXYOHFxFlI4ggQwjg0lENaYesErcSDAId50VACXGrQhuI8q77cRR5Bg/gRnoATjn4BzQJ3VaFuZS+QWoiQaRjHOTZi/sEkGxACZwHhhgD/YRi/LOaUALmNDZw3EyCtEihZCWE0CxcOaORVHKBcEA1mUrJwADQUhXRFHALQl6uVn/oYDuYgUEdSCkRZcCyB5gjDHmNI4GZVfmgXXJQtBzOMcFmCEYsLUIQT/lkcFiIAUGEhuIA+E3dS+Qvg2ZC0JfJ/nhVJ0fYlEoA0Iv9SA5szOBNQBkYc3PqncTgACA3HtqAPvj+iDlz9bhdAlrJQULUqDA0WHVw3xTOXZE6FPmGjL67kg4zAOustCOg+cCeO735IG7TxifKcAp5QtKn3uAIHWjCeOXxx0ABkBsADOGfpzrURDjDjg37nwyzgcxSXLQPrxyXhM+NP3pwYFFNGVyNvX4KzYlNuFVan+ZyHYpkXIJQHBOme9PLxmhl4zIcYGxXN9pwneptrn3EjngSI3hgYJAlpX16ntvRuuctyUlSv6XG8ybOgaN3ULGjDEwFeMLPAjFw2UY0f30fR7/PvIfjJLimBxLxexvXyKCUv6d8FksdNDMxEuTBRQR604FRw4SDE0NfvnOQRSOHAVg0VQ6sOOoSQEApRQcO/S9lc9EjQNrHZQWoUxrhbbtUKnEciCnoA33cxA04i70a24xZm4ExVdYBC5Ng6mrpGLEeMEmQvVc+SXf+qgZdgljaC2AFrWuAQyBuzQN6ec0STBCpWhguCkw1ACgY6wBVpWY0kNFU/qRxcAEKIB0PHJgILEgCObFNuWgk8EsToVnwEO2gd4LRsGUHFoAAkYnyzpdk90eVWPQKaBSNGhaQdCKBlP+vpM4AraTNa4hGluIRrp1jF3vwAxov2YrRWh0DQ5BG/sWcBZUNaB+Dw0HoyhO5Xbf4uu3BzxrwN2u4CoC1jVUTei6LVTfwWgFmBpWV2hZo3XAzjKst4/RBNRG4abS4hFgLajvofsW3LfgzoMFHgg50JJbAEqDdNjHCs72YGvBSuJV9N5Kwvm5NgqolIJRhEZBLDTYAcpAK9mPzm8k58GMfS/1Gu3XiZZ1qIlQ+bgKQZjkxGUj2gYQYCIyaAHXgToBblgpcCVWGY7FqqPtGa1zQ/pOJ640ipD4OrPsnwjCyKFIrMqAKLvR+T4OwsdxPQZBhb31g9J5Sr5kvxaFuuQ7WAQVKAU5ZSSIS0aSYKHBYQ8gQIpegEsbEEEJN8QXyZ3Ncou3pK3hvhL/e79urI9P4uuIwVD50AUprKMS5dYDITNKEdhIKbY33K1DPAD0g5AaLWgSsAwa3sIN8h4F8xI1Tos5aqAnO1gmQfmYM6nwSwPkkYMFUbMNxAQdozvaP5dGrc9FzzRobR50NK7zkZn72DXxGJWsYYDBImbMXroR6BQ+O1hbsxUmY5cEvEytdabbWv59CiDI0xv7p2P9ftQRg7KEJ9Ix9z8FOM5rSLJK8YHtTagtgh5LrECHdr0v/XDgQO4r+mJaiqaeQUsXwnvTpZp5ypRcEiB47000JtnWnH2S0mF7L7lQTgEKTj+CZuWptMbCBXhQQDzdC6hzVMEOEsTE0wfX0Zz5/EF70icm0W9KnyqWOa4/lD5cekWAYJRvW5gk69ibyvoc0ElbI7NxAHS7CCYwOPqBiqbWwVkLgmhp8n3HCHU6z+AJo2CC0O01kwbWC6kWsP0giCEwWloYeKXB5P8BXtiUPjlmWOfG2vHQsRIlQuqIYQdiMLfDwQ8m+mr4l5jKu7wwT5Nl4dCEeNTkYP4MAQmEYQM00+jdYlT/pHwGYO0ovjYUCFoZGGOQ+9mjl3prXUMbBaN83AEv8UgQPYpzLt0mMZtX2rdTS4wBXUuMgSSoYexjLGeiDyVK17nrQR6QoExl5SCymiYcAiN+fKwLwuuwFmyYA22gTRXN6sXNwM99r1HpFXrn4pjIHImZvJiuW5DtPTjgRqavlkUzve0d2t6hUgJUVERomg149wBVN6D9M7jvwN0e1LcCTKgGK61gtILuGd8fHrCpFB7RoVoZ7Nwe9LQH7R6gOolbwKaGq2/R1xs87C2eOokn0TmpuzGEu9rg89pA7x+gt99B3SOw30l6SgJIaUBpKFPFQ5DYgWNWDALVDVCv0Vdr2HoHt+rw1DOe2h77nkFKrBoao7GpNTaVguu3oG4nzDNpcLWCrW7QW0LbMZ5bibGwtzLvjVGg2qBRAJRCFdYhkZxrDFjnxC3A70sjJiGoFACtQM5CtTtQv41ryDEDqgJXQGsZz724bOx7B6MJK60BOGgKwSYdyHbedcQHnNRmzOQrNQ4iC8h4hu8URqb01g0WFhzXr1gyKB0gKAxCVGrBEQQqDrYAyV5hQEACjRjYNewTL4SH9JjBvYBI9kJFiMEjozDnBbhRZhJguBxTwRIYad6JnT/jveY/CMR+fyh/tgfg9/DcGM7mUcDS5PQIj1uIxExKrJ5i2wOwkVoAjIR4jeCSIW2z0ZWJnfOgXTh8LZRaReAv9B9k/FmYnGqJJvwwzSP8mBSsCUKZofgsPkNJG87ZzzB5DAzBGZPvBmAgFVwNRi59/k6ZAgfS2D6KB9P91Bpm1GcfdGDkrjICnXJuzPNuKahetPEPzyVrPVpjYBR3IOBOoWl5Ngyd8dvkrZSmXQuAFCA4SJsaQfh+6JMKvJwHFn17Y68LoIUobwKXNAAEeXvipv1YgszHBgfyxb3UZ+O4yDMhDMSvJ0xiXoGOuRYUhZglNKkBnR6dUumnrNdyycdF46VAQS4oTT81X9/FaIHFyfF+pafK9LrLhaNlRAWBN2cSkkA7WWMPsOBT0Z+0WgzzfAAUxFsyvWSzsQgAOeMQMaaDxw6aciCPZiAFszfLHbgrzzQOwn3QHIVGh98JaTAvEYT7ro1CeaptH2mAA+PlBTXLJFpSdvJ4YLD8xRHYjbztQdNrWcCAeLx5rZZjNxLwUpJ3Bs1PqjEOmjwNB9hWNK3BxzudK1JiyuyFTQn+Zw+C0UmbEPsyzEVZ0Hc8mFkOL4eXkJiM+3YoB7iEMfGBCEMfAzCQRjcelZFSJri7OKaZyWc6r95KgUiNgIJRscnvIwabeRA8/FhpRdCOYRWh1l7j72MOEBjoLdhaaK2hdQ3jmXjrOI5pzATgQRIOV76PyN9zMCmXugMNwfLSAIrucN5TC4iiySsA10MrE8+YPAteML2Vsg49TWWcGJ0HvcL4S/YHkwjC1r++A5RG3dSwmuB40FprSlwKXAC8ejHJDukJWVKdWWZsO4fntgcpgmWDRhNuKoNVvQb2kuEB6MB9D2VbkN2jqldoDOG20uitAHe1UVhphZUmrA2BHh+gt98kIKLScPUapGto2gBArHtnHVZahI3OObS9RdX3cN0eat/C7QahnWrvk+9oiHfiHNB34FbcH6Ar0KqFayycq7DvFb61Fo97h20nAOG6UripFLjRgHag569Q+0eQ7cDKgOs13OYXPKPGH3vGP587fN112HUWShE2lcaXdQW3rmArDVcpVFr2WeuAXe+w7R2eO8Zz16N3jEYr3K0MPtUa7UrDPP0T6uk3uMc/wPs91PoGtPkEe/tX7NcWv217/P7c45/Pe/Q+I8R9U+GXmwrcaFTQoP4Zqn0SYMOJWTx0Ba4akCEwyFvS+MXBDHJOQCMCosxlxHrAQYTgziFmadAEARAYMAkINQi4fCBoDheuA/kMHcHNzGfYA1sF6OG2dB4k61wIPDrsAWhAO4JTQ/ED6GWHOoAIjAyZQMhvVyuB/ViAFHIOIXtIcKEBCHCy5gNgEaxOhrswxPYgkAeYVXbCuuGCkiCFSsKFDo10mTCM4azRegTmsPWl6x5wna/AirtPMH3XFVh1CClaoQ0EzNYH5cFbHOSCOLE/z4PwG2N7JB1Lzrw844FDJvAiuVN4uNOLsSPCuct9XE9D5b0HCAINVgMlUDv9PaQOjUL3iL8R/uEAuPENlvWcWBDEeyABgCbU+aMYBCFLhALY9UBimZKOVxinAMqloHs6fimVrQaGIqPbpDIgF4Jb+i8DOBb4FpYVOqS5ReQRAliXgz/SBxq/XxwRIYdCHJ53pA8NDqR0qhY+FUKKgsliOv5GadLz9i4xgZmnM4GB9O8Xmmuf3uxSqaOtWdTqnkLJUTTThumn5vpUFsh9q0vAUkRD/Z/JRZCXq5KD9gAgSMqYev9Y24fmquENdslLnHw3HMb5pQIgmnzOATO5qVwfJQ0vbCY1xbJS4cr/LSZu8jT7yNRB4Ina3wSNDTdDSDCnCOjaFm3bJrWPhbvQ/rwdnJpTxqhWCoOgyBHFLlIqAPPQHhHqvHYzD5inffRt7++dmnWn86yUoOE6MFwpWIJDAX8Ya/KBurL+AhibQw4mq0CIPC65x5WSiOekeBCCU4AjaKG9MB7MwdO1FC7JcPmlGvii3zrgNVZUBBmKgEIACOLvkqHAuvHYpKbycVyy/TyMKaLFgUBFMv4jgCDMqcOIiQ3MYZESs8YADHTWAzxB8AjCh3+l0eJnT44jQEPoAKfBfSeCstbijx8tbtzAvJmgKRHApLc80sqHPioa1lilIMJFmgWClExk0ofw+cE8Jj81KUn5lRyMDD40603b7WEkB0TgRKLlKzEjrwygKhDt5T3Xywnd7wFVoa7WYjlgE9ghB2xYhKNxQEtZw71z2FsnLssE3PYau57R1GtwtQZVTXQtQN+Bui3W689otMJ9M1is3NRaMkdUCrT7Dr39Bn74DW73DFIa6u4LSDeg9SfA93VnHVorrjW1oWjCHcaaCSBjANUAVSPpFE0NNo0X6KzEU+h2IG2Abn+wDNnX1TnGtpcR0kS4qTxj3e+h9k/A41e47SNgKqi7L2Bdw6x/AVyPvu+x23fYdhaKgBoGaBSUI9Rg6K4DP+/gQND1GsppdK3Fdt/j67bDvndojILrK5h1hTU01MM30O9/h/36T2C/A5oV9F/+HcwVdrzGt8cO//l9h/952GPbW9Ra48uqwtN9g3+7reHWBvXuG9TzV1D3LPNqjIxRfSP/qjVYmRhwLYyXCuvdnyGuWqFXFZ57h33P2Pt9w4wYVPL2Zo37dY3GKHSwUL0XzJkHvSZ5rsdbDpBPKRqDL4aAi0asIxgKPVVovfXKzgpgtLdyTyoiGE1YVxqqMqhCSH52iG4ZfTvst3if6XhGcRpgs/cAGzPgWm914bOacCPnsW28+w2hd87H5bDRQKLS5MHRwXrJH7dyprpMMCYRQAXok4wiEdgI7iAxQwWBVSVgur/glAoSrgV59xpu9+D9HrACFrCuoJQGVf5uV8anH20Q0mESAGYLggcNDwRxEYaJvftc4A/SABCp9URwQfBrKFhTMA/n0EhTz4jBJeEkredIGHcCystZ7OtUCqxrRPg8sRqwbqzccUgy8vhn9IBx+LaMeYAQQ4c4jReSABVh7frPgwWhzOvEmR7LDv22EUQgBYSgl7mlRQAGYrBcTw4EIgYl4AWRB7dRBgbCPwEOCEQarE1sU3CbiK5UACQwJw38hZLSnW9b3q7A7wyy3iAUzMk40s8LWsa/gD4UOHCKYLhk8MZiYf5lxrwEmrEYOFVwBcZCU/rZaQBBLjwmdIqFQ0T4ygJz0ecIM2N4Sr2BXtsiYzQ+CZSO8vxN9a8kkBfH4WA+gCgCFYTtQ9PcRHAflTFmvEsocCqEpqXFSOzWwloLz4UfrvkD4ddfDsEHPGkOEaLPnlxyAxIa6/PMvrUOz9utrPN0aGgaHCimx4vazsF8MWh/Q8PEfCwze87WWxQsMaZR+ro8FVjUjDKY+EDYXULhgtMEkPKm4RqgkXKUouYiLTqvhjAOMhfGTdNgFhu0sgo0EoJjgK7Qz6SPqUYXWf/IrxvF3r9b+/EJjHMYpwAKJHOVl5WDAeH31IQ0jn9iThW18Mr4WAw0WpepP/3oZ9KWPPJ+oDiead1JGWFth364+Ongex8sQWIQxGiSCGEkUu16RilwEP2vPVDAEO2kDuMAb8UR3mEHsq1/OVhvGLAzgLLRimE0Ln4vBBcC0UIOgIRvVAQIjCJhRrv9wChRgOGEYbfJvhBhwAMElJpqep9dXR8wfQ44CKQma0KAnlienwvrPADoGNoCrWI0XsiRQH0sAEHfAXoPXTXQirxVxMCIh6j3cXycBVh76wMLrUx0ywg+7tvO4bG12NQK980KbGro1Y3XUnrm3fZAu8XKNNhbwpeVgWXRjK+NwloxaPcd/PgH7PevwP4ZbGrAGNDq1u/PIehbbxmKBlchaT6JlkvXMue6gmtuwfUtbLVGa+V5VRHWNwTsHqB2D1D6WSyAUpPfMK4sLgwAUHshUykCdjuo9hnd138Az4/CdfcdlGlQrz+h1gqVktSZRhMqpXBbG9xWGve1xqp/hHr+QwI2koJrbrG+/RV7Q9j2AsBIex22xqFvPIPuLHj3DPf4Dbzfgro11HoTTf4dJB7E932Px12PxljUirDvKzjnoNjB7R9Bu0fY7QPYWajmBkwVXEVgMmgtwXZSnvYBItH3oH4X9xbrGmwduNnA9Q5t57DvXQQcNRHYEJ6fn/y8k7zfh6CRHO/ZoB0ncLRaod67PbgBeGNtgGoNrm7QVWs8dw5PrcPWMh72HXa9Q+8QY1Hc1wZ/ub9B21TY1BqN24O6Z1D7DGV7kI//QsqAqxpcraV808AhAEKAcj3Ufgtqn0HtI3j7BLR7QCmo1Q14dQd3w+jXCo97h++txXPP2DuCBKokrI2GbmQ9EHsXHhXONsCRSD8hu4Uiv9UZYE72YgpsGA8IaANHCns7nOVaEVbVWqwFlJasMd0evH0EtztAawHwqgpqtRbQXwkwYEmj88e1JsCQBshJkFpmWQOpIO6tLmK8ipFGpMDDOO/GBXjXKor7OigAUuuBNLjkiEtnh2ABQn2PeBOxBqEVMJBZ9heGLB6A3P0hjgGF8hB4N7n/HDCyBBkAyKENIRYIeXcCsl3UrssA6oO7JlhGDgCKSoKDwvdDIWTE8Bs/xvkIoEYcz2Tsxp8O4AX5uRTRnRNeN34SNf0yPv75JE2szKVNACp4iwYATkmMHgwgTHD1CaT82ggKndCwADMcAwg+Cn0ocGCKljDkQVDJiZPvDoS7gAoFbWEwjaR0qS0DBabqfwlNtff4i2r8bNqnXDOdML458uV4bP67BCUYDrQo1h72IQMoOHk3UAmoSMsvwhsH45POZaGNRygcRCFYWtDaHmiao+DJYDIAWa+xDAGMLPZtB8dOtL9e6zmKJuyjFodAOaJvGPyW43mdCOi+kcmYjQet6zo450ZtLoJLiSCVamfjIzQORDYFpqTtLFlNUPKcIi8cRU19SRw+jUb9DH3LKDVHi+1Inh1yT4dCB0FxKTAQxk/M9gbhTvv84hzaCWAKJUzXuPJB1AiJgJ9q/72QHzoVAALQ4C8e30stF3y+Ma2MRCUmmYfUygLszdQVQetaLlAe/BvDvyHN1uE5crB2MmuRkbtFOJOdNzWNmngX+5lPA8OvpWS+g9AaASVPATAJvvgjcCjtExBdEVIrDvFvZDj2grqi0REnLiblcyf2NyFNkpZNkYjQUeHvJ39wOwhAkwgZcdU4gRFIudGJyqwTMw0T5yiAbCkwEPyFo2mr8sAJnAADI+GF4+ETzoxglWH9JJu073GeyZ9zCgpAHyxr/HjGPnnGDGzBPaBrI+vfhsjn3r/ZAZ0SxqwxNaB2IjBDBEtQB7YdYFtUeoWOhsPJMsPCryUlsTKgtLcg6KNrgFES4M4oQufNp0N6w51l3FRrsH4Q4aPbg70pNrkOdb3GyjAAB2ZC7a0GsH+E6naw2wfg+RFuvwXVPXi9gXLWAyqDcSkpisElKQKg/oxSGlCNAAPrT/jeAY9PHXa9jJFRhJtK4b65xVoZYEegVo20fQFcDWQ5EbyIQLaF2z6An77DPXwVZl9pmLsvoPYZtb7FulJovATYaIVPK4O7WmHtdtDf/w7323/BPj+ATA395a9gpbFe/wpDLp7D21404oHR1gC478HdDnb7LObW7R7a9VED29tgceMiiFYpQq1I3DXaLdz2IVpnYO0zc5gVWqqx7Rw6J6lAK0VQlUIV7iQfayUIXXANNGkPcJPsAy/3KwxWSOR6oO+iZU8E5VQVATsGAGtBrpPf+3GQNwmo14PZDRZKXuAIO1+R5wNkt2O73UL3LahTaNsnqPZRhPx+H9vBpgFXK7jaAg1j77bo3DDXK0Og3SP09g/Q8x9wD1/hnh+k+tUNzJd/g73dw94x/rnt8XXb4/e9w85KA40mASpuKtzVGjeVgjUqzk3nOFpe7KwAXwygMWL9cFsrdMpBbb9B7Z9AVixdWDdwq1u4tcPWKewswMpAkUKlFW4qwkYbaGvhdlv037/Cff8dvJd5p2YtHhqrW7gGsEpj3wN7a9GznHVGSf/D/JNtB4AHAJwBKhUDkY4OTE5cINKgdomVFNMQYNK/cqCpB0usGoC9u0oQyDkCA2T3iVWLBrj2gWVlDoJ7WEjBqoPBWHCfc50AbEr4Pg2N3oMA4XzrA2sBueq1VzYAJOeT67yVRj+sLcgdzEjcNYJATX59j/z6E+CYrWjvQ53ZWAVg1CVjFngU7eMiaH+OBKsV4rGVBWuD4LJgWcCTeKf7M0NpA+oF1Cafxca1EhNG1Ss/jxowsv56ljFr7ViRBr+eFJIYkZAjw8PkIx5pqTzy1vRhwYGlgjZlv+cC5jHtd2pOGtPZLGhHXl66OHIBKTXvOZuWAgNT76UCU9L4NDJ6zEsLDNYN/tn0jgLG48LZd/GPKesMZn8AyBsB5QzluGQAHQ+RzMWUDpFRiiBEIqwHicazu34+KQoKAKNtO/R9H8uYFXY5RCbmaKId/FLj4eMBFwbAWgMkfmwScMkHY3PDiRsENh1S7AThCPB2zsLMp/m9E2XqofY1m4cSsJIK4kuoNKdFzTwQBaHA6HHy+1GaMT1bSsE0fBYAwVhwHee3T0CKGIthbFExIPxBkApM2riqsZYZstY9SMDwmlUPEqTMY4lknv0lQ9701XoBPxVmtR7Ah9ApysbGufgeeWEs2DdKRHkF63necX/kIIi5xJVJvvMCos0sOnzjI8OMxPc9BwZiQQ5RAx9N+aRQDu94MIOSuYnDnM1BnLfky5ieDUHLDcRAf3H/JfPi3w1lSZtkPDiMfWiLb3sENFLN/QiYDY0UBo+UgVHKgxD+OFHyx6h/Ye1qk5U7lQ06zENiBQFEt5xgvpgGd1KgCF7KWmt9MLdOzjpSCcM3pBgMzFo8k6KFQwJEWQDUQ+k61icAjoznaB96QYkAcE+o9QpWEzpvORDjZDiJy2ihRHBLGXd/PrO1MVaXgwcyLKCJsa7XYCsR/5VPBRiYwmZNWBuF21rjqVNRYI5adstg3YBNI0H+PLNLzgK2Q61E4GSt4MCoiCSzBoc4B/6+cofzF+83Pw/GM5tVmJcYhV1M3rnZ4HsH/Lbt8Y+nFl+3PTrnsDYKv97UsK6CWq+wqkXzzt5cnFwv1igqcZNJ1psMGouQvntG9yyMMlXf4bYPoG6L6uYOtTdtJyVxFm4qhbtGQ//xL9h//n+w//3/oH/8Dt0IiGLqFZr1J1RaoVIKlnv0VkznAwhTqRA/wcFZhuqCL7yNVmJhD1daYV0pL2BqrIwC7Z9B+yfY50dw34FWN4DWcbyedhL0sXOi/V9VMj/Gn6VRO8oOUN5tx3hrEsWwFj4eB0FrQu3/Yb8f3HAAeTfJBhIzK1SA5goI5wWU7LURPyr7p1JStnWE21pDE6FzDooIjZHv0nkkjMGNgSf1MRZMjT0r7HqHvfPZOEhic2yaDVy/g9be3YBZ3GaUFkHJ2cgT9BZ42rV42FtYZtzWBjUb9MaBSUP5d5xPg8j1Gl0nsS2e2iHGRWOkX9xosOqhnn6H2n4D756lDetb2BsLdjW+7qxYLHSyn9eVxl2t8MvaoNk+QP32T/T/5/9F+4//RvewhdIK9acNqr9tYVDB9hW6tsa39ju2vaw1oxRWhrCpFG4MoLZ/QO2eYjBMkIJuNjDrDVDfgHUFqmo5v5kRzP3J9TEmjwiJCtA1oGtwZWGpQusksUL4Fyzhwn5TJBY4BAXjBV1mC+pbaU+3l/kAQKYGagY5AcyD1cCuC65XgJGLygf8tJL9I8RmUBVUs4mB83rn44F04i5SaYkfogmovUKAbBcDhVJw21BeYGYN+PS4rGtESxnS0odoQeDi+SwPJLE2AjjjgTjEN9KgnIPM4BRQgSQwJwawTsarRbBOADO4EvdH5wX64PmqFYONwtqnuiRmUL+Hffom7ikAuNlDbz5J/Arf5t4CeyuASrScw+DuGNuC4W/AX4WcyVABfPlAKMGHAgdGVjr+ZypgpHlTI8qEgSlJNV6Dmab8TLVXCBuafeTslBlU7BG7gWlJaWTSnRFhYEwDM5eKKRYpQDCsgmJZFOTcAjMdHwoaeGAkYAQUGgBbJ2Kr7xKTR/pIez9T8to1Hqph0eUobxoTy+M83Rij7XyeWaViQKyYuzkK0T6MiGcGo1ZcGbAvo+97P97ZaHD6Y8ixnArIQcBOgZ4I8iR+67lpeShjFhzAWG6Pgk4qVKTAi7PiPw5OcoaHPM6AOkgYC/EhTloVDp8ofIWD0L8YGLlSu0vm8yNNPbBIAJd5HPc7AgPp+/EwH4S1fF+Wyo7ChNd8F8udo3gA02HbCuWMhEdAzA9B0af7wDfcC19ja4gBGEjXTXr+iCKZ/H4Z6hMhVx5OTaXzLgXtaHyChvqC5n/MRLLIJZRG+qVxmcnYBOE7Ct7BfFt5f3Dyn2dtY5bUanFf8AAIjHyhMVySoQsHwMBSAIiF5SEvfIv5/FgrXwKg0jbmpGhwJxhlAIgFqiKKG8BS9hW4cAElwn8EDALAl1g5jOY7ghHC/Gtdo1bjSlPX/DCdztdBWgOswWw8g+qib2sMDJnEfwjr+GAsADBIzFn9Xqg0DVYDXgNKob2pm4Qy6OxggQB4pgeAJYqCflhv4S4L4xDuSMty4sV3gKFOK+9I9Pla8toTR1DBsVggtI6xNhW4NwIQWH9fpWczvPmnY5/twEHXBrVZgc1eLAYA+dm3wO4BN9UtdpbxaVVBEXktM3lggoFGNLHU70UQC+CEt0SplBarGwyWP/BrhEwl8QLqBmREYBNLAILr2cd7IAAatVFR+Awm7xQC7CmDXtV42gkw8P/+scV/f99j1/X4tK7x1FpUSlwammoF3j1C8R6wDtTvoLn3wIUX1K0bBynVibYzaOFsC/Syb7R3P1kbDSLCpta4MQqm24Ke/4D9+//B83/+D/bfHqHqCveAxFe4/3es9F00V+4cY28dWm89AF3JGOkKSpOs+WQNaRLw5qY20Ipw31T4sjbY1AprzVC773BP38H7rV/s2scbuMV3bxL/bWfROcZKKyjS6DRjbUIgRyvgGBugb0FVB01rGG/FUfmlWmlCo5RkaGi3XuPsM1AoI3uxarB3ItAPGl1CpTVWqzugFZcL9JQxvLKOal3DMQFQ0IpRa4LjYPUl4FGtZN8OFgiIChiGnEesDWAaONNg1zo89y6m6iQCOifjsK5vwfUzqG7gnv1N4UGvsVn40Fzt4x/cVgY3lcKm1qj230G77wJIaQO2d1ivPmFv2dfn5xoKKyP7WQSzFrx7Bm8fZbuYCuSsF34Z33YW/3jaY29lvv79roGBwxeqYUDo2z32j8/YPzyDFMFVGug6MAg9Knx7bvHbtsf3fY+9dVgbjU8rDVdrmJUG7XZQ20fQ/knOIlPD9QzuLLi2gGnAuh14H69Jp347BO31+5yV9i4cNVy1RseE1or1hHVA6/nDlMfUinDbVLhf1VgbQG+/Qe2+QW2/g5+/g9s9CARqVlB3X4CbL7AbhdY4PLTietL2Fkop3DQGm1qj14TGbqHbR6i+AxED1QrctuDmDm3nsGsd/vXc4tuuR89iBXRXa9Btg8YH5kS3A9pH2Mc/4LbPUHUNatagNYFVDVeJlUznKFqkCYimh0vNercvD3IyEaBtkiaTwJVGMMoPgLb19822s37dyNpfVxqKCKzEKg39DmifvdWb9XMgMTPEakTid3RWpBGjRO7QpNGAwHYP+/QA++138POTTOVqLQpCXYMhWYF2ncVzL1llmH38ESUxNyqtYIjEjcuKmx8pA0VmBDSnoDogV95h9gW8C10cHPj69evZ747OxfyzlNGbMHM+EOh4CLIEiHluMLGNqHDmgwtvapj7z8ZH0jozJnek6fXmrFmzpR3pHzgUog7qCJqUXPjNfMbT98N7tt0nmmMBPhhyaFmm6OPaWydapAHZGDHSB/09JnBHc+EeB5JDwmCO5myBqtmymNQBiAARvDA2EgbYIvgJlQT9g3GfEChTIcOyjEcw7xWBLMkhzACSyLFphHbHYd7958n8j3od/RMHYCBaniTg2KjdibCUtzkIllEzN/FeTuGbAw15ClQFoT4pJ1NcHxAnPy0ngF0KEky0j4hEqKcxcDFrNZDWnYB1ASDgVGs5qmyYg5KgWToHdLIPo2Y2AEOCQEQEYQogCCazKfgxcgtIzoOhJxQ/V8m+PJiz4qAE0MDXTaF3Q0fTkYlAVQIK2GRTBbP9tO1I2z4aRF+yhlTsPAgAn+3YlzPSxodmYwwGT5ECJDq+//0ATMoEyMjwZeWULmiZUtGUDKklBqufIGTJuGT++BzuH4iQZSqsdS2aSevQuzFQGgECBrSuBdT24xTXXAAFAlCQ3Qvw/VdKTinrzcZCJnftBYwAnAymmQyksZS1HqwGXJpFQM5Gw8kBEK0ALNiNrU5C/3pHElgsACTsRBDhYW7qlYE1YUydv7cGgR/VCtA7ubsTbfwQC2JwpxDLCS/kNRuxHrB7Mbe1FtRtobRBUzW4qw0ci/Zs20laQQEAxWKBtAQAjK6JKUCQmcb2jqG1BA5Um3tw3wHVDlSvoNYbON2IptHnbDeaohC88v9ou43m4uytMBwDrXV42Pf4x2OL//z9GbvO4mHdo9KEXzY1ft0Es1onwpeT1G/UPmNl7lBrJ9pnB69F9LEvdA3VrMWsvHkEOyexDtI15Zd0xeQ16wJiuKfvsI/fsP3tG9rvT9BNhf39DfTjH1DdFnp1H615mEVg2vfeTNc0UM0NaHUD3e0BYwZ+h8WNYF1pfF5V6JzG58bgrzc17msNev4d9PwN9vEPCWa4WoMaCUTYmjUenzv886nDH7sOjoGbWmNdiRvgIPD5tcAA6x6wHTQcjAqgjezp2pujGyegALVb7+NPMpfKoMegpe+8IKFIUj5aR1hXa2gtaSgR+NJwNloLTT1WxsAohjPDuRvYCPGZ9u4UbOW8NJXsWRrOJTYNWFVorYzxrnd42Fu01oGIcN9IIDi9WqNZ3UNvtlB9D/f4h2ipScf7QsAAoNaEzkjcibta466RWBNN+x364R/gh9/AfS8C5K0ETW30WszBIQABEUU8TyLkW/B+Ky4NSoOaG7EgYYlP8W3X4eu2w8O+x6qSPbapFD7fb4Ba1qpqaiizh64MTFOBNp/gVvdoqw2+PXb4+9Me33Zi8bCpJCDmpvLrOcy/swKIKRJwyawkjaeq0YqAIcClqsDUi8Du2x8mhyHACvsJYxYtPXkFnLiQYLDmIoAdYYsWsD24VlDbLdTTI/D9N9g//gXstqJ0W91A7/bAJwdrKzxSiz92AnptewsiiXly2yh8bgya/R9QT7+D9k9iTdOs4G6+wN3/B37fM/77scP/+b7Dv54lSOiq1vj1psbu8w36uxq8Aswf/wV8/S/0v/0d9vkR1c0GavMJ6svf4G5/AW8U9o8dtj5oZ5AhVlqhRi/BTbutuLsEBW0AtXXl3X5qGWtdyZng1+quZzx3Fk8+bapzDKMJm8rg08rgvlGwtUa1+wba/iGBSPteApHWt3A3n7Gv7vDHvsdjy/hj16Hz4NDnlcFf1hp3vBWLp//6/6H/13+i/y5nXnV/B/PLv8P8b4btDJ5r5wEmaQ8ArI3GbSPuMXeVwg49VPscrU9CsNiejA8+nPD2GIJ3Rgvl8N0J4MB6vV7+8BG6ODiw3W7PfncKHCj5QBcDkNGQWqIUvGxkzu0RHUp8hFKNCycpsFJBK9ZbEkRCPm0U6vdtCAwqMD/pB0J2SSOaCdixGWFcprTbirx2+9A0NLwfDu/ISKcgSigHY+HpQBCNl1zB9DU19U7avZRSASgy3MC4nxPtBIY5kLbO1JNoSINpiFY+VRQpsHK+e0GEGq/VA0uIORrscqPQla6hEFgGyNZ9DhCkFiuBcU9BjZRmAIJUQ35Q34Ju5BRAg3RvJ93za35aqx608ilIEtuWVzS3mBLhO8x/FPT8WIb1MtKSA4cR7tN9SSF1kRr5G4Yqg4k++XFI3RmCYO/8XKV7UaWDdmTs03Mgru10L3BhL0aGTw3ojqf0rHIsf1setB0pMDAiys6hIIjHTiXm8Vk74PrBoiuWp8b/wisT4xAtOCAgUOjLCEzC8DO6BPAgBCvyfvQTlTgOrp7jtoVMAOnetQQ4r6ENK3NIc2mBTtIS1qaCNiZmEUj3RiiOSYGqBnB6iG8QQOLU2oXH78qaE+YjWLGlZ5+A58GlIF8nKjJxUMYLj0DH4jvsH5Eo2WmhI9/rABD5sxcBRGNoB9gAmrEbR+eG3M11c4fWEjpFUf4PWR56AxhVieVARHJcnMewXluvfWJWIBJhb1Ovwe0WrPZA3wLdXkA2ZXB7+9doflp58CLYANgA1Jh6AOy8xYhYkfk2sqytvWXU9RrO3kG5Hlpp0QIaA6xuwfUaFioGiQsm643/p+0O1D5BtVu4dgdVO3C/8+C9D5zYO+w6i13nUGmLbeetIwEBfHofQ6DvoZwFmRVWn+9RG0JtFLa9FQ23c9hbxm29Bq1vQZt76HYPtq2ABc0NnKmi9isIOOMNIsIVWwfX9iBS6Pc+kJmzIz5D9oxYDnQsLht0cwtab8RE2NSg1U0EX7QSof7WOmjS+LSqcN9orKmD2n2Hffg6CFFKg5oVbH2Lp9bi297i922Hb7sungk76+Cgh3PK9QLeKCvAUwRfNbSPu6EJWBmFRhNo54EBuxcwLJgfmwqdZeydmGuHYJGVUnAsKTMBh5WpYWo1BP8EhvOo76BVn5w1GJ/pOe+jxEKASYn/Qth/pgFMJR5mHgDa9oNw0zsv9CuLev0Jrt1CbYb0gBG8cz0M1ai1BJ/UZGE04S/rSmJNYA/1KC4l7us/xW3n5g7aOaj6BvVmA62snEMs9QLD+iF2cH4fAgAnY2KZse0d/tj1+O1hh1VlUCnCrzc1ntYO96s7qLsvqD99lXVSaejPv0J/+Rv69Rc8tDL3/3oWcAGQNRjPMN+/eC8oBQlguALXa4lV0Tr0zDF7EIxCbSrAVYgpUmO8q/F9Fda8k2kXqxhiaPYGT/7QDndr54Ba+ZSpIRNAsGxxVoAXANAaXSegz/e2w1NrxRVJEdaVAJrU78XV5us/xMJhdQOla7h2C+Yau67H9+0e//PHFg/bDqtKwf7lBneG8aV22Lse9uEr+r//F+zv/wPe79E+3UD1DmZ1B1v3cLXDH7snbEPQTCXWNRujsDEA7Z7F5affjd0KAiiga0D3YNMDukYPha4XUK3tHPadxXZv8dj2Hnwg9I2BthUqq7FyGv3DV+jH32AfvoJbD75++gXWEvZrg+/PHf7nscNvzy22ncW60vjbpgbf19C1g3l+Qv/Hb9j+99+x//oAdozVlyesVIXq09/QN3t83T3ht22P/3nY46mT2Cl3jQY2DbTVaJyG238H7R4jWMg+yCjXEjS2d1lGKq9Y0S8ABy5JH8qtIOVLA08WmLxcE3rAePoNODIPTrQTIfARolBxOOLhm8BgBe1GVPR6TeNQfsaoewbfZn2QdvkzPZv4pKllSgSItM3svwtCzCjtBxLhwwvn0vzQXrkElVLRPKc0GNGcOReCvM+08+meBgF6EERHwlaY2NRqoKDVSqqWahIBrjRG8e8pATcBIA6EvEx7LwUeWg+EilwwE/fa3+hXSwoHjtoJKRrMq2LRcVwL7U2DAyZ1q7yteXvzNmMo3xFiHLFELp6k3Cx9VjM/M5d5Pen+zi0y0nqjpUvWhijzLxmLYzQ1EAXBMy05BSWiRnyU4k1yzjMOBcsgsKXnUGy7B0VG/Sy1jZQvyY0/C/94PLbstRchzoH4BQaNc7IfQxXAKEI+kGBWvmb2+yBf1zI+AYRNTPdLwEAAUjn9SsAVZUwReEnXWp4RIW1joJgGsORmkY4pO8Q829keClZeI0O/tID0eVLoPVMXAquFIdIKHjCRzA9AsBxI0iUpC3Y9tKmgdQ2jQhDBcIel96OK/vsBDAjuYSnHERjY3PrLaD+OGRAV58wTkxoU4ORTVioD54Ucm0ztwTEYrFJc77MJ+PgR0N6lYMg+oABUiqF93nGx7muToTXQVYPaeJNVl2QQgZgbG1OBO4OYGcS3IUIFDLQ9S4rA3gEQwaJZrVDVa6B7Fk2hN0dVpOCUwe36ix8fJ24CvkDLLJHU7QohN7oEvpIxsl7QFVNycWNSHXC7/iz2ProCrTqJxF6tJFCeB+oJXpGhJChirRVot4XaP8I+/QHebcGrNahaQdsdGmOwNgqblcGqEneGyogvfm0UakWS0nD/hP771+i7rJsbuP0TGrXGSis8ePeJbScm5229glp/gv7yN1mrtgc1N6D1DWAaCdDoZEx7DypEi4P1LfR6jeqmQb9voxYX2gBQyV0wgI2dcyKorSVVpLr9LJtIG4mY7/2CNYk28ktTwWiI1rpWoK1YDfD2Ca7bCahQ+zSPzQbPj10EBh72PSqjcOstWhRk7UucDTGjh2qGfZ7sdZkbQqVJgh922yHLAXlzcn+ft52TddcHP3tZ67e1BpGAspqkj6ZW4PTMZOfb4wawLNw3irwwVUlcg+BKVDVgFkGVEwWYBEU0cHa40YJFS7CoCW4iK62xWX8CsRX3o3YPVa/gSAHW+mCdhLtGo9YKjffZ39Qa6vEfwPd/wv7zP9H+9hvYOdS3T0DVQN//gvrWDRYjjtFB5t0hiXjvHLj32vt2B7LdCATbthZPe4u2Z2xWBt92HZ66CrfNPcznX6GeH9DUjbil/PofcJtfsDc3+P7Y4R9PLX5/bvG4t2IxsuI4p7Dt6ExGJdpeV92gVSs8tNZni5A92hjph65qaNUBqgOUP5WU971XRiw5/P2slVeiaYJzjJopWmD1NtyxYtnVWSeAYncDfXMLtX+Gsz3QdWJVYUy8TzuWbCpP/p/RCuvKwrGRM9B24mrz/SvcfisgXy3pU5vml2gRs2stth4w2vn1KgeeBdqd7K3tFrazqCqJ3QVTAdUNnjoX/4UUpZtKoVaSmpoCuDUc7AIM6MqDzwYgLQGJqZe70giSwqwE1LKyXmLkRHj5yt9dEQB9+Ar2aVC5bkCrewH8HfDc9vjdW59sag2lCF/WBnZVS+BlANz1sDu5g5wfD2gD1GvstiznyL7HY2tjNhoQYIigXQvaP0K1j7JvdSV7RwuIlGeJin3Ax6EPBQ4AY4EwBwjC95HBG5nZungY55o7EaAZIbCWVmpIlcZ5ICk9yo0dTN0VCEyD5vZAixrK8kx+qD9Ymwamm5I+xKIwMHgpoxbl6aj9Tvrp/wVgIESMBiD5j4kkPzkpQLnol5xTruEMbVPJ7wcMfu73GzqBQRAdgxPAyF+V1GSfR+OTmWuXno+p4koAAQ2m4QcWAEg0qwXBN8xjSvk6Cvnf49gE8CNvRtqn0cS7ATxJ2hyFuwBKJHRgRp/1N23sFDA2605A4/EtAVmxjGwu0zLi/GVjGrTjgdI5Ucyw2T6PghOpXKkdnyt24hgdeSQCUiUBOLQrmp565iueBX3MAABCUYiOlI4RO4hf2hjsi5Y4Hnxgm3TAf5an7nPpy8pHkE/T8YTvszU7Woqxn8M+jJZHTiIEQ9HIN37Ib40hMNdICz2kwAtpk6LrBRBN6rRS0EodPSdTCvusRDmIMO6wOdxL7IZ7BOMYEAHZH5VFgxtBPJPdMA/OB6FXTgRzaA342BGDT3/vgVexIggggWUa9Tn87BPLIklFhdFcKD8gFM65LPgiKQ9UJPs4dkkR2GlvSRz8230U6jAZR4jgXeGcePuyE6GdlBHXAOfHyDN2MfNAAPpDkEB2UMrAmQZ1U2NHwzk1di3wglK/lzuYWdruemiv9bTMaK317mlDlHJjVuIeoBTcvgc7C6U0lBZGbl3fwTGjTc4g5+tktRetrAdB0iwzQ/vkZwDD7tafQbqJmmbWtVgOdG40h8YDO7WC+LK3O7jH75ICsd1BVyvQ6g63zS/4222N37cdnj6v8bTvsWkMvqxrfF4ZrCoFeniEe/gqTHO7h3IWvL4DbX5B3dzE66G3DlsC9r3BUytaZH37DO2caHGbNbi5A1cr7DtGax22vUXbi+b5tta432ygb79A//IfWD8+QzU1SCs0X+6hbu4klZwHQmTPk58fGZ+eAVWtoO++xPVIN3dwRgL7Adb7GwfBVKPhPdT+UQSg3bOsO+NBhfoGu17cFh73Fs+dlaBrXvZYaeVjOrQg24nVAOCBHslyYKG8EDvwR3LOdf69VuJ0aA2giXxCzz4KvEWijBFwlVme6QLDqxRI1QNfYltwL26wqtuJObZtxd2BIObXZiWWJ6YSTatjABqKNExNQ+Bjf66FGAW1llgRIWvD3oo/92NnsaoIzWoDch2U60EetAtlVFqh0QxrBOiQshRqbqE8AGW//4H2+xOcTxe5fn705uTj/QjvTmK95U2sx2vGBRxoAdtK2zWh8VkQHDPa3km2i57BN2u41T30l3+DW92I8Pv532Fv/4KH1uF3H2vgcW/R9Q63jUajZR3V2gNoffAT14Cu4WpJ4/i0s3hsLR73AoLVRoGhoInQaIY2FcBNcrcaAW9MJZa6/osALAnvhwgqd5axIxetsTrHICug+Xr9Cc71UOxBh92zpD+tGjhtvMwyzGNrnQfbhhSo5Czc7hn2+Rvs0xP0egd8v4X+9IjV5q8SzLPSWNUau86i8nuiUhIMlVwnWVn6FuycWD1UDWjzGa65RV9v8P2pw7edxdd9B3aMm1oA2LCvCXIfiZxFMkbe3D4CXEGpaK0HogjGCFiuKcS3AB5bASRjmkUQ4AO+cruH2z2Dd8/iQr7eQN130VJubx2e2x7ftx22rcXaaDzuHXZrh8qsgOYG5qaBXglQoG8a0Hojrkkw2HYtHvayljorbSBFMOSzfuyfoPaP4KfvAFsBVH3cE7ge2gh/GEOnZ9bk4R5+L6sB4AOCA4FSkIAxHqSRcDRKzSWfK69xSVX3gaEJwSS0F5rBKmrhA6MctcyJ2UfQ3kaBEsg0YmOBObYViJriqL3JTPSnBILAAKW5rVNzsiD4xlRS/hRwDMlU4vOTy3t8yACnbUAqnNPgLxyAgVQ7mlAuxMbUVJRYDwwdRWr6GgQZYLw5KBOYgrn2gWCZ/D4FEARmXcoafgYT/ajBz4VtFhYggjxJEc4xlAIsp0LXeE4VYSRYhPUzAl1ySubUYRCaYpkoAGMJKDF3jjikoE35mTAUB1rYI1rcsEdH76TvpXUUQCXHfow8QDCyzknKCgABUBAOR8BIAkRNddTTCABJ+pfvx0lK+hiOJTiK6zVkAIiCFw1rvWiNkVgRhLGNIFgSKT6fi+DjnucBDmCdhX8/nHvpuGWWHyPwo6D1NyErAqSBKQAaIqtHhjQ9nxN//N6b1fVuDICFiNsyjGMrq7jWCpY4oXmjeUz6mN4f8VyKZ6PD0Ilh3QRLG2B8iY/O8qyuPBtAaKojERQ1ieBjvBaeKIlZ4oY9SAC4D2MyMMxjS61x3Ie0JYrhU/sxtKYhZkUaMMspMDphXpUBJftaTJMBtgrRdMB/ngOBMabDCMkZ1jaxBTuKwER0y2eOdxcBaImxMhpGV3EOuPeR9fUe6PfQdY9KK7SOvFnmkLqrN5KrPGaXdj3ItuC+Q6UkNWGIi9Bbh6eux7pS2PUKt+s1eGegTA3gSZhLAMpUUKZGXa9hjYbrnRfqvCk8A8ZUAuhkoD37ubJOzNa1G99HK7NGXQmoAGXQOSBR6sb1rFUYOwvu9kC3h3t+Apk9nKmh17fYrD/hy9rg//okPqdPnTC8/35X467WWJOFah/RP0mgPteJ8Ks+PYO6PfSaool/7xiuc/i+7yWKe71Cs/4sAYr7nQg63ve6d71YGXQWe8sAetw1Gt+Nwl82v8D8+/+NlbOo7v8FIg31+Veoz7+ir24iSxG01cYLIoCsZ9HYCkDABAEkzCqCLIpEe91oiTZP7Q7UbeFa8WeGIqBqoNZ36Kob7HrRrAbrhsoLx3eNwcqQj+nwJDEZfCR2aC3CS7WKLim9Ew27zzUgdbk+gllBwGHSI8AOQOSrQpaBSg+uqgggAcK4KFRmJQGLSY20oq7vAUVQ6zuACMw3gDLYe9cFywIuVSq4pdTelbaV36shQ4plALsuWhDIfDKetcN9cwvu92HDSh/YovKWA5YlTkUVsjX0Pje87cHOwXXeRSxk54j3nYrWIi6CJxxdIchUw6DZHmh3oG6Hxmxw3xh8Wld43PewzkWzeQH+GKt6A3X7GXp9AzbiV7+lBk9dJ8H6/CbbrAzumwqfVxU2tWi46ekR1O/AfSeWEqYBe434Q+vwddvjsZMYAmunUSmKwRShJQAlmQYx7oNZoXWADYEoiVAriLWJ3Yt1CilUSsPUN9C1BBG1JHtg589IZww2m1/kLlMmBmtEvQJnZ3JK7BJ+gJ0I9vs9+uc9bGexWn8F7R5h7A4rI7E7fr2V2DeVUbhvKtxWRixk9p2sbwC6kQB/6v4L1P0X9Osv+L63eGgt/vkspvYixFukYiZBNi5DA6oewK167bM3ePCEe8DuBRTyPvsrXaFpblFrjUoTKiUgTRjXoZIEXLId0ELct3rJJKIVIhjZ9RbWOTx2PR67Hjtb4ba5gb7/AnP/BSs/b/WXv0B//hVudY9tJ+fItnfo/FqqlJwlq4rQkI3AgNs+gDy4GOYASPjwBS7m70UfFhxIBZWjwkdg0ELU7sy8P1DQ+jIwMIYaAweuTLQaKGmp4YVuGgocC+wJ5dYOB0HFMlUWKTMwwYm59chEf0L4TZnEWLdjPxwU86uLo9NhOy1hLMDmAlPK4AMDIz1BDomFRQJmyKtjYCCg8EAi+E6YsKeCZSogpFH8c7/xtE2zlAM9GchEjBHyG4Rtpum5UYIriNAbzNGp5NCCkVAS5jR+FfufRK1PAZsQxd1rO0sUQIlTD6HJx2kw7w4CS+qOMALQUnK9XG7IwTCvnS0JGGm1+bwGbCQf/2zdBRIDtQG0O1hz+fuxLfJgHkxy+D4IjyzMkPJghnyI1DUkzoNL95SLQj+l6yD5CQAqnBNJWwMwEATEVNiWkJkRmoDy6yycrwflp/OW7H0Ci4CnGNAORtfxYRfrGkzYQ8rFkf+sH9dUux403pGcgEMGDJ+BaLSu8gwwi84OEguf9DwPYzGZKSNor+HdExJ3kinLGCnPAxrEUB6UcWAoJp+OKVgP1H5srT+Xh8km8hpzUiKcAyBdxz01uFSMgQEBJDgZb5n3CKZbG605QoYDUkZACAPAu8M47yerjRFrhqKVkpxpOgEHyH+mwtj4/sRzyfUIWQHCXghCNMAwnrnXpgarCuy1i+xC3nHR6Gq9GgVo7B2i9jUCVz3H9IvU71Cv12KebxyqjtD2Ehdi2zlsKoe9VVhVa7B+CBeoBLNqd6Ba/J91tfE6axln63yduhYQI/GrkDUwDFdvGW2y1uM+MwqVrv1+GL/vWEB6ceNRABKgxlm4fQt6/Ab3/V9Qqzv85e4/0FtGpQjf2x4rrfCXtfji0+4bePsIfn5A97wTzV+19xYE3SCgxjEVf/S9Ndh2DrUP3Cip+TRgmiH7g5+DbWfhWMxt10bjZnOH1ad/R6U01KdfAWehNvdwq89iJfEs6FdIhbg2CmujYzuYRDB3AKAruPoGaDbogpYZA28lWv99vBNJV6C6gbq5g6tE+Gh3HIXvVSWCnQQiqyRFYPsEareicfRB9NiswPUGvarxvBeTcuuASgN14IPYAcFKBaHtJHckc9yTRgNrpaKVQm3ENaJSNBr7oO0lYlhFWNVrcS1QBuwsuJV5g1KimW42CNrnnV/TnWMPnsi6MYqgrfWZFLZodA3TbEapS4PQGwJStpbRVwZVtUbMkuPXHrkeldawjqIrWXR9VKLR1us16ts9XGehG5mPmMUlgGsuxAKx6J0ES9TaiFZcV4NrQbcHdVvcrO/wl3WFX28qARWsw6YWVxpNJOegMnDVDciDS7y6w6510c9bEeF+bbA2Gr/eVPjrxu+R569Q++/g5weZy3olWRbqNZ49KPDHrsPOZxMxqZYlMmmePzEVWNfY+QCb4f6vDQBmkN1D7SQdqFgQGLhmg/rmC2zVoGOLnU+1qHuJiWBrg/vbv4KVgdLVEInf31XaW8A0mtD6wKkUwDb282JqsQLxQB63e7in76D9E27rL/hlU+Opc2iMhlGEX28q3DberanvBNytVsJDrW6gv/x1cNl46vDP5w7fdj1a63ywSElJaCgoDIJLjA/w2GzQUo1d69cs4EE7A439EOTTtjJGu0ds1p9gmhsYRdh2FNe6Y5Y7TMlao7oBtR7Ysr0EnO07VLrCulJyBhgN6yS4YduLKwTf3IJuv0B9+Ssa412OvvwNuP8reHWH561YSvVWsrlVSuGuMfiyMtgYBdp9g9o9oH/6Bm53QL3yiiFvfRfma8RrDesnniF4X/qQ4ABlP3OAoPyO92f0OVVTxjw363VBqAu+iRojrUjQ/gTGhfIGAZmwPBKHi/05ELSDMBAEu1BUxvwG6Wck+AKRyU4pdFNABcTUV1ETlGm34/jiUIAdWQ1w4noRyiN1EJE9b/aBhjoHBgKTS9no5YAEcbQKCeLAWEsm/pyRcU8Y+/hM9s544Nz4p58TYvEHDP0crUMvb0XLjgSUCHWTH8vJgGgFS44pBBg5YBOAqdiHobclU+hif7N6Fx1GiaY5AANxf7Ec7gea/wiiyTyO1l3eDhTWQqkNGAu3I4AgE+zDmIZ8vqk1z2gukrpy96BRkwp1lCi3HgGNhdnYvxnro/Q8CIKyrIPBzSKYKgdtcvhBQGRK0lSE+bjk1jtx3wbBjn2+bJIK5ekWRtcgNZQZBOmRxUDcw4P2OYICXrBwSavIw1ultVhy8QjjPJrHNEOKt6pJ92YACWxYN1DiIpSVG86T/LM58DKCrRFQkMsmFWZD3dpUcmcZANQNEe9TsDHcLTx2WQsxU4KVFphHYV9L+FU8y/34kJKRJ6Xjmu7cOMaBVgZaYbDmosS0U8kqC1sk+H3KninU7RjENvrSh/1oPYLaWUarGOtmBa4aoDMgU4ngzfA5xHtoQwjwFjNg4X2mHUetbQDiqQeofYI2K6xNg50XQFvvrxp85veW0ehGXAuqlQADEGAiZG5Q4Y4MliEkIDxrNfASYb/4VIYmmIogBN1j9IoTwZqhOew7glYM432QgYEX6aFR1Wuo9Y1EbzcPQGfhuh3w+B3m9iuqao1f1p+gFeFzL9aI6ypoRLfgbjcSYGOAOQxgxhAgUDS5rRWm3aoaZJq4Btjv58greNr7CPh/VD0aQ/h181dAV1CrO4AdnKnhVp+x66X/Jph0+3m5rTUao6KpMHQFhgKbClzdSEpAn+4w6nQSwJ2UlswGqzXI1AJGNBv0ZNC7DswcmflNpfFvmwZfVgb3FaC+fQVtv8PtnyH+3BWcWYGbWzy1Dk+twz6adihYPbhDDQPp/f69C044hjQRau1N0D0osDKi1YePU2DJ+Pzr4n9unWgkHRM2zS1cvxfT9WB645yAi0RgkhRt287h286KpQoB940RjT4gAuleTPtZaaj6Bl9uvqDSssfrvcK2c3H+OyfxMowR03jqPPDigzVWlUFLJFZKHtRYNxu41R30l7+Cuz1WugLbTrIVbO4l9oMysH4uAv8QLMk6x1iZFfT6Dm61FpNwQMCabof1LeO2UfiP2xWMEuuhVaXx15sKq8pbv5BfL6jE0oQMOu49eCjpNhVJhPv/dSvzv+4eoZ9+g/v2m5ii101029hZRtszHva9d02RIHaVUoOLhiJJ8+cBSXhgIKS6cyx1a6XkYLUdqH2Ce/jdByWtxYWGFNZ3/4ZnDwp+31v0TiLqS9pYjS+bX+BIUmcGDkrDoVESY2RT63jPSNwdOWdYG9BKzg+1evbni8R0UO0zNje/4HOj0d7W2FQqBpncVBo1JBYHKwJWa6iVjwfy6W9wm1/wbW/xddvj267Htg/adNnTKx/7BPsHAaecFTcCs8IeFR72Fs+dj+NAwE0l+2RNSlw8nv6Affom22t9B93vsLr9FVTfy3r06TgtA3vLWDU3UJtPoOdHUB8CRALcS0aRlWnwaVXh06rHLrgXaR/PwAE9Gaj1J5i//m+4mzux0Ln7C+zmL9g6jV3fxftjpSWd6l/WAqJstIP6/ocEQ9xvEQJ5UrMSoMpnpAnu0AdZnBLrM889vBt9OHCgxNOkNBosCjj+IaWMeTDrTWkk1Pmy2JdfEiJH+EDBbDVtX2A+QzsQ3knMLOUz6wVNAtiBg+jAA1MfzIJj1PFEkI3WEYVV5BjQnAAhBQE29KckwI6E0IWUCn0HGmrK/P950HCOfOJTxvuYtcIUuBDa7pn1IMim41RsY3gv1OetB4YsDDw2c861yClDn9RdjJdRWkOkRJZIhCARUCi6FEwJJpNEBS15Wv8CIfegfyPtL8f1GjoZLSryutjFcZ2zcACyMZrR6EcBF2Gs5t0rchP0yTHlIS1gAIeCO0rsnzKAklREFNNrjmsfWY9gmIdBkGXkezL0ZxQnA+Fc4ggSpOdMKdWi1D9uT/p87C2nvwTNd2F+2J+OrvdIWR8D68Q6E+soyg+lKKgfFg147RMGISUFcaT/NAkQDG3MgLMAvibAQGqCbxmjegIgMDrv07LDz9IedH3UXMt+HdIFjh7zTIjSBlQB3HuNcJpJIghghTMF8MCD86te+QUGRhCT5HyjQXAK8xHPdCdjo/yaVSYGUxw0l4D2DHXw9wz9rpWBIgXlfKYBPxTxTA3nmZjQ+bHymiPXQ5P2AIEI2I4ZZBU6HQR1nyLQtpK5wI9vENLDsrYsqRglCCQkBkAYs64F0ArYZBpsbtfYWcat1Witw866aPbfOQZWa3C1gmpWgBUTWlLiBhP2dQjCGK37lE/fGMbY9QL4kEZdb1D1wUeagD5oaYdVJZpbxL0ESBR7q8nn4ZZc6LvewTQbuNU91KedmAc/fRdhv9vDPf4BVW/QqApfVpso5NVG0goSiw+1qlaobiU1HPmAZCNAO7rNDG103qkmBhTzPEzw/97UGptKoXMq+ko/dT2eWg2jLO6az6jrGwEMtZZUcO3AXGMlJrdro7CpFW6MguZ+sDoyldfgr7FvJUd5BAeYonKClQGHwIWmBlUNeH0PV91g7zX+RkngPFIaX5oKf7kx+LLSUI9/h3r66iOc76Fu7iSw3+oWW0t47Ho87C0eux5GKXxZDX7UKoyfF9pd8DXXNawHhrQCDMRX/sYorJUF7R9FcwyAdQ3dbKCogQOw66SPOwI6J9r/TX0Lbp/FoqH3wTq1uAShatC2Esn/677DrpP5UUTY1L59/R70/IfEnXBWBK37Z9ze/g3UiDtKpQhtPwBTnWOsq9qfRyR70VsRGFpDK6Dz+8eBJeDm5heAHSpTw27uxcrBGJgv/4a+vkGX4uE0xMzqQqpHb2aubu4GvsJZH23/EXf1HeyNAF/WC903lcLGqCjExjNImQi0VYpwWxsJ1Gc0/rI2+MvK4B576Md/wn39O9y3f0WBDiQZSzor2v/WuxQpv+7vGi3uCMHqpN8JH29Wsm+t7Nt9L30L4NCm0hI7oN3Bff8K3j6JlVi7gzY1XH0LhZXPzGDx3Fo8UI/Wyj6pNOG22XjwU0zvef+EdX2HW6dguYaiDp0LWTG8m069gbn7Anf/BbVtgb6XrDdKAbaDtjvc1mLFdN+IaChggwJiYL0a6uZOtPK3X2A3v+DRKjzue/yx6/Dc9nDMWBs5Ez6tDO5qhbrfQu2+ibBPBDYNUDV43jt899lDdtahUgJI1EqsieAs3NM38B+/we234GYN1e29FUaNRtdoLaF1AtzpDqjXn0H9HvqLB5a2j+Ly4Ryo3+Fm/QWfGo1/20g8gW1n0Rgl9UFc1Ex1A7r5DFWvxTJzdQdef8bzTlJ/WmYBNEnjy9rg15sKn2oNev6XpFF9fpA0qs3KxzzZwNW36Ku1D1AraVA1qUGZkQokp/Dlr0QfDhxYQiPB3l9WI6ack7zdDORmvSOa0DYCA18T0OkQiEpuInf4fiI0BebBIUHWc2uDtE7PNAdNPIBRmw808V6TpIPwAUQNTmg7EARxGtLgFCh3gSgJr6PI5nQYhC4IsaBMEF0qxBYo5qjOPj+Ic+A1UJFjTBj3oG3TXs3qkjEsWjeE94P1AIIWUFoUL6sIPk2Qn9/wvn9l0HCOOjqel5Lmf3ApWDae0RrElyfaPowFm0wDDxRArRkK8zCyzGGgoE8Z6nMMqAF08S+M+5++E4SZrEFByIvtxpBGcwTgAKPP0zoOrAZSDT67CQEZCHFLjDKA9iJ7OqZZW1PwbdByHxZdpBR4AUaxGVw+xr5jKhM+QhtikQnoMAoGCHFBUCGWhg55rQsArGNEVxZKXD2m1nZybnCyb4NAG4RZrYJrQuKLi2H+QirLfBcsAc7C2Zz23Q8OUmBktIbyskpl+zUdvjOkQAFUZI5ZE1IgS0xpxQxe16J15rztGXgd+hlTb3qrDeXks8HFR14JGRLC+wzysRbIAwPJma4MrBfs0iBW4XzUcSKCVUYHYypobdACAd4V/JU5+t+KFtUKPsMMJFrHqg93KsU6W+uwt4SmXsP1Oyjb+fgJYfxlPMO6DpHutVLovdm+8bE5uO/BtgW5IaDhTXWHfe9wU2uglX0R0rq1Dmi8RosaK4JQVYvprhcyovsOy0wOv/u1Ybs45Fpr3FRNFH6UBxCJREiNftrtVrRyIIlBYGqpi4RRZWY8k4OuKqxvf4VmFm9IU4O9lht9L2kOTY1aa6h6JZp5RYAFWBvRxt5/gdZK0JybW9GsGxEIiMibJSsoEua3UgoK4T5nb7bvQN0W2tS4MQ32lcKnVQXLHE2uLUPcEbTsbWsqcRdhRt87P2eExkDaSxDBuVJYKwbtn8UfG5A1ZKro899ZjgGjgym5ZUDpSgClmztZM6aGazZAs0G7l/gUwWpgXSnc1Rp/WWmY7Veop99gv/5DBAkfBZ5NI1YDO+fTH7bYe3PptVW4zQBuJt9WLSblPSRIHLOcbbUmAQawh3r8CrX9BrQ7mb96DUsKer2K6/HrTqxXbmsFRQbNeg1qbqG7LajbiSWOqeBIg5VB63o8tRaPPtWbCDwW1okVCXU7uIevsL/9D3j3DLe6gd4/QwPYfP7f6Csx99cR6A78s9dkMkdgiK3EFiCIgB4E6N4ybKVxf/8fkm2i2UD5mAW2lhgA4d4momghEmKBWAZQr+GqG6jNvYBfzok1iOtB3Rbr+gZoNFZa5t6QuGisyQMu3r2EqybWI0EDRVj9BKDRCne1wqfKQf/xD/Af/yPgwPMTyBjQZlh3nc9wEtZbowmfV+KKcldr1O3DIPgqDefvuZ4l0OLXXR+1/5UitFZhRUpcJnZbuKdvgHNiHHv3BbT5RVw5AOw6i+8+5aJjYG001pXDelXDKAPiHdDtoADUpHBX3/jYNoTHdri3O8vg5hZ2fQ/96/8CtAH2z0Al5vcAgL7Dyp8btWGfEYRkP/rMMVQ3kiGhuYG9+YK+ucfDswTmewqApFa4azR+2dT43Gjcqh76+79Az3+IFVizAtU3cKSwsz2+7nr867mLaxYANpXCFx8MkNs97PM3dN8fYZoKBoBZb0DrzxL7AHKctdZFkPrL7V8Ba/05WcV1RN0Optvirm7QbyoQEba9WLPdVmJBY5llDbIF7ApQBtxsYgaG3kpQ4Q2AdaXx1xuJ69LYHfT2m6RR3YtlhljMfIJd3aOvN3jyaTANEWCAtQ53fMZjFRRGb00/BDgQTJ6D0D2Yv3oGFigyccVo0wtIARFQ0IHZphmG0TNZ7E3QiynzaGIRAMVFEMWrIGwFrXpaf9DcKTkk4cbBwaQb4QN12G4MyG0qz4yEF0UAJwyq1gftjcIIDZqQkSCa9TMAIKGKSeBmKSWy6IGQQArap00LzHo6CmOgKRVyx1ruuI6C5jlvQ2F8gwCagygH702Rf3jSyiG8PwLKhq9SjWgUhLNgmIHy/VUETmYOrGi6jzRwZ/Zs9v6w9gogSFzjh1L0SMiLZZeFu1Pk8FEFSQyHHMRwwBDkT9cA+SjwGEznS+M0CSYVrAZCPelnczuEiIqOTSkwFcpxoEGC9GT9ORO0sGmqTtEY8jB/QcBMBP5RX/xeEvnJjdcnhjnWikEeuAzayhCzQIfMLFFIVUNQPowtnRZRcjbngFaId8HgMZh7pDyE/qWb3HWAHzs5m5Vol93YWsr59dq64OYijAlQ3usjwAwQlyf/kdEhhgeNhVUk55QHAMAWzEbiGpBCMH8O/r+dEyY/ADi1VugdUIUFGHyPmX1fKzT1WoRsbybv2AfqqxqE6NHwggWsBdk9TNVIUClN6B2hg2jXtJNo6z0ZVKYBmz04Nb2MwP9gUdJbwCoBW1rHMD7jENhKyr92L5kvTI11fYO2EhNddiFWjzfltg61TykY3BJCqjiYKmrFQwpGgBLrGwfqfdR6lpgRjhSatUFvFCzHUL2ogimyFtNgtf8eQQW2a9SrO1hToWOL1jK2PaO13u+4qXF7/2+QSPQr0XR7oQTWSv3dTgSHYNWja3C9gXUW+q8KvPkEsI2adTZN5AFqQ7ipDdhr/0KudA0PfLhOovnbDkQK67WCbaSexhAe9hLwr/IuC5LmUE6dmMLNr89ojg2JGbAyCtruQNttYjKtAEOArtH3IYgpR7P5GBzSMYzPRw94wdZrYfducC0VIVICEH5qNJruEfrxn7C//x38/av06+YuxjjYOsJT1+PbrsP31qK3LuEBsrvKa5rZ1EDVYN97lwwnd6ohwtoQ1MM3qId/iZC+fwa0kcBupoFZfwIA7x7Q+dgPWsAFRfiyugO3z1DNTkztlQYURe3wtrfYdhbb3oJZtN1h65LtJE/97/9A97iFamrUfYuqbqDqG2xu/w1755L1PQaPxTJGyiXbgl0vlg7+7HhsLTQRdj1jZxXu609YN7eg9tlr4wUEcR5AWlcKrRVrE+MDM1r2IF1zA7afoJWO8RVAypvjP2Nd32C1EjdgDQe0z2Ih020TSyMNZlknxrtzaKWgSECaT42C+v7fwMNvcF//KUKdcyBzK+5MHijs217Sa/p1uqlFW/y50eKO8PhP4OF3sG2h1ncgVXmQdJjH1jK2xqIxhLteY2VEY8+2g91u4SyDqkeo7SOo3ULXn/34i9DbWQnw973t8NnqwVqv30sAzV6CcK7XAFY38WwM+2NnGVursL75BQoKplmBt16AXUuKUAKjJgeuVDRKW2kCdg9DWllTAWoN12zA6094bMWV5dHHGzFKLCl+vanxy1qscvTX/wK+/pekUAWg778Aq/u4Zh/2HX7ftnjY9T7QoMJfb2q0DlgrsR7g/R72eQ/ue6jVI9xWLDVUI2tUAgRKSkHLRtxG7n6V+pSG2z7E8VL777i//StCKtu9FVDMKAGQCJC0itUK0I0AkzA+LoYsw7XR0JWW4JgrLWvpj6/gxz/A2yfZmytxb3DNPfjmC77tLLadZJGotAD1lQpBzSeUAu9IHw4cyJngQYAchO6Q8iymkgOKMncw607NesPnBwxYouklIqggkGMQskaCZ1qJD7ISFnvKnLlE+A6m/Ry1bRQXQRDOUkVqPABSBnikTZV2aG/KaoGxLFVicktCS1LX6LnwrM4+I1WsRwGRAUjNiwehQMXnSrEg8jaMrEHi2JX6lAmVMybiqWBx0FflhnWUMP9aBQFoMGseCd3+uWO0RBsfn0VkjQ5dAtL2JYKaXz7DI9FEFId54/NyMGh08+CC8uFyCxCHwnpK6+JB5x0sHMLvo/EstTUT8kZNTPbs6DUM8ttRoCCsV193ADBi37wgmQb5i1kAUiYx2yOTQuwIzRhfCmENDH0Yn0e54J8XW/puaLXvw6hvAu6AkqCtBoAjsLVAMHNPzrx4biE548KZzHSooY4DAuggiAdgIIACeZYDD0qST1Obz8m4XxjmIgUxQh+RCujjsXKYixyTlJ3Xw86fHf7wCBwEOpDWYh2gjdc6I7rjSKrcAGRJvu8IRIcqSu4O+fhgDyIFozWM92dMM8EwIMEHtQZzYFz9PHvtfnhnEJalvs55ywdmgHufts0HflMEeBPaql7HvgVtPoyBqVYiGLgtyGsd0e/B7RareuO1wBL1PNTbWsa+d/JuvxeBzWuRyYk1gFZm5Fqws6Kl7iz7fO5a1qtz4F7ye6t6Bd49YL36gr1TMYtAADN7B58Tew1mK8KF10azMug7iXIvbghyhwvzLcAHsQ/41rWgqpb9qzRWq8+yJMjBOvIRzr0JdPsoaa+6nazBvoUDsNr8gl1PePICRmvFLLlzjK7W+PL5f4G9Nh67R7BziaKE/bh4NxEi1M09dCX+87TegmwvqbQqcaXgqBVVuPeKxFoTVpVoZdHtQJ1E/Ea3h1JaUqOxw+3NF+hV5XN96yRdXxrDACPzrUr7GEEefDDci9a3fZJ0ck6yP7Cp416z7EbWYjEwJzzPZSqwbSKIGAKedT5AH4DBFaLS4h/8JAEd+UFyv0MRyPtmc3WDXefwuJc4Cs9tP4rLogni9mIFEIIH29g06FWNtvMBDJlRKX819TvQ/gn26z9gf/sfuOcHUFUBzDB3f5H4AzDYWYenzmLXibBfedP5u6YGVSvoegXCbuRtyXFcJP6GVYNw6BcXuN2je9xi//0ZyuyhKw31/Sv0p7/BwKEiws5zhAe8FjvAtnLG20oyE1QNmCUI4ve2R9tLir/72mC/YtzVCjfVncRWcD2YxCqlMQq33uJp3/vsD94EvrMOdXML5ywUKVDtzcOVBjAABIAPXGs7WZt2P8QoUCYGxFUk6Sprpgh2bSoF2v4B5TW97vlB4owoJdrx9S1cJfEGOg8KhngRf1lXuK81NtSKO8I//h/ww1fAOvD9F+h6DWdbOKjRPO57MV3/vDLgZiUadF2J61Ln0wS2eyi20XpOecBE3KbcKPuFBGltBdQAoNY7EDPWGwXUKzgGdt4fv7UODx2AaoX1/d/A9Rq02oLYiuWJqYTfZoday/1N3vVBMgb42BamAesGrr5FSzX2rhf3LO/CsDbA55UEjPyyMgK+fP0v2P/5/2Cfv4F0DVIa6tPfYt9ay3jY9fj6tMeqMrhfSQaUzjqsVAUKZwAAts6fzdbvfQGmBMCTuQ5xQfSNwe3NFzmXCXIuOwdqn0HPX3G//oRKG7Q9R56g0pTEO6kBDfRQaHtJMQkgBhGV+BVigRSCWdqnb8B+JxbLPs6GXX/CN+8+8bAXAO2mljIqxdAmCTKd8uN4X/pw4EBK4T4RAT8xhQWgMKQkJFJJwLpDSrVqqcnxUNEADIR1wURRkRzeEd/ADBhItGeWx1pxAgaNVEyfSIjpE9MySu1Ofo8m5ZwwoU4B6L3ZvAAElDCFBwJsJsBMUZRVUgE0NsR4LeNQDzAAA6OsDDG/uY3zEzWxPIj+I6uBkhY/a2s6y2kEeABj8CTUDcihlPWTOUu5GNZRQVsdtIkH7hehzpSSNTECivJxzd+JfRpAjFQIHD2rvCgTgQ1z4NICYAAVwpwU/AZKmniVjk1atx/fEJm9jNaMx2E0lxPrfRIEySjyObHt7Isd3jqw8CnUF+ZmFHcEdvwsD+kTmcd1pgABA8M5hPG5VVhKA4W6QiDCEmJMGLmXpMBAel4Vz7Tc0si3cbDokEJCLI0InnihAoqiiXZ+BgizPu5jPPPIg7bsEil3ABWlzV4IDmdrAAVCqr2g/QkCrC8jZBAJwewOxjPsjQyUKM1FPnYq/6ywr/PpjEFiXS/r3PWyIoLfK1swOpCpfABHhdZxzH7CPKQvi24Wybgogo8Z44WS0C52gwY/uuxosLXQpoJSBp3zAf8cwxGh0rWA0r0aLIgisDX0SXA3n1mBkxEKZvN9KybfFIAtDXADeKsTBzl1GQ4rU8MYn+qt8z97gNQOxlRYmQqtY3SO4GM8wXrrBXm3Ea0Y+8Hyua+1rqJPNRCC5/EQO8DUUCYoDkQo4t0zqHlC3WzQKINWMxLbCjhmsXjQtQilVqwqWFVJZg32zDBQqfG5ANcDXQu3l/SARGKtoKsVatPAdQStfeRuRSJkdzvQ9jusjx+g1ndQRGCzQqXFtHjbWzx40+KnTqO9kQj+f7n9KxAil/d7WZ9Ky7woA9uzF06BZwIMGdT1J6zWn33eeJ92T9eAz3KwqiS+BCDR2G+MwkoTqN17q4Eebv8se71qxHeaHdbNPerVBitD2FuOQinRED8kWHtoD4BVimDgPPDwDNU+i+bXhrWpfEDCQckTlmmw6JSyw6ZVEqk8KF7qdRTuwj2hSaxVJBf5I9T+Efb5STIU2BbK3IiPcLUGNxs8P3b43nbYdhaWgUYRaqOw8v+oEzAjBBVkpcFarAa2/l/nGJvKKzac17pvH9F//4r227MAK81actdbSf3WO0kP+bDvURmFzV5j39c+eNqQ6pMYgBOzaBF8xa9d+YMs3O0HZK0PBeIAm1j2YEjbajlkv/H3jrM+jgcEqLUtqoaia86us3hqLbAXc/jOMTiKGAq1FiFIAiSqGJm+M2JRE4Th3gGtNqhXd3C68hYr/ShVKJz11hBtPJMktgaGtRB+hYBQmoHKrzvtWon34DOgwK9nqhvQ5hPo5h5c32LnU0Myi3XDpjIepNFQ3/4O/v2/Yf/5n7Df/wApJb398jeg76AgoJsE6Rzmcdc72HUNXa0luF/TyNmolDd/72PQVqPE1QcAjBoyWxgCYDtJa/nwVbTrO3ERUdpgffdvaI2KZ6l1AjJaB7RGYb36gnr9Cej2w/3hwcWoSHI+fgN7NZUSVzGu15L9w7roP280YQMBP365kewPTfsd6uFf6P/5n+h++x/02z3MuoG6vQd5S6k0d5cAwzbGg2ktg6tGNPCrG6jVHqQUSNeAMT6wpfTvqbV42HdJ1hrJ2lCtV1it7qBcL65GzoK6LSQtusO6usG6XsNCJ/wLRsGBrfXxTSABYwFC7V1Z7iot8RT2j+DnR8lOoBVgaqibW4kzUG/w+NTh922Ph30HoxWASlKZKrkL6sAvZWv3PelDggP5wKRM6+B/K4zJKFVfARxIGej078j8ZQx0EAZSs+oDYQOyqEO6msD0Bm1maKHcBRyDhwUhjkAi6CsVy0iFOkrGIGUUAUjOWxkVv4ENOImsT8AoWnxR0JoBBoZ2eyY/e5aT74GxhisKdgeaLSAN8BeCA4b0icX2BQYfGGnGSxddIuoMwECp7gzEAQa5VQeBJmSvSFG8BDxKTY6LQFOB0kvqACAomNqHZ4Ifffg8jk06Tv5fri1cROH99L20sbED7uBnFJqDoDd1nOVzGYoMX1PBkiOtKy8Lwxoorp30/XS/TgAEDAzzrlxxgVH6S1J3bkEwGrLplo36Mvo9698QlT75m7zGKu1n+jP9/MA1w0atvw5+2X7+AkAQ+gYPjlpgSJ+Y9G3wbz/MpiAjcpgBIB2TMeDax/zYaao9AGBlZImyQmpxktMB0JNZO43OKxqfO3mslKKFT3L+pFYL0g8l7iVo/fnTCbgR7hRlgF5Ybq1rVEqh40FLD/jzKNmDTD4LQBxNHt03YAEGyLaxHlYGpL0ZcaWgSOoJkpWYThroSoCEfM0ofyZTIYIvEQHWpwe0nWjIAxhmfRR7iHtCa6UNlVdr3tZrwO7B/R7KCfATterrz2Ja7Lx5OLMEOGNxEdBGNE1AYFrFLaGu1j5QYhCCxC1h31NMS4h6JVHH+1b+dTsBNro96qpCZSmaUAdwVCLoa7CuQWhFA+nXTxCUgjtC58QSYLjwWeIctHtAaVC1A1VrSZ/VrND5w53CHmYJsua2T3BP34G+hW33MMaAmltU6xvxqWdhflvr8NRKCq0gcH+5+SJuTu2T+ITrCqwqSWvnhdO9HQT1Wot1QK0NGl0JSOH3ba3lnAxehFqJW0nUHHp3CQDSz76XeA7sRFizLW7rNTarlY/QjuI+i1ZC3AOdpCsLwAC6PVwQ1prV4TaE9KNSysduCEDBeJ/CVLBkYK1o/EIztAIqoiH1Yd/F4H6ka4nmvr6Fa259ZHqO7gGaxMf4vpaYBWvNoMdHqHYL1+58e5UEB9xL/IVvu95bSBpsKgZqfzB1Hey+Q79v4ZxDvZdsEiEIo6xn0chbhgcZ3Mjakvse7Jxk12i3qFWNm1pjXWn0zo0UC5bl7KG6gWpqqKaGrgx000gwQl1J8D3uo0XNyscTEN5b7hPue4AtlKlB3V6sDRTFtH6dG4JFGtXhtvZASrjG+h20Y6y1Rt3UWIVYBR54Czxhax1YVahXtXfTSVKABwsk23k3JQEPyAt/0N6tSNHI+nQUP6Wz8V4kU0kASmdB6zvoL3+DXX9CX62xe+5jvAFFklnjxiiYbgu1+wP917+j/e03tN+fRAPcNND750FbDbkjO8uwLPtx5/9V9Q3U7Wfw03dUAKhagUwV21opCcq3qjSI5HfZu0osOPpWQK3ds2Q88IEfdSMB8OrqDpUlCYxoHWBFALeOsXeS3aA2q4P4PpGHT/loRWAkgTbJxHgamkhSkFYSpPGu1rivFdTvX8VC5tvvaL89w/a9ACituEDAtiIYa0KlFarE7SPyFT7jiLq9R+33hrq9h1rfwZomBpPd+z52Ppjm2ijcNxo3lUPT3IL7vayNditrpn0WBZjtwLaF0QYgg5DBZXTXSvfl7ADBRNBG3IToSc4uZ1u5q0wNrDegzSe41S2eOzmDH/adpIlkYKv//+T9d5MkS5LdC/6MOYlIUuTW7ds9PQzAwwq+/7dYkZXdtw94wGAG3dPksmJJgjgzsn+ombtHZGRV3e6emTtYEynJrMhwd3NzczPVo0ePBq5i1smJiaAU+oKN+m/ZfpbgQGlrGnBxtJe/yW5XDLUn+c0rJsDa3r/k6M9tBRDMok/rv60M7vXkKfbXed9nFkL+f4BF3Xt9vHpKl5e+q1NjOMVloV6uNFPhlbaSm8tpgPjkHCtHpHxvhhtWxywAwek9XXLQTxgK0c/CNcUFT2g5aC3wl8ipHqcdTHAaxS99zpHxdTs36k+e0XnU+MwJL002W+nADBBc+O75XLoYzV/9fj625d7KOD5hEFyKpq8X6/NrnUVECzBQZsbJ2dZsigv3lmBh5eRNMMJSJaOcY/Za5XxGaWKO3Bmein6ePEu9eh7PLIIn7I/zP5w5zk/aah6czIXVmBU6enFqSzRWwewsl3tbj5tWeha0PHcsoYz7U4bHc319lkFyhhjrYgmzzL8n8/y5dg6SzT/zu2iiOLQ6r6H53/wMkzim6/KHBRs5AQXWDkCeC6cgwVm3Vp/NwEABBNY/83gUp/N8fNYpMEUnIMHy/q7meTlmBtxI87iuwc1iIF3aH9bvWanQARk8UZC0wpoqXzsA4SSVJyUrd64ESFiXO/wkyEUZX7WA4et3qDhmSSZ2eedSNKArSEvddJMfvTNa+lqAhSQ54iEqjBIRu+WRrhdnmVNqZoUFiSBGP+/PxVATKmu5rqI1NYqjGPYhP2elUNrR2I0o3ccgmHISAa0piFJ6MhVK9QKoB0lrMMnjciTNKBE0HHyiMuKU1ZUYyKreoEp0MEdtVfQzLdQoRSwCbHltEDaFWqoesKxNawAtJDXf9/I8RPgqxeJILVU7ZpZBFFaGKW9CDDD0xKFDeU9sNujNLfX2Nc6oOe3hOAWOuZxcZTWVqYUiX28pkb6kLRjRVJiSjMXj4Om8HNdayZOtrSLk6Lfk+YozUqWz0qREEXUgj4t1qFjn6SAOWuqP6BTF0PY9yTbURsrfYauTvXBex1IUllCc5uivrANZOMzmtKXMHCprqdEKl5+T1SJiWBVhRz+c7PsljaeAP8zXV8u7CZQqDhiN2t5I1LjeCriSS6wZpbBWc1UbbhuTqcQf0f19zlWXyhZsZN70QUTa7vtpZsRcOUNoKoytoW7kHi+0z+pjpTQzOOSxONS4Z9N+xZUzXNVmBh6NEiaAjwlnG/T1S6qXjxhnUFpjbl6jr1/OYMjoBZCYNR1iyT+XtTiFUcAvWEAJ085ClkYpUn6fToBUxZxSoTLLQpkKYyraestQ9DxiXkdytHsIRffLiYPmFFYhQqMgKbqZaZa0FueuiELaRrRCEpJmke0ZeccVyTqpinD9klQ1oBVm+4LQviBtXrIbwjwHYkpUxsxzTU096bgj7h/x+45w7GEjJVBTLp+ndbZJ8hoaY5rLTfYhsXUb7M1L4nEnaTrWoqpmHmtrFFfO0lUhV/KQd9dpJfom0efrjaQwwogI4U0DaupomhuOWkR+0ySpUCXto41SGaaOhSKf2RVK5RQYzcyk1HZhbWhDyiKrJaAgEXBJ89rk6gaqf0SNB9LQkTLbROfno9QibumM5aqyvGwdZVNtrc7MQEiuJtVb9MtfiNMN8rzqLcmKDkmKBXBUTNkC9lHm8hASvir6NWMes0mun6tLyAkEHEObRUjXFNtQ1t+YjUudx6uxWsRk8z6qtCFVNUpvcgnVK1J9xdgnujEuQa38i1S9KSmGz7/zF4MV/wrtLw4OOOf+IueJKQdwy+8Z/V3TiCWqfiGaltsn/IiVcX0hy3QdyZuNxFWkZe1gZWdfJ9AZMTUFbWWZXOWn9NOdbGLleLM2tHPTBWVX8iVl7WnUR2mE8lMohYvhmIAYgryUSjHX+5RQnGzWaVFeJopDUJyXxNPc3plCXFgOK4rz7NuVu18PQmlpSS3Q6bR6QDm/yQvS+RidOymn43Thw7P25B3L1kpxMGBFDz9zLE+u89z5zr67vqf18WVOP5dicA5onXR39f3yfM6dtXXnnozLJWCgLFolipk+IxCZ00UKGEWOoH9SrPHs56V5dPL98gxmhGRhOZSm1QJI6HyvJ7VjT9gjK2dxHqvFkYUMEJwLNqaz+vLFsbzwfM7BtEvA5JPvnj2P9ffL1y+CAufAwCXARSuI+uk4QAYUxxzxlqudazZEeFIV4RIoUIz+wqY4r6ZwaXM7AYJiopTZU6u+ptkwMbMQ6pomG1nm2pN36gwYOLnuKs0MzoCX0qdzcDGfKyXJ512/N/NzNgIQpJgk2lXuJ/8Tle+A0qJjIgZHFstdvXOFLbZuazDcaAvGQyrisPl9TAGiIqVlDy75qhHx8Wx5nUwGGUKAOKEsVMYSV0ZKiAubJJ04wHGh4lo3s8RC0lkUTYzQcj+VVrRNC8MjpEgcJb9eAxgRNOx1KfGXKPWmp5jwGNxc1z0DR9qgxiNNdUPnI5VV9EEYC2NQHH2kdRV1fYXZZuNt1CvP3s8VD8pYP5mjKYMgSkOcMKqVdAClxEbO4zTjRNlwRpk5+jSXQ1NmrgIxBhHmcyFSVa2U9CpOYgykcSAed9ipg7GjMY0IA2aUNuRzdJOIFY4hsXWVGLVljcvrZIkA7ycphxYTdEYi0S8bizOJKjuQKozgp6Wq0QqQBUimIlbZ2TGVsCJCmOcBkzhrKgZxVrQTtXjjQDuMyQZ3WdfnNXpGoUBblAVlK5LWWRBOBMFCXpqMUrPJVuWoY2O1UMq9GOklDSmtmDnACYUZJeKB5Khxsg5lHeb2K0JzjTcN/eCZchpp6wyNVbzZSL55mwbM8Y54/15YH0qh6g3EzHwJid0g5Q99Psd1bem8kYjx9gZ3c0UcRpTROfc8U5sVM/BVWU3jxPF2WkBqFSRiHPtF6E83V9TtLdvK8Kp1pDzfKpvz+KPUfzcvvsL4Cb3Zgq0wL9/AzRtSe8uhl/z4x1Ho2U4rYpVOtaFiEod0HDBTT5yONBtJJ7muLUOIDCHXqXeaxmiqHGVVR6Ffq6nLe7slOalKUtdbrG3ynBal/ylHpsv0MEpEHSXSXGErsT0ieV4W+zbPvWRFXHQKsp7EJOwrrXK5RDsRaxF11JsbkjaEakNsbzkEzdEHjmNkDGEej8JWEkHGYgdplLMYa+Vd1mXfk5SAJj/DkEGmIqpJuyXV15gXXxGtA63R7Zaoxb53SnLTX6Uql5TU1LYAYQWwk9QlovgGSZkclRdwuqxZ1kjJyZBgzGhVShqIUiIYhcu2fFJKtEy0QkezgM9aiYNuG4IPtI1F+UhVcvyN3O9NpVE+Yp1DNy3m5lbYWDFhr68xty8xTYsymitT89W1waPZtgI63lSGl9taKto0DfrqBVon0vZKQKVmQ9y8QLfXuD7QNorrKRKVZkoJpxTbxlLXTlhYxuA2NygV5V1bse3QhmQyW8qoDDCZbEyK2LvVFhOhSgsDy+qskxJBWYuuW/Elmo2IWdZb4uYFk6vR3lPXcBXBeWHatLWlqS3OGZzNQHWeN+db0f824MCrV6/+7HOsDWQxyBaj9MTPQTZ4rU/poGp17Hk7MQBh2ZxOvvTM01h/t3xHrXJv49LHExDjmX6u73d9n8sl1EJBhPySep6Us9NaovNKn/QLIGRw4DxHN6aUN88yTmJElohhDFLdWMOct5ryMQlBAVNKhCA5tlZrjNarSGCJmMm50VaizMoQUTPyGKOcI5098/Oo+rnTVGzY4hSuv/spvYInLSOCa2fGZKftU+/kp4CB4jisHYh1acsl+vQ8O+C5BaHc2fr85ZmsJ/xF2GvtrZ7Rrb+4FQM0OzymGMKcijXO7ZwdsQJ6PnvtL6BZrdkjJxUyZr0LTgYiJk5AFHEws8DpGqw5c6gL5StwSvU/7cuq6/kSn1rYn7v/4myXc8q7vwI8nkMczsc6RU5SOp6wCBRLfXVmnZXz1JSTdeNCf5+7xXXli3Ur0/BJVYBisK+cnJSFD0v0otSYf44zsX6nnjCcVtc/6XeKy7tzDrqcMW3KX0uEC8Q1L0OsjMZYR4oepcL8HAQsSAtQkJksThfmwGJQkh3Xk3ma10o0jFFR2YYUE5gwq+Or8pxmkG+J3k3Z0U9KGAQz3TbmevJxwtiKxjaIwXg2rpDz0wWQUFqTigbO6tshSeSxRKqNEudtjFCXeTb1Iv4VI8rWMByo3BUmlzbsszJ3qZ5gixBmdkZleXZU1YZqZgDAEOXajZXoXFVvieMBs31B1DvmmvCrZ39x7s7vmbAjUGJQVpmG3xhNl/fgmJ1wnCNpg65q1JQjq9aJoW8dU0jiOPmy+oHThqa+wm5fEJs7GDq55jSQhh7le6qq5aoybJ2hd4Y+xNP1ddUKIEUIaOMWYCePow+yK4izI4uizo6OGo9CsyeDcjk9QaL/DlRNijXJbUT4LaukKz9k0EbeoVTE+bSUPCR6sFEAK8sCXigt9O9kRfMA5B03ixZGspU4cRlwk/mUNQxUAQYUauxQYaCUPlQGef+0pWhSnLeQwGaxSXP9kjj26KohNtfE+obex0wFz46AFqG168os+ea7D8SH98TjAV23Er1F1icf5XnvJ0+fS7w99IZDa7mqb3C3XxF3d9QxQozo9kqqR+QZabWicYbrJGX3NlWOWmsl6vTTAMOR5D0RcNcvicOBTfWCm8rgg6PzYdaPKKXsYvMC8xVSMs860uYFYfsVew+HSQTTutzf0eTScIkMfGkBsGKAcSD2R3TTU6WRrbPcNjLOnQ9oJWBBa+X916MAA3o8EI87ia5rJRobYRIgtVEkUy+VRPL4h5TL3WZWk0+KOikqY6nq7TJfi05N1n0omhOjl7QFYe4kWbAVtM01UVuUy5om2pCqDV0yHKbAMJcwlHlnM4tHZVaRNhW6vaJ+eUQ3DtfWmM0tut4QlETsW6fZOMNUS6nP1kkFkBATY9LU9RX6asK4ogIqKR5KazaNI5pE00jfS5rBdWOohhHlt6QXr6FyEISyrzfXpJtbQtMQK8ttXWN9oho9Wy+aKpJCpKmszClrNLU11Fb0RgoAIjpAIQdEBFwTZpJl8OKMSzWMtMxZo6nSgK48qoFkFfH2RnLxAdVsMLev4fYXhOtXNGZDcxV48TLQewFhhCVhuakU15XBbiv0+BKVGQjJSRWSqboiDQF3FdncTOzHOFdKuao0N7Vj6zTXtZRH1cOVaIT4iUXTSHympA3r8rtSvtbk+3Wzj4dMnSxGOqCmFuU3suavSq+mqiHW1wy6QW0izRi5Hj0+yhy+qix1Xr9qqxbg+YI/8L8NOGDME5fkJ7e1S7A4QFkr7ux76yiL4nlDlSd/u+AEzF/8vFNSzljMunU/z894qZ/nf187ffPnarknNX9RnUTXSptpPyf9VxefR2JhZcDlaz/XzhjEFDNToi9qdmJUEpGZWVuBDFwoTcwU9ESm66wMW1XOnX+XvKY0G8cxQ+tyeRl9AU/SnJumknAJJRKqZ1AiKclt7YeB0XtIRYxwuZ7QScuTPW1PfJkyBMrMA1NAnvV31tGLNQVdsTgzP8VHPwHPzhkDuV2awYplEs7zpTzP9bHn6Szl2JkRIg5nyhT8ouVAdgSfLGbnbJYvudlnKPflUA0z66TkzKnSt/PI74X35aREU6aazwKn5Uur88gcz/dQaIK5M5fe6+cc1HX73DBcZAzE9MRhLdS/87SE+Vglc32uxFHGIyZAjPFSKlDl+7vIXElpcVoVT+mvK8AOeNaJmc8HcxpAkqzL+b1LKLmnHHEM6Lm2+efaAniedu3JeJbfT754ee0va/B8/7nNiukx5zUrqLTNxt4qXxeWhSZF0VrLKEkxOM8ZcInFsSffk7AAEqAl8lzABsbZgSrXKaBuKadWQAwTcupzipKrWyIpYcK4RONaCvxSRMlCTJAp/ilHOYkRlVilkeXAYhZTA9hrxVXQTCFSm8xo8J7YH1ExYJsNse6p6uu5lKMPiZ5IFVQWxlxF1ocOwoQ2FWnY01S3VF4Mws5LOatq0lRmYQ/EMM1zMups/F18yvkhhzArgRdQJxpH1bygMopxpVsqTLs0G5FYhyqGfi6HFnRFP3qOkyhWp5QIyYr6+eYlcdijb15Kvn0vVPE0SVm2zfY1rdPcNg4fE02I1EZzVdlZeR/fz846SiLJVdXmiK2mshrnBQa1WqLSVkuksDEK1R1zffgiNmekgoETh9Arm0X9LFo7tGmoWyWUWt/PzrmKYbX/y3xKaNBBUl3Swh5IKqfwaUvyksus1tWNlDiKuBqPPgm2mPzuiFBih5qyAGQKs4iusBXkVTCauTSfzNFMMXcNsZZoJFVLMI7U3BBcyzCEuepCyfW+bSxXlcEOO8k3v38vKQXeE7VC+1PWmY8w+Ug3BiqjOIyB4xQZmxbdvsC8/mae12p7C/UGtEVHcSq3TkoYtlbzsnZS6jEKIBNznnnyHqU04XCPam9o21tap7mOC9uEvI6MWOrNS4J1qHaSShzVFb1p2PeB/RDZj8JI0YqsN5CZA9l2w7rFHs0pPmo8sm1e4JPJoJ68r41VbJyhtQpKXvZxR8zCbcpWxJik1JxxJOOwtpY1UMk6u5RVTMt6lGQlTkTQCldvIa00rrQlIsKvPsq2N6v8y9IpEV8FVbXBqM1suwxBRDx9VDkNWFMbaOqK1zcbrmvNVW1pXMBYT6ot8fXrXLmhwt5+hX71Df76NdZsUW3EXXl2g2fwgY01vNw4bhvHy9ayUdeo/iV6FIp7chXJtqTNLSOGWx/xQbZvl8GhjdOY3qJai7q5klSC4DODZEO0LaG5JjU3DMrR+sTVFBhXcYXCxNA6MyKUmkEwrRe28lP+nTA1nDKZxaZnO8pqRaVBjaCNQVUN6vYVsXICBoOkeW2uiHULxlI7y1XSGGtmYd4iGlpZjbEKrTcoY1B1cb4dumpRSaLuDULpr12YmaTyzgoIorVCW4VONUorlB0WEc6yJ2s968ugzAwOoBVJl7T1lT2TAioqsBalG5RZ2NzCSGrQ9RaCwplIW0WMMcIe0YX9Is/TGTWP+SVb8t8IG/j5aQ48Z/spdWqcLiZcdkjK8SzP+9MXKr+cm3vwWau9dOji99PJGS/1c3FKnra1aboor67+unIkVYoneZFP+nPhIunZ/zzz2bn9v/q/gNJnCvPaiNO9ou3Mp8lOokHN45DKfZ1drvxcMpEuO5anAEo6Nfznk+YXHtkkrjML4txlFGAiU6uExjGzJRRpzh87Kfm36tvMDphTNUrEL9L3AzEuUR+9AiCemwsl8noeyZ3TCBJovdxHSQ8pTsyJg6w0z8db8565erjFmSrHJ7U618mBcdbouMSESGe/nzMqnuvLPF/WVNmzJqDbSu/iUmT9UupQOv11LcCnyBvBGUOi3JNZOeCXwIDzz0sufGmX7vvSnD7tbzz9YhmLQv0tUfV0CVzMYnkzSLBiEpRzqqf3t35m81cLs4Y815+sDcvc/tT9lXki7AEtkUMdIS31m8t9rUvsnSMf6+e/vmRaXae0U+0M/3SenNGoT1oe/6I9ESkOcRmX5XcVpF/GVHkNVLPI2EnUlDzemU02p8NM0zLflMY6qYc9JbLIWzGSI8ko6nq7zEd1lhJTup8WarDsKXkwihM8HiEllB6JKdPedS103CQUXw0MOlHbhmRqlB1OQbQQxGlbAWdTTNhMf/cRicqorMgdPKkPAhK0A4Y4g01TlPscjRY17ErU2UXsryeNiEK/a2jbF9RGY42MsQ/CHti6zB6oNiQ/EFPKEW07OwKwrEUnUzaJLoLyvYxR9ChlME5y6YfsdE9R8kinJFRynWnwuslAia3B1oxRopePQ+CuG/GRmR3htOJ28wo7dVLGrBilMQk4MXZsXc2r1mKURGUrY3jZWLZZ7E31vZT/81IhIQLK1DSuoQ2J61rMvJJvfF2bHLXS4lwPUimAzHjA1cIacBCU5Zhz0KesIaGVCBU2tqZpW2zVynlW1P55vpchRc2gQCmxKHPWop09fT/zsT5/r5RwA54BBroZyKGUu7NhdnBMoZIj68UMdtmG5AKxMFq0haw1UICBRi4oznql2TqN3u1Jx53UMx8GUoyYlhxdL++ijJNZ0YV9lHe4myJ1e4u66THakPyIrqVCAsagkzg1LxpHGwKtNVzVWlgSU5/1GXIEv6wt3svYjx0bu8FnplCIcv+RnNLiWmE25Xehi4rjVCorhHl9EUdx9fyUFVDQ1aSqniFcnQKOgFKB29pSWeYUEGcUW6ux0xGdPNpoYmYfpUpSYbQ1Ykc6Q3SWaBXYBjVFlE05JaA8Oxne2hquNg21NXNpwhLVL8uyj4kmyZj7JCVjk5L1T6uE0aK1YYwAZQphs7Yp0fjENkSushglSH55W1m2VrOtNW1w6I1DX9/MDA5lLdQbYZ9sXqBVDVXANZGX+f2pjaa2ImronMJZcSxVMwERlCUZS3KiF6OUJmQvzeQx1SqB1lJdgYQyC9suGQemQhtHNAaDOPyVMSid5n20jKcp9rug5iTUzERNLCkb8zw4OTbNJeLninAZpBHwrwIXBEDwEygjDCtbQy6XaPM9JTQ2ntL2ZxtBO5IDgpmd+IjJjBIRGE0GtDLz8UbJe6d1sc2RCjTFls5aOcv8Lvvy2q8rm8QFu/nkM6mSUtatlHUZBMRKEghICpffK1XWhcyAKu/SiXO3bv9G6MDPDhy4NBCavIHnl/+iCXfmq392PE++cBZd/MKD0+l/88v8iT6uvvsl+MOTrqh8YHZaToCBk98vnyud/34+F79o4KTNTuAlT2ndl5Mop37iLV5yIs/7uv7/k3E9uX52i5/rC3mDyfzawkTRZ38Hns3/+dzwpLOfxQjdbrcn31s7NJeusQYE0tn/58hoOlWEjiuwQikI3hP9JAtQXNF/8+qe1JLDfZK2k89jdF74S/509PONSUzhjA0S47y5TNP0ZEx+UnsGGCigxXlJSdnbngGGvqSlfE9qVdryLLVg3QcyIPL0PE83knWKzDqz4ye39cEXgIEQ08m5Q+6sMCsySBA9J6KLF/p8DoLAaRqArB1P349L9LfnaP7lc58EwNArQ7TM7xByKa2YTvpSHNBzEcG0ukaZ0+V78/GX0k7WjKv1fFuzC3I01OaSsTMwUKL6pc8x4RWZuil06RRWc9mYJ/PZKEQccBpmUUYZUEtKEVtvmYo/n4ESkxbbpS4MgrmvSfq7eiCF1aZYQeE5ultU2zFG9lrjsE0za3qUeaVVoqpbUhhIYUCX9LasVO/cFqsXKnPM9OpC6xXqvZXIdMkPnnJt8uyAi95AZEySLz1GMQZTYYuNPaREsg7dXhGHA5VpcVnlGvLxReBMV5K6UBwqJYJTKY9DEYVKqjAyWACkUpbQVGhtSWNL1TRYE1HZW01pUQBPppZorMkAT9bLKOyN4yg56EMo9FeJILXbLWrzEvvSC48nSkRURQEoNm3LFJeo7EJX1pipk6j/eJBUBC0l4tLoaLc1k9PEZHBaRBtdjjxuc0RXHY7o6SgOzjSAMhIFy/NvjEKtPoyRY6btgly/tYaNS2xdTbtpSMMBZUpd9JSjbgujAlNJ3nNMOQIM5UUq73CZcxlyO4n4F6PflVSIMC7pDYWxACQThTYcPVYbdEizqFhpISVJz6laUnTz/Q5RzWr7SkFlVU6NkbKOJggQk7LiujIG5aQWu+R8L/tSoUdrrfL8FPBqionYbsHfopUSWr1xRNeI06KgNooXjSUkcYBbJ0AQkxQJxTq0a0g2gnNS2aKuSZXD1g3KRWovbCGNUOKdVpL2lNeFCBifsDqysTAaj2tFfM9pxW1juWks17Vmq1uMC+jGkq6vJPJqLO7mFWZzS6w2xKolmmq21Z0GHQbUaNCtQo0VbBsRqYsBbQy4GrO5JjXXWcBtizf1UikiRAEWWbSwiuNXyjeW0piUfSCBiinreMnCPIPLK2c2KYhJMZWlM8FUbCulqaxE0aWEnTBWJEiJMGuCn4E4ma9aIv9uS9LiiFqtqI3CKENjJT3CZXpYyuu5yaDQzLItOmZIAG6pqMVSyrak3NmKJcCpRavDNRL5poyX2HJE9dSEYM0AXH5GFlvrxDY/83XMyXny2pXHL2kNts77nlscZ53F//LpXJ6PZn73xf4uwaoI6NUxKQM5AlSWecDCZi7rhFLzmiJpyDqnMkUxgYxaNtGywHBqbxLjmmC7fDWt7xNUWirPFbZjASXmPV6LbWy0wqBmhkzRzDoZ359B+/mBA59pavU8zxkCZ37nTxvnn5BK8FwrL566NOd+Slc+9f+103Tx4MufPwEGztqf7LA8ubfyhp71Z5XqMP9pBU58aog+1bWnl5+XqZNvpdV5xLnkkyDOOd1/Pa+e62968stFXsonc4gW516dfrZycNZ9MVx+dlqBqhyKdtXX9ReXMSlO1fmc1WUjhcWpKtQp4ARpVZqQmREpJXymkZ2DGutepNX/540oreTvTo5Nq+OX0lQqSWmwGMJcPmjqOsZxXFjcamEOqHJvqMUZuNTO2QNlDD7XPvUddbmCymfbui96BZisInFTfCqUR74WCqnmqaXsqzp7ls/1vYAgcEEf4NJxay2U+biloka57zInQlrmeYkMrtNkigOxnpeFej6XQ1PMzrTk8eunlTvSUtFA+plO7/VsPBfjST8dqwIQ5I6UvgXEuVQofBRHOpgMyKgVXfqM5TGvBSVCXaKvIAaeiyRjMLohpjinCEwkQq4XbiqNtY4TXYoQxEY523wKTbjoH6gwwdiLE6xFP1+5RvJNkfduzPQNMWzgqtqQhiNJC6ggTlpPpSK1lXzP3aCYct7PFHMkNqtBFzYZWbxO5zJ5GkOpeOCDRP6nSqLypqQkpETqj0Sl0Nsb1HTEtRvJndWaERmj0ae5rJrROQ0iLQNe5tVMm45qya8GEdabBtLxQLKDlClzG6r2dhbuknm7pG601lFUr4XVt1p583z2MXIcfXbANFfOsnWaqr0l+AETA2k4khPnUb7HxpGNc+j8nhiVI5kqoMY9ejySOnHuk87irMYRbc22viElcaJiTOjsrGwrDf1OSgiGkThlirolL5Bi5IY8lrsh8NBPDHmdaa1mU1leNjarbWuaaou1TgCfVMSPzQwMFCbAnOZSADbSykFJy7q9svN0fucp73wQ51/FVVUQOA2YpIjRFmfUTFEvLea+jFpjdJWfpaTEyHssVT2k9CE0TkpA6jErnWsj9deRsWpefUX75hvC9Uvs5prReKJr2VxNDF6i+Nva8npTcdVamtrQXG3Q42EWvky2hvaGeopc52odKYmvsXGaKwO6S5gGUlMRu1eSllTXVC/ewPYFsb0ltS8k6j0zdlJ2cLMjUuZuBBsTLkq0vLkKjLkUXGVVBn80V06zMRFda3S/Qfkug8w6g2GGZJWwC3XIzyCJon6YUGlCqRzhrmpZ17KQoqrqlYMLxJjZ3BLxTkmjVE4DmR13cnQ7Azn5s3kGJZlT8z6QVntiys6mSlIxhoWdud535gAzmfKtV+dOolFEvRE2qZ2WyaqdAATZuDUKKi33UHro1JIGGRIordCmlhuE+XsoieyXT02Je6XyUrjFDiuAQWbJrhm7WkvUGhKqVFhZvXNqNXZyj9JX+V6+rbP9/5wpKf0KK6dZSQ5/HsUZvFAqa5iY2Zu3WhGRlMIS3ip2mgC3ZLBiZbOe2aoCUixprXLfS5Cv9FQYDVn4M12wzi/5TxkguNiyv5Fmw7KAO2plR6g5RaNUaNNn7+LPsf27Awfgpzvb/xItnf08b39qH9Uzv/9LtD8VD/ii9sVgy6fbn9bHLxu5cxAHOElDWhvv52DTc6DBxcufO2t/Yiuwiyr9zP8/X+L0WQeXvl+ACZ4BsZ7ctyqw+dmZVqCPNQst/Dmti7NLXrzH54bo/Hi1+rkGMNLV1RxJXdPFZqcsGxQnz16JE1nSRzRpOR/y5TRf/NLvy2cpRfphIIawIGBlcFcR+ZkBkn8v59AsFFitkA295LSVc62c7pJ+orQY7kotbJIi/GnyBhsLi0DrJ07v6WCvPr+QSnLxe+ctj70Ig62yIlapMqd6HMxaEMV4X7fZ0VUlihIlglVYAMagtGXG4dOSMnKaLFFOsxgjKH2ia1CiS05nEyor8isSSRmsq8XYhVnLoRiVMUe5QlIiBltEFkuaRFwcFTH+l1KsKvglkq6tzFNTYXLN99lZpwDRkptvM11+dpTihCFKHXhJIJ6PSWnNHkjiVPadzD3jUPWYAReLj6XWegIM1kSapsJVLUxHiD2MQRTshz0bey006Mrio7CWCqsloOeSXRQHoYgaxmW+jl4i/0Z5xsYyhkhtKvRK1Z9pIHYH1PVAY9QiFKgXEOgkdawAQmdzqqQ/RJWoosr51Rn4yWXC8COxqlGbAcKIVhWFhhySKP6HKLoDSVsBvGLMjmvA6JzPa/QMhk0hMvjAfvIcvWHjHE1zQ4oBZWyeZxpSQk89bW0xlTArjFJUKqL6PXrqpaxdGEle6mwn43Mu+AGjHVdVi/ULsFBbjQ19TpuYSFNWXtcqR/hyzq2pmKYwV1kYgtDPF+2fQGW0ULp1QukEpsbZenYUVAbEfH4Xo8ql7nSee3n9CvPbKal7xakpjovVEv2ulMLphLIGqfrksM7SVE7G1lZEbYi2xTQShR7jilpOvk2tc0S1GOhqdihDzILJeXUuDI+t1eiuQV9XqBfXxP0bmR/aYK5eoK9fE7evmeprdBOpx8CLUQT+FlDGsHWiXt9ahY5bKe0JIsCoDKqCJgo4UDQWKqNwaUKnFq0CymmYbmW+2AqqlmiF4RIVOKtJKqFCoYov831mV0XmMrbCVjC4HKa2OSd6EUlTuQpAFo+M47xuAsIWye/mvMqmAnj6ZX/QRgAo8hpgZK7NQFphLSqIOs/Z7P0nVimU83dzpaT1a75y9GWPTeev/bxXx1Uwq3yvkAwoc3C9XpAIUdgGSpucVz7OwHgyoqNR+llwNrcqy1Ucw+J8h7w1ra90YpqoM4ZkPkmKCqXMEgEvjqrOFVPysyn2YdG4SWrNFmCOrp/7LBHQafl9vvQFYOCpzSZOsgKSjjMrYmY8rNh5ShmcFrHnczt2nharMYmr/auMDXmOl7Vf63JfZHuo/K4p1WRSDKxi9nNL5wPxXNNa7qs8ZMj3ttjBkoq8iAGrtKxp658/x/bvBhz4VLTtXw99+fyF/hza8OfPnheyc9orXHDGLy80l7p2qb/nTvOXTOBTJ/TLBuG5b37J0Zd88Evd/KmP40sBgi8995fOzy/52gwQrJz+AhD81HOtv6h5Og/WwMf8XC+CPqcbzZfOsc/16Sf/Wck2pYxhLla3BgfysetotODZy+HrTViuky47vp9pV9fXy3/W4EDuU3GAy5/XFUEKPq6VXubOiRMtDnRx/EOOxCUk1zLm82SkgmnyaJVmg7tE3bUiG+jCrU4xi3gmUJkCVwCOmfafyIBJzuFGZ/HPwrAownwCxqQc0knIppjOUh/S6pdPAQOwbKal/3gpv3bu5Jc5upxPXuiYFvWJOR6jNIX+7HN+a8jvvIyRwubITKH8S8pJwLiGylTi9ITTZ1yeacwil+WZz45yjmgJtVBRGQM+j2GpxaxFaEnl0ntlGoQcXXdJYbTUq26L45wZNABp7ITqnwXGxpgwiMhfLJF8pUgxl6SLQYTwgtDiZW7BfvLZYY8o5WhM5MZU4rzGSJp6MeRsRXt7xbbSXHtR1vehMBBkblpbo4zLL1t+GuvIb5TnNfiAVgh7IIjjrWw197fU99ZB6n1L3vFCURUsMzs3Kcy10KXGdljW9CRUbw9URhwyrJlpuRTHbRzQYZq1FUpfQ0oEI7oDslfojL54VNDgB5rmhsYpbirLsS6ChPIuFrCn92kRT1SaVMooJjFimQYqVwsAFgPaDyhiFtsykrOujbwjzqGsiGlFHUgm0tbNPK9VnCAklFHYyqHNNcFlmm+zgWpL2twQmpZWR0YT6JXHmwnjZV40RnO7bbltHTe1FSaD01RGSvAVp7s4pgHmWvOFNVPYYCHGFRiaxTkzDV+pJZXAaInCOhUXnYE4SUpMacaQTAXaEauGpB1VXNbKc0p1qQhV5oKZ+5Ty9ySC7YzCENDWoaoara6wlSPFiMplF+V6ojtgtWg6gFQbALKWh5rfhzEmKuXQzs1Gx7xG6cVhMyicQpxscqqGbTMQKutOMnUGFxSFhVOAhRDTvGnObL0kbKcC0pb3QZsijJrHPK9PMyCtLWiPoqK4aColKdHKeGofhFLFwi+C03qVrrYub3liYAr1WgSCyfGINFcKOgcIYAE5ytiWRLRzZ3++wnrjOblyPkd5/mfGm6zhsi6OyBhpUyPkRLEw4uq6ZSxnL5tTx7D0LbDMyXWPPmk7riPg5fnmdXXNoBHfdfGQCwi/XOP5ixT76Dmb+HRkygU1kgsRl+pDev23NRgk4IAiMyMST3yPJ8DO2f9LOtmqCm8+31Nh7cKumF2o9Ix9d27nFnDjvBVQYM0+POunAAOy1iu1vNe6vFufaP+WuMHPDhz4crfy8+05Z/Evf6XTs/05AMFPu+ifHp3/VPfOX76/XPuyqf6XvHw6+/nFx/0EgOBPaZ8/x6Uen0Iv658/pW/PjcX5gn/53OtP1v8/7+VT9Pu5Pvw5fX568QvvxOpGStBqrnSw+to542K58KXkkJ/QsnFzSTthfo5KPTFEyveeA6TKRqoT2OwI28Lwn42+/NTU4oguuW6nQEiKIb/7KbNqpKSp2IUL7VOunYGEk5KlZOBAZTaDJmmVc7yFOihARswYQ65CkrJAaP5/UpoYI5P3pJQk+p5jRM4aTEpUKtD105JrXDblJMZ5YYiHAuxfMBDnliP6PoqjVgyiKLgBVmsUSaJjpVxRTmUwlcYZS0Kc2DLm5ZmtH2mJaoUkTmikkA4izlWgB3HwgCI4pozNNbU9Wi01y0cfSVlJewZSYkDFaXbulbZUVTuXSQKpHW6jwUfASWk/VaL4KYkTvIqwS755oPMSOa6M5royUNcysGEiHQ+EccC4ilRt2dQvaK2htZEOuecp08kb41B1g6ok93iZ1PFknKaY0EFE0sZooRbnR9lK+pvnosopCUYZqQOf53txJoWCnnUVclUG5SusWtakMQMYY1BMSYPNud+F4eDHheEwp1WlOV2iD4o2CivJZm0KppFSUrA1kWnToGyDdo7rMc6Ccbet4+qqyTWvoa4teuqyCKISdoqpSEbAEWUMOgZ0bCG06GmD8tfoMGblelC5qgS2IVaN5P2WdAck5SS1DjU6TLpCp0AKhdreQNWQmhu8azFDpJ4izei5HRbROlHRN5IL74zk5mtZw7RR2aFclj6TZOFNUWC8GBfq9yxwmtta2FSjZiNaKzWLIM8pOqQcic7TqDgfK1q1sKbSUwA9d+6psyFOcmlWr3K9gWQFEFS5Hn1SWqp4WAFvgJyOoEhGzXNSq+We5pr3elmXS4cFtFXz77IvBZYEZivjNTsrmlTmaonkr9b4pNTMairMpsSpjapYGDfCrJC86BPHUSlQueQbPuvYRiCKg+r97PQJGBAzqBpO3h11waE6acVhVKv7SMI4CfM+Iz8WgD2d/n+13sfVjZ6msFxuhTGiUbmawmL8xbzlTStDYVGZV3MfwnpslQA85b15ej3Zn84p/JedcC47uOumL9gZSeaByU60Sk9P/MT+yzbwJYDgk02prBFjAc9czWue4+dvojBASh8+ZWldelelf+qJzXPZnlWzA6802Z55xo/6wpD+SaW4JaS0nIYF5CzDUGyvi5f9oqv+y7efHThw3v5NnO5ne/Ll7af29fzsf94EuXz0pe58DpVbf37pXXneIV0/uX/Z9i/1Mn0eLf3z25c/qfXnS2FBdfLpl5z7ch8+CRatvrOc8/NnP+/b83DH8///aS1f5VOgWV6U1zREWJ7tk+ur0vMSGf8z2kzRn7cp+ZgL45M/fDJmZ05uMWTOjb2Ll2cxJESMM5PqZk/WnJQuUoDW5zl5+cf8YBWk9djkkS3RIK1XRqBEOso/ODXmYjFg830VDQWVHQQNWZ0a0tjhD49471HRz3TuRZhPgIGYT6iVKAY/0ZDIehQS2WYpHQhUZBr2KlQsjnei1ElOyuBqS0hqjhaV6IDR6iQfWmdBpRAl0lzE1koObFuo+oXWHiM6+Cym5zG6EkMvktXUIyGtDMEodHKmAa0lihdsQ2U28/z2AbxODDHilUXbCu1qcSymIXttRRSxIkVRWD+OnlFrGud55S2pXVUQ6HZyH9qgXUvbXEuucqWz0rw81ykkEcuyGRzwkxiyOV1DK3Vi8PqQFpX8UkKxysyDdUuRAvMV8KsIUpnkUVMHY0cajqLwbWtJD8jHTDHig6TmbJ3kare2WhgOJ9cpzBaysGDCejUDXPKAR2J3AKCua140htubN9wPkRcvAgcvud0pJTbOsKlEd6C1ita+kKh4WKjYqTh9hb4aJf2EqFBWo7yFWIsTlt+9lGt0a51p/CmSogBbKgUwGlVVogCegowJGqwl2YZk7Mna2BhDdOCMaOKVEmjOqDk9LxWnKKSc374M3ZqttbYxip10XpVnXo/Leq2W3+fHkVkGRahsOUAvP0Gc7KRmZfVPNXGk0uysFzG3AhwnpQQUsI4Uijed84y1myO2CjnOUsYnr7urQQmJEmBd0aMXQENRwJWwlHlEnBFlDCmurm8qUPb0vuHZ/fSEfs/psyogxuyYk7ejQgtXF9zrlHVf1ntQikuZ07nva7BBL//XyxpbwAGdxyEpmcMqz5MygdYpA/PcYgEDyt54Xv42rHbQAtxcLJGrxOkse6sCdBKtApXUXGIxrdgnJYyQ0jngtVyrjPGTISzO+Kor53bn8w5uOfFq/13fyvzuyPg9Z8t+zv5a9/H0HNkpVqLmJP2LAhCkuJy4PPMVvf/8upf6dsm2KXOhAATn46vyd56882vmdUkN+Fy7wBp4Uimu7NsnfWRmkMgHy4/CWtJ8MQ7xr9p+9uDAeTt3uv/1UgqW9qUu72cRwD+pfc6VO73QpW8+63p+zrn4V3CWz7twvij8lGv+JaCJz6Glawfvz2nLJVZnepbutDiXFx3LZ8+9/P+n9vfSdf7cx/+lwEB65nd19vnz/TmFNNb38qn5tJxzBTqc59s/s0GcnuhCjn5Odbg0f+Y5nxZ2wfmtLAbR01KX61aiFRIxWqII4Wz+rJHs+S8JnrAmzsdg3bVVP+b4e1H7zXTrYnSXrxrIYj4lupJ9b0RheF1xoBjqpWSp0YoQPSXPNWlL4eUWRkIpq1WM4WXAY7bgstGavz9mdezSrJL8Y5sHfanlbiXKHyVKXyKchbqtlZRpwo+zJoJyoJQFBBiYQsoU1eyIVJbKbaQs3TRIJC4GuaafMLae16KQsrhUWt1PmCQX//AImdatXIOrtqhMa+yDOOtWK3obca6FqkFVtUSPY0TFSEm7kBSGyHEKOJPoc2nCKYJVmuRHYn+UOtbaYLc3qM1LKnMzR/KnKOKC20oi08lW4qTrY74ZofxbJ6Xj9OoefXbAx5AwthIBs7qRZ27dWdRmSQVRKjtiU4+eeuLhkdQfhRJeNQKgKKkg40Oi8xGlA2OwDCHRuBZdNyhbLe9XMf7Sktox+sigV8JomTWQjjtS8Kimxgx70rDnqr4GpbBez2Jzxd8v7+eUwLkGdJk3abm/dWk5bYS9oy1YUL6Um83v3ZqqnaO4qgCc6zVIRVIJvWcnMxlhlKS4gFxWQ+sMQyDXQhdj3K7o/zGvAQp54YQqvSywJc1ndqSS5PmvAYJLrTBx5rs/WX/kHpbfVznXual8TZ0WxlgZlpMhKt8/M9rzirWaA2d50xn4PI3cF3q+HDtH1Mu1WRzIwKpy0tp5AEppOGJc1tcy54soaslzLpNp6e2TVlgDzzaV77+M2aVHUhy74lStWQHrgUxP/35yjrldhmyUKnMiLRj9qp1rBIiW0Ckg8Dm/7zlRYq3zOQpAkJCKJklKHgdSBnYUUaUl7etsDpe99XNtHZ1f3z88Y2uvHNEnxItzYKDcE2X+q08a+5few0/E10/7dOJw5/LZykjqyZo5cA66Kr2yhpjvrbRljXja9S8d43LO+R1UWXD4jBW5XPT5O35SKW6Vunre1IVOXxrjfwtf9lPt3x04AMtE+amD+dSB+FI36c97an/5h36p3z/9In9JFsannbM/rV3q36ee+5/rBJ/vI+X1fw4gUGe//wWH83kn9Cz6/Fz7Sz2Lk8X07NyXe3D6rUvjsvJ9Vw7p6c/19z71/6fX//In8akxWgMIF793SbDvS9J8yvfn407Pvo6kr6MI51G4+XQX35FPgQX5XEnuLBaj+ewaEp0o5zkDBErUYjUGc4RoPl4vAEG579Vme3qt1e+KuR51tr1IaTXj0grFyPR3lRIprhz9/K8IxilAR4izBRczjb5U15DIc6QwCNLcR58K9VlJRCSJ8yy02rDKWTTzcxHDWkHMtcdzKkJKkaq5ZszDIJT0iM+DYZWiqrekcY+yTnKpYxDF7+jn8k7ndNLilKqsdB+Pu/yYDLq+xmZQJSTofKBDBMc2TnNVb0i2FnCgP2b9Aemzq6R+OGSdhCjpBVNhAyiFaA4MxK4DbYiHR9T1kfr6FpvvqzAABp/oQ2Jja3RVg7VyvJ9Elb9+gdHC1FjKIWbHOUEyFbreSK31GAQo0JK3HHK6xhqcMYq59nvc35O6A6rZoNor1NWIrQQcCElKpjHCfgzc1EaE14yAESI6t7zjpaJCEU50Ps4sEJVirnKwJ049sa6h36PaA65qaKwlJY0m5qoWpywmEQ1U6FzlorxjJ8ao0TmtJ69RxTgNflkQVo4iZZasl+aUjeN1jfTi5KrZNZ2/rrWsE7UxxLwu6AJAnRv1eT1Rann/LrVCF18DBJ9rz8AH+Y8lKqnmMTk/5RrqPGfMn3/vWfrvvN4vbte5CNwcdc/r13NOaHmGhfuiVv8KMKDWz7UcdwJMqNlBSWd7yvqoZ7eF1Ub3qR0s5WudjEeJ9J+t/8/+/gWtzPk1e4SUnXSV5vkFT4GBkNLs413aBz+VX79u6xTzklpQNGJSXvtizgcwqFkz4NIgn1sk5z04p++vPy/3f273FvYAZ+d+7toz/X4GyD4/DudDdZ5esO7T/NVnKPsXshg+2+dzu3O9RqyBjpTXmHP7dK0n8uQKZ2OnzuyTT7VnS8ifXyV3Sq36WfpV/v5zZQ3Av1NwAH5+KAv8CziIuT3vBP0Fr/GFHf/ivKOfMBI/2Yn/E4ChP6V9Ci29dPnn7uOSg3e5Fc8wnv48/x0WI+SZaz7t5+n29Lm+wtLfS6DA+trPmCJPenD+jef7enr+T/Xv8lU+3b50vp3e2+qoTxo7T7b+BQy49FwzYn7JiPuUcXDeFifq6Z2t2QMn58p0b7SaAYJnSxauN8Fn77/cX4Kch5rKLm6evkkn86ZEngqjQmWRpqRKMQApR1iOfLIInUanSkWAEIWtMBfPSFEE6nIt9gQi4merPFalhKJoJriYS91pyxOQZDU2MS7jnzKLgGkCP6CnXi5tPVFbjGkyy0AqAXTIcUYrGmtoXEsaO5TuJY88elQYcTlYWJ5RcYiXIQhSf/24J6VItA5z1YHv0ThJEfCS724UbJ3munK0rkG5ZjnHNKCmAddIBQCXjaaQsnhfKNTdgnJ4/DChnQATJgyzIN3ieHuG2jD6RGsbsFJeMHmfNQFGaqOojKZ1hsqGWcxwvs+sbq6qWsAd42Yqd0g+ly5cVm2dAZo0DtB3xG6H8mMugTigGzU/8yGr8B8mzxAstI1E0HMut5qp/aL74IOwGbopYHOUMWaAKo0DcZA0hrB/IB4eMdtbtNtSN9dMAXxxGFOZvcImsbqsBerUuT1jSKQCLiqFCn6m6qqshVGOeUJ9lZFBCn0zU8RP8r+zaNwSjxeor+hWKL0S1CKX5eJ0fTpZhtSFX1ef6QvOc3HE1m2O4mfWj7pktJSo9spJTqvjUzrd0y+tZOfAQLmmSpEln1qzOD6KRQRu6bTOa9gaBClNHFxh/5QKOadDk06BgRPGh5qvXX4voEiZM58CWmYW1cm4Pf/9k6+V42Jmqaw1BdbtSwCBszl98Svr5/DMxl2AgaL5shaehL+MrTiDOPkXSXGQ5xcQgKAA7M/Zhqf3tXreqz+ecWLk2heccTnn4uR+arzLIU8Bgp/ezgGC0tJZf04BggvtGUd8bVOe25nreyjv8QnQ8aVOzMkFZU+/vE7++e0UjLz8zOECyMIXv5L/Yu3fLTjwl2tf7l79S/bgX7t9Lvr4qfZ83tFfrq0jqOdtpgKyQgmX3p188qWO4HoJO3HKWBbDp9HV0/Y5Z/snjddM03u6uJ4YjM/Mnued9uf/em5QXMp3Y3XkZdBq6XthOJw7v5fy/J/r67q27fmcOH8el45/rn3q2V3alJ5s7uuI3ll6wXMwjMr00LlpPVNCYeXgc7r56rON+HNRtkt2+RoggJXhr7KjlwGCdWD+aSsPbGUAzIBAnI1YVTZbjQAEq+MTZ/NmHR0rY6K05OcrhZ+fec5b13mTNVmAq1jgqxazkx6i1Pk2Ogn7YLbwQs7Z9jISxuGqdhXBFQdYq7RS9l/f+zK/k7Z4NFOMs1bBLNMQl5JyQvtvUNrSVC2H/EDHEBh8xEcR1OutpnYNi5K/pBRQVPmVmun6hdp+Wn5vIk69pCRUNQxHqXygnIARPtJNgZjgpoocq0hTbTFVQ8i6A7E/on2fnXVFYxXOakIuaShCfGS18YWSGYYBE3Lt+fwcpijXjAkOY2BojNQ6N1Xur6QlmKmD4UBjGjaVoR00ozpVd08qq5tbi4oGXTUEY5hiFpP0kdFHsIvehEqRFEbi0BG7Dh3jDGC47OTGJFUqUgZrfEz4BFoLgCHTexFVS/m+Bh9EpDFoRr+IpaUMsIz7I3VdE487rB8gTqeRorS8xyV1RRybIsJ3GqFK63VUGbRaqZLHVZrQGfg4O5MnAB/i4awN48+g/jMYW0CBvHAbpS46RecU6cVJKc80nWwmWp1WKUlqraxeSg4mKfc5O6QLhHGJNXC+TJ6nEXzOJbg4Iqqwopb/r1kD6yYl605FDyMpC+zlJTP/PLlYASPmNfXcmZ9H8wTUOQWQ8vXScv2f6j7FdAFAOe/XpbSBP7GpVNIeTgdEatg/z0KZ0wjOgIF1m4Xqzh7Tp1IPQlpEBEtqASk/0xPAPZ3kvMOpM/hc+9RXToCCZ2wetd6TLwE0F4IPJcXmU+1TT/NLbeK1aOI8yOvUqCfvywwxPGEOrH+/BBDIcyjPKX3R2C+dfmrDPWl/5vy+1J2fM2sA/v8AHHjWgfkXal/qjP5c2p8CtpXjnp/Yf/oIPDd+iwlwuig971j+aU9+PR7z5qoWI0KxvuZTN3D96ZembTzXyyfOZPlcLwtrWv375DnPDcaz9lxfLwEan3Sezw2Fs36uxYOeIu1nhkahuZa/pqcb5sVo9wk4cdrn59qleXfJyZ6NtqLav3oWxVVeHzfDN+WYc/qlKptSLvmVsiMMiwDTBVS5bJAl+LhErS+3E4N8dXNJiar7E+N0zZJ4kk8n9ZXlxFqiuORSf9nJn0tWlYRqdRqNnO8nRZSfTqNP2oCNKFNDNqyLDkAmLVJpJ87iJzb0RDYaoyLolMUJSz8nYQ+kBGbItH096waIE1yYBPk+8osgGglaalpbx5Rp86NPmU6ss4BVQvlR6PpDh6pbcRbcBqfr7OBD7xMxBVob2Faa21pKsCmQyDpHdNUSpwGj23ndnWLKkfyUwZj8TLwXant/FBZA9PKYkjjQh1GqQNwNhlcbS6orUslVHgfQB9RwgH5HYzdcVZbWmlnoy8dcVaKUF1xb23FBahI5J9+L4N++ChLdM9WyeQQv/eyPqOlI02zYOs22MjAG7ErtPU8scdh1dqpySoGPSVIm/AJghMRca5sY8MOEBcw0oMI0q4wLiBGZEPHFEM9KaebSiSpXLFjnAg8+YLWi80HKiWZxvDSNxH7Cdz1pGmAa56h+SnL+KaZlfVUQo5rLp8xrxur9i2TQg/IugNUG7RrU1Of3rKwd62iYXkQN83lViWmlFdBZSqLFuF52TyLes6p4ZguUcmHnEnXrY3Ra6L2FUQKLxoiUcFWzUNw89FGs/5NzzylB/mSuyQa9UPsLkLJWjV+3k6jnZ/fpT3zhPH961Z1L7sR8a5k1UH6eRg5TXqPCqQP+mYo5JzbBDAwsf38utWHdJLK8OL7zP5btQa37VKrFrAbxXHRQPrzQ9xT5FBqdIa2TNJBlLqV5MEW8dgEG1s98qcCgZp2MJy17yl+iS3feZvbHGcCzpo7/Jdr8zp/ZvnKR54GB+Svl+LzerUGy8z6u2TVx9dlJf1Y28WlTJ8/8SV5/Od9PSMW8BBLM9g8LE2IJ6v0Jg/6pVIHztN6f2C6tBesrXGIN/Bza//bgwHm77DL+e3PpT9unHMNP3dmfCgysj3/qpK+cipNOaT7lsF90zlZO5CVH/ezbz1zz06+cUk/H4anA2+kGNt/nEyd4+dIl5sNPYVuotTMJpw5vjCuncnG6121xmBeH+8RgXPV37bCf9OGsn5fEIS859utc9Oci48BZrnuSSGu57+JcZuQ7pGUezM/nSbR7BS58Bg1+giesfq7HY84bXR+zfi4hSKWeVaQqrKehFiNYTp5E7f6Efi8OTHGcS235cm2D7N7nQFjKN7GmWq6NwnK8DNPp3a4fY3Ge0Zl+X4yFJyCPWfI75bbQyoCKs/NFcfKJEDSYSHIacEAuw5c7aJDceZ2kAoAKwwwsYCsZb1MBIvYmpf8SOiiiSZIabas8v6bZWC3VCoojlZLoBpQSjxLBDyjfwzSibSTmiLnLqv5GwZgSKS4CiefzSNTJLdiGvg/0k9DnjRJtgk2uca6iJ3Z7ycXvjxitUfUVVdvI2hNTZh1AO3kGbxmjqMMDpLEneY1tr1G+xzXrygNSWm6KRgT7tBOtAiBOE2ocSOOACuNcms3HyH4QR/Z6CFLGL5fum9MSYiDu7tDXX9G2W65rQ+vMXPIvpCTP0TgRFnQNyh7RmYJf3oUQxdnufMAoNYsZSl69lmj8NME0kbo9eupprnJqgTVMMc0pDectZXaCpHTIOzPMrAhDN2Umh3EyjzJwEqaA9cIaWb8VBfgoKQzzdPEepoGUErE/zkBL+e4YEi7ELPSIjCOQYsQPI2GYBPzw4kQlBFwZQuIwBnxMVFYBBqdllTEKiNPMpknGkpSMRxGyBHmvnYFKK4ytKMKcp2yzbKznnPhirKcQUCECCyinYk5PSAsyUABHYeOQr1uACTWzBubnwuJknTvCBRgogpGwRDATaQY+QnbyShqDLY5W7qOKpTRlBgfMaV131KIfcnk9XD33dNkG+KL2hXsLMAsBnu6hTyOcspZ6SunMeT2FyzcDS0rBWStsq/N9QQ6XHOgTxyVvchFm0T09gwNlD8v7QsoMoRhIMcq7rA1zydvnnL+LztXy2bmg3/p2VX5WS4Do1GoswEB5l0tp4DUwYC+sJzqnJVwKp18EE1bXWwcm1IXfP+X6fs7NvDQn1xpB5Ron9v5qfOfDL6S7zPo46qk9+hwgIJ+lPHf4jF7RlwdmLrUTO+fss9LOGZSfeo+/iLG7CvJc/HxtV35hu5TKtP7bs8d98RX+5drPEhw4dxT/7Vz3zz+iP7dvXzRnf+I5z11wtfrsvK9nfox8/wKS+KnvP+3A5ejxGXzwpD3XvxOHkEVEbRXOvewAAychkHXf1flGvVznSf9SIqqS75yvF/3pQqx0NgyXCOulSPfJBvKkVxdGIJ2J/ai0KFXnrzxxulk5zCVSmh1apbLjrS0ql5aD55HNS4vqeeR/vpd1jiQg4kWeZE4j4yV6nfKYigBdKc8VssCclIya61bnTT/ke1WKGWkxnN1r/n2O4p2N6gmgMX+2zM0ylinlJ5JkCs+Gd1GQB2YRLC3HTpFVCT4xYHQ5NgYx+ksEUWeVfRtBGUIUZ+OEgaclxjfPrHysUpZ1ykIRYlrXaFZnhni5wZgHZC6DKF6WPEstX5rnDOKcoAyBxfhSShTMnbbAIM8vG+0qhlxnvM41sSEqxRikDBqA1UkEzWJEhQE1HsEPMkddI1EgU+GTZfBCTZ9CxBhFFRTBwKRWiuHZ6SfFlVaGON5CSRWACYWUcpuk3JyyA0prlO8xbjuL/i3D9YnVXYsj34fEfgrsBo9Rileto/eRVkkd9Ngfifv7HPHW6M0tzdUbobVrhc9VC4qzWKLWKUbSKHoF4XCPam9wGzWnFIxBGAeHKdL7RFO1i9AfkMKUwYFplnwICSYfCVHy5Xsf8dlZJyXScCQNoJoNtt+xvfklrTVsneY4yrgUxkJqKnSzQdcttnYo5+Z0j5DTHQYf6CeZR0OT5jWggJwx6zHQH7FTl7UVDLVVOK9mUSkBxzIAFAMiRMnJPuOjVJuYYmI3aAbvSI2ICiprF8clhqw07lGr1SBkRkTMTpNKgTj2AgrogbS9EYCmvcVpca5GHzGKDHxEkrXyDPLzGw4doTsShg6VFIOX5/XhOHLfTfiYuKodrzZQa8AK4KnHHuK0AKvaESL0U2KMMTOmFHVSYBVtEdVIcWHvGJtLGhqSrWBe7xOKcYm8hyDvRNHUUJaygpXSniGDluKHquxoqQwQLCtpiBBVkqAysp8apWZBMqOlFOk6MqmUmud8jMIS8lEqgCSrJC2oPCmf15ipl3VGKUiVrMNGwMLIsg6Tzy9A62kgI3FqB5zv1Scb9CXm16fAZ1Wum+avh5jO9lmFjsxjM6dNrPeYdJYzdelaaVVGkwXAFTCiCPg9BSeeBQgo5f6kf0FnR7h8J0jfVJiIYz+fVNl8uFn0OeYqDetytyv7cE47i3G+QNFumC0+JZoXKadomFKWclU3sVSmifkdXte61xqc0sJyOXOGYwKllehqxEXU8OI4n9lCl2wjhYASn6OMP+cwnjvm5bnO9ns6s5vmE54yGiH7sfmXS7b1cxHr8j5HFue/9CWtO8epoPETBuelAM0FVuen2qd8HwUrbaLTfgInwFsBcmYr7xOBxPNx+pLUjZ/azoHKnwMYcN5+luDAn9r+vAG+BEl8vl1aRj4HGPylJ8LzvT51fp5zJksrEcHS1hSklJ4uXE+ddE6c9JNerKLcl9olVLA4gmVREpZhNgovOYWF6k2coyRrqOS5xbEsgrPwWToFRNa06ydOcMnrUplClY25YgSvF6oVa/SknQ/h8ocsupTWasVRtKSUAh1Jysyb4gxKKCm3I6Jzcd7MS19TKpu3GItrtL309blJeslxLo7HRcc5GdDZ+U2cOD8mO782j6nkgo8yvkpDcvIcTTmWnBuc56RWuBVANFMx5SaQEldLRH89v59Ex8uzy4aU5CzLn7QqBgpIjfEJUlhKic25bpw4+EpJXXCnFTZFiFM2+sd8yYpYi4hYUIYpSEQxCCcdl7clZ7KxMfUn0UTtGnRSTBkYmLKRqHKYpQAEs0h/nhsxJTxpNlYNzA5RRKHiiA4TBC/GpXGoeulfmWtWQ2s1NkT00KP6HenwKAajtuirW2ITCVT0XrMbA/3oCSlRG83WKZrQoXfvYf+esH8gBY/Z3pKuXzG2PTvVcD8k7vqJXT9SW8vWKV5vaho8tZYySSpXBFCriHBM4IPcudV5XI1s8MlnOrvWaONQ9YDbnkaKSgSTeX5mcCaEjNbkvP+Q2A2eu87Pc6V1Gto6n8iTugMxBJRxqJd71NjhjMOoEoGODGEpNZiUlnuaBumrrTBTjyXmdVmce60VD/3Ey8ZyW7fo9hrtGmIuJ5WmAR2m7JTJ7B9DgCCVCwYv9PZaKYiBMAyEKVC7O9LhUVILXEvrDFbrubygj0AuS0jTopuNRA6rhiLaN8VF1R/IZQkjc4WHGCUFIgUYjjK3/YRRBq1O0wnU/AyywGCMxLEXVkReyH2EPrMbCmASTIOtWlRVY5whFcArr1H63FmIKQNqSq41dKTuIGv05hozdritorZqdmq7KdJ5eX60wqTQzqG0Zux67t+9xWxeYdo3fNwrvt17/unjgff7gZjgq+uWX982hKsKs7XE6YAeHtGlXGNzg28Cj1Pi4BW9D/gIzkj6xZVTqNriphE1HNFhzGuEg0qTDISomKK4fAawyqCCx/oRNfVEP2RLu5F0ndCQcPP8HvO8dErjMmOgypoUi0AmjIjOR6SALRD1UqPeaTApSKlOQBuDNjXBKPog6SG7wTN4AfW2tehrRCvuovI9ejjA2AnwZS3UG0mLcYAyjDExBU72GZu9tWVfzBHQ8q5zpgugWOj+iZP8/2dbsQVQTxxHAcWXNaWkkmgjtodN2QmJPjOwcqWS8wDEJxyRdcAg5evJ/v4UGJj7p1QGi1Pu59K/iEwWHSEkhct6KyoFCCOx70gF3Mtri25cZlVlfZC8q6QkdssCCiQS8XQPhgVUOL83sr2QjU4TIahTBzzGhJ8BCOZ0FKPUnJ5U0mHmY1bPZb7p1Tk1Cq0XCPG8MscahF/bCQugedrKc1jT+k/Pt7ACZqbek++IxViYFIo8P8OZMGQShp2Il67ZQKfjWv6t+wjP2+Dlb8UoLnbtqR1bXpwzOv6l+ftFznVBS/L8WTnzpZ9Pvn3Wv+WPl4OXafXvpHs8BXI+pTn1qbaer88BAz8XoODfBTjwKUe7tE8N6BP/9TPf/0s8nn/NBzw7zpcm29r5WQMEPF2YLqFZ5fdZbGnl8KbspKu01PO9FD0uBnlZoM7BjLXrrk7+J9cKadnoU44CrEDj2SksTulSTzWevPjnm6Na/V72hAIMhLQ4oUSFyiiIKteLQTZwOUOuee5Jxiz0tpVzYVgohOcL8umCpFAq0z8L5TOGBfzQmjRzv/N9RTHICuJttWxSVpEjugHCMLMqVHKgFEk72RzPIvKXqOzreTMDEYkc9c+GfIw5ojAsC6aphfapDSFFxpXRpiNgE5XWIjK1igihNMlVYmTkuvVTWKJmQi3UGZg4M6oAcu3u5CRyXSirxam9BCYk14ixFHIN+rhs8uJcqQxgDFIiLUXQDipIqSYg9O5jjsyCokliiFvEuWfckboDxIDeXKNIRFPjjaUbA/sx0HmPRrGpDFtnqJQixBGGvZxDa6J2pNozqZpuCnRenLCEOPkuR+gqDTH47JAlxpjovVDgS3TNKKiz8NyVU6h+h/E9hImAAreBzS37KXKYolD8E1QGrpxmq0bM43vS3beE+/ek/gjWoW9fw8tfEm7ggZr7LvDYC7hxVWte1JZbNWAf3hPe/YF4907Gd3uD+2XE03BUio+HkW8fB3aDxxrNq9ZiYuDNNpdhy2r3RI+yFYY4U0+Ls1jFLJ1Y1oMwSi44kKpGWA/Rz1HRUCZ4aSnOjIPkvdD3s/Xmo0T9d8M0l9J71VqCqrCZrh+GgTBMqPoBvbtDveyxulpVAshOd1jWjOQ9segGKA1jB9OAiAsiUfJJqPfdFBnbBlO1UDcoY0ghgB9RYaLSisqqubxgjIkpR9ljzEZcDIRhIvQTod5jdnfor47U1VbKCxpF8AJ+FWq8do2UB5zLCi7RwnXEFJ4aucmPpDAJiOG9lAwsaSFJInhzkQnyAw059SF4knWo63EWFgRhRUwhsbee/SjMCOcaVHuNrmviMOSFbCllealpBSpISsC4PwJQt/fY4UBtF52fLQABAABJREFUFlHIMo79lPUOdIOtG1S9QWXUtOs66hAYp8Dj1PO79wf+6e2eH+47jFYcu546bnllNnjjON59i9p/kOdeb4jXXxFu4O3R8/7oed9NDD7SOMObTcWbrWNqLVX3Ed09oH0ve1m1ITY3pM1LjmEvYAkJpxW1hiYNuO4ePTwS9w+kGDHNBraviDcjB9Vw1wce+sDjOKGVonVG3tvGYLcNOo2E4EVjxDX4ZOinRO8jY15frFFEa3DIvha7B9R4kP3IVgS3AbvB+8Su97w/TnQZHLieDPZasXFK9vjhQHx8T9zdiQ6Eq9EvXqNsDUozJRg9DDnNQyvBDEr6g87sq3kv1E62j6ROWIO62EoKoLAGngoDzuVaY5TAYga2FQKaFFX4lOezXzEabI5umAxSKJB9MOR9LPhlH9Ul+ru4qXki5wvki+mlZ8K2Ow1SwFOdCKXk6gUY8DmFy2ot+4nS1DHJxpmB2NRJZZKyhipXo5ps32lDMjXkFKeZ1cVij6RVhBttFuNDKQEXWfZseUWz7aUlRQWyNoxa1haf4pJyoyVdQOdqK04rnFEY1CyDk5KAQiEmiJlFodVJoKSMdLEDCqjzJB1ELd8zGYC4BAzAU1r/eStR8LWdXdJ7FNm+1YmQMjCXVvNzTkNZVQoq/jmLffuUwZoWxxtQOTVHZeOv2FAy1mm2w9d27SfbJfbA0y8tXzn/37lDPwflzDzunIEYaxDw/D6fgG6r64az7hl92p+LmlNnAMx8vmee83NpDj8XYAD+nYADn2t/uQH9OT2aL2vrFz6ydnpPN0GAE+rM6kWCsiCoZZFbfZ44fflOULooCyp5kVpTw4GFAr8SJDuJyM43ElcvvD4BCUIs+YgpiyAJGBGTwigxGEs0l3wfCWZRtPUYARfvEbUAIEXgqvgHZcmU6EO53pjLoYnDjq1JQYNZFvMprEjJGURhvvYpRLIGCHQGCGQAAsqPc0R90Rww89iMuaxWyAthjHnx0QqCR/kONS0R+eRipn0XKm5+pilvqmZZTAuGrxBqqM/GRqkFX6J71pAjuNnBD5Nco1yrrpkCs3AbSM6qVppoEWd57FDjTsS7rCOmDco4YDOLvnVTZEpR6m3biIsS7Vd+RE9HcThiIhpHcg1JV/R5fFK2b5xROJVQQydARg7hBB+YdMUxRwKnPC5Ow8ZqUqXQxx26u4duJw6Gq/CmJV4HOtPysfPc9xMfH49oIreN41VjuTUj5v470vs/EnZ3cr/bG8ybXxNuBh7tlncHz4/7keMUsApebSpebxxjY6iHB/TxDnwn08JtiM0tU3PL/RA5TIEu07edlsj11mlaq7ApG5na4qNinCLHSWq09yHitNS8xxnqCKrbE/pHeYbGEetIMjXdCI+DZz9IBHhbGXxjqFpL9BPpeMDfvSPuH1F1jUFhr18TleY4BD4cR94fR1CKV9FRG81t6yRCe3gk3L8neskJDzcv4faXRJ3Yj5GP3cRdN+VIpeIX22yxxICeeqHdm0qchDAiLoHQkyV3XTFWSaJZKvNk/QghkupemBIpojEZGEwEluoOhABhIg5HcUqslXcyLyKdj9z3ntFHrFbsBnFMK+Nkbk2B6Tig7B5z3KHHDre5ldJ1KTH5yGiiRGhjVtn3I2nomLJzqrsdKk4Y7UgxcZwC+0HWvI+d43VraaoNqm7FSZ8krYDhiEmeyihqq6mMoY8+V3OIp8yuILnyet/hhiPaj1TtwjrwmQ1QcvobW6ObjVRGCFFSJ7I1qrSsD+bMElJK5fVevJcUVtRpVUoFStlFpVUWQMzLoZ9gOBJ7GRM7HrDJCztHy9rUjYGuDhwmzxgqUrUVAMM16BhZKkFIccxCQV7va+ITCkshHAfC5LG1Ix4eYeyw2gpYkhKTDxynwDGDEZVr51SLOAVJZ7CWpB39kHjoPT/cd7x9HHBGcd06cWKNQnUP8PgO//YPpHHAXL9E1VtUkioKH48j3+8GjqPnurZoEtdOEStF6A6k3Uem7gBaoa9fEeyWYQzc5/c2pERlFDeVwTaWOIyoh3vC3VvZK9otJimCaTmaxMPB8+NhYDeI8OJt42iTIyjLsbun7+5lDdWWVF8RNi+5HyIPQ+ChnxhCorWGF41laA0DA2b3DnW8k8h/vSFsXxBf/Jr3h8DvH3t+/9Dxbi8g75urivsXLf/xZctkRtyH3zL9/n8Q7t4Rpwm92VL/6u9o/9YQ2bDXgftOngNK44ySddAZktPYAuwi62FyNVFXjHkfTEgU2GiNMwhInibUNAg4OBsRWuyM7MwqbbJD6HO1FWEFlcKSMcneeRg9eZmmNoptZai0JE0ociWG0sfo5SVSAnBj9OJAl5aS2AixOCkepd0c4JhSmhkca5bMWitCCzqCz/0cQpTyowTqDHBVWrGxwnJTfiDs74m7O9HS0Bq9uSI5lx3XilS1UpFEaXFY9YAaEzDldKkMKliL0naWuUjGElFMhaiRHXYz33ZOu1EZ+FCSEhASmdmW98CkcJkpYPKeX2lhuhRnUWw0EBUgASJ9lPEQWzOzBkqAIBuOM/vw/KeSfs5JEWdlRc+j3SdR+FWLLABBTEuQqQR/TBkHtYKvS7Aqs00kuLTY/sUGLmtcOb9V8tfZlgXZOzQzC7bM33WwKyHlG9eVNp56T5f8qQxEPwMQpLPf1/7BEx0uY0gadE55LEyLUqkmkIGwdf+iP2X9atFNKmyVcAamCYMMZu2o8z6sNKdKj8/9jfN2qs/w6dH6t2z/7sGBLx3QUyTq30972uf05C+FFr4IsLA46ilJBFopkq0kz3zl5M/v2Rl1vuR3giwS547hjD7m/CrpWrlmVhIu4kcgGzGnastybrnWSRQ3Uw0hL2gRiRgnQCUq1CzGJC/7hPLdyfFYSNGAUTMlvVCuDeU+l3s0yhCVpBZI3mNaFNK11DwPSeV7HNDDcY6QJ23koFruccqGhoiorTdkMTzKxlFo6QWlLUaDUeDywlxqnOvxKIaxNqiqJRoLaYOPmj7kSE2QPM3WabQWx1AFjxqP8/HKOiJXKFMTkXERGqZMBIc4X5IXmrIKdiSZCm0cMcaZihxiwmpoksYpjfISaYvHe8bdnYiBbW4I28AQLPed566f+Njl6LHTvN5UqGDY9I+Yxx+Z3n13EnlOL36Fv3V8OHreHSY+dhNTTLRW8bqtGFtDagx69w7VP6J8z+QDA47Y3BDbI7tRBMNSEiOncZpWBVS/kwhWDFIvvbnC1zc8DoHHMczG9FVluKo1rxuLPbzDPPxAuHtLGntUs8G8+gXBa3bmircHz+8fOnZjwGnNsA3UumLrPPR7/N07wocfSCFgbl5i6yvi5iv6UHN/HHm77zmOnspotErcVAqSInY70uN74uFBDNHrl5JjW9/gY6CfArshSP36yqAymGWnDj0dxVAxldRZNxrlmSnfSWvqYgdEj5o69NRJrrWr0doSoidi6H3iYzfS+ch2Mlhd07nE1jhKCbfp0GG8x1xnBomp6P3I28PI9zuhoQ4+8qK2hE2FVZo0DoyPB/ww0WqFOR4geqIW+vtjP/Fh19M4y03tcokpUFNHONwTH+9QtsI2G6IfMbqS0n2T5PEbBS+ClRJ1JbLt8zrlJ4rqdkSE3/oQM+V/5Uj6nng8LNGyzS3V1WJoHnrPYfBUVvPQT/Sh4tpWkocPxMkThxF6AaXWOZpTSJmGv1odvSd0HX7foY3C7B9RfkCbLSEl9kPg/jASYuKrTcVhqrh1G3STwYEYicNRtBXGI5XZ0FqNs5oxyMWLyJ2UCTSkkEiTJ04lQj/JOOdFvlQ86HyuPGBrlKvBVkBOl0lBnF0tdN4qizNao2b6rQADgRSWKKKyFVjH2Cf2k+cwRaxGygQWqzRMwqboDmI87+9Rt3sqe0Vt9JymcRwCh1Gi+clV6FpSCwoNOom8udCAn4viJEhhZOoGwjAw7WvccSe6A+Z6SdPw8iz2oxcH0zXQtNhNjT8OKJdFEa3Dd3Jvj93EcfDUzmByRH5rNfrhA+Hb39D/8C3Je+o3A9XLNxA9ISoex8Db3cCum+i2FbeNW/JpfU/YSTqIcjW016A0Y4gcxsiPh4HBR64q0SvZOE2rNYQJjnvi1KNjIG1vUdeBqGV+HCYReqytQSkBdVurUPcf4OEtsdsLc+TmDZiaFCtGH3joJnE0nWFjFTEq4nRE7d7j3/6RdNyJtsU3f0uqrtBs6SfPh/3AH98fZJ0YG26cYriyhNAR794x/vBHDj98JMVI/fKadPUS//CAr97w4/HI+4PnbhBw4aayvGotN7XBO1DdA2rMAKt1JLchVNs5LaSA3sWRbKzGhF72wVVq3izymMtJVpXDZa0PpZB33jb0IXH0icMY2WWQps+GResML2vHq9ZCY0B7bP+A7neivxIiWEOyNcnUJFeDyddPRZvAo0hYV4GVdylWlhCFhTSFJUhR3klJs5BIulJLpHzMYOFuFNZNiInKaHx0OK24qTUmeMLujvDxB/z9R8IYcJta1sd6A9oS6w2xuRZ2G0LpVqMhRY/ykMaBeNwJqFE1aG1QtiYpC9oxZOZeTGl27ozJ1PAUcNow5XSIMS+Xow90U2CMkRChsZo6rztGKxqjaV1OQ0xim8ZsR+KFZTJXyzjhcT4FBtZrxppta/I/lQM667TTE/v70lrDGmQQO1QpJYGOJM9mDQ4U+9tqhcmMAeUHlM/leZUR5oZaxI59dprJ/7clOjezLpd0UEwE1yDlj9McoCtjJKm9nFTaKPdx7qOchsFylHENEJzR8s/HZz79Oj0W5H00kXTSz8U/kXOl3D+5roBv2UeB2QGSqjeL3V/GyWiEHZuBnzl1dvVsZ3A9P9uTYO3Zvfx7AQbg3zk48FMH9NMAwVOn+09pnzqLOvvO+THn31HPfuv005CdOwegM508nr0EylLytyPMSGt5iQpNWCt1urghm6jSJRK3lGAqxwnVSmXWwJSp4VEEZFymm6JncaMZfdQIoJHy4pSjd8Qq5+87iYxHyR+dQhYXsxpNorFkOnqHGo9z3nHKFMOUHeApLC+80aBMpqiFURwDAOuwpmZEFsDeJ/oQxOc3GiqobQYHcoQ7HXakMElE6uoFwTWA7OlHv0TIjQasFtQaTnLHZXFrmWKhsksfo4ZKKQgB0++ZHt4TuyNog97ewAtNdFf0AXad5+1hZDd6rIKXreNNa7Ee1P1b9P0P+A/fS2SobjAvf0G4nZhGxcfOsxtjzl+GrTNsrOa21rjpAONRQAxTE5tr9h52Q+ToI72XyMLGal40mnZ8wDx8x/T2j4wf3oFz6Jdv4Ku/ob9R/LAf+e1dx7vDSEjwonH8/csGriuu+3fw7T/iv/0Nfv+IqWvM17/G/I3Bqy1vH0f+18eOt4eRKUZuKstw22JuK+oRzP1beHhH7HaoqkbffAX1FVNkZhzEBMFIJLO15PzVvcw964jGYJqbXF4ucjdM+BAZg8XqCl8lXPTEbkd8+CDl15qN5FtfTwQlkfX3R4lyl+jMm42D2kIIxP0jw90jcQq0xpCGI2SU+zB5HvqJu+PEVW24rmV5Nsmjxz3+7i1pdydsCm1QmxfyToaS97yAA1YrWp3Qh3t09yDzvGpJKdJsXnOYIiDGcEiRNmrZEEOOxD/eEY8ylsY68FNWgQ987CYOU+AwGmqjuakNG9eIcxcjcczpPV4iX2OE/RB5fxz548cuGxqJX2wrfnnlqJUm+ZHpOOCPPbZ2uGlAJwF0Rh957DwPnc+bf5xznvV4FLbC4x2qqgnNBnX1Gt1czSBdl1UQhyBskKpEjmOQFIFC3yXn/3uhiWulGL0YqYokKQX7B2K3Bz9ir19iQk9lJPo8hsB+8LjDwP11Te/l3VZW8s9TTPhhIk49NopegM4pDIOPuCkwZEM1KVHzD8PE1IloYnXco/xQsAYmH3nsJkJMAkb4BJtWqgcoYSuoriMed+jxQFNt2VaG1mn6SdZjMT6L9W1Ra8TiLOc5xjSPSx8iY0yyN9iKsvClvI7b7FzVRtM4qShQqPgKTs6rtEZZK3njpmIMI7vBsxsmrNZc155QUqEyADU+7rHThL6+Q3+1p9nc0DqDs5oQpXzikAEXXI2uGoncldKbURwro93MfooxzToJCTEKZT5LqsV0HOC4F3DA3WAzM6KkFfRe0naSawU0rGtiSPl91aAtIU25ukIixSS6AY3lRWPZmkj6+D3dd39g/4e3pCCsNPvLRwiBkAzH0XN/GHnsRGRyirl6he9R3SPp/gPh+IDZ3AqYrBS9T3w4Tnz7OND5wE1lhQVQGxptIAbi1M+Aix46UvSkJGvL4IVJVYTWaqMEiH14S/j2NwIONBtMDKjmGlO9nkGF/ei5itDVGQDyPeHhA/6H3zM+HrAbCQKYq9dU2yth+PjIfvBMPtE4IzonKb+vxx3j44Hx8UAKEdc2857f+cTjEPh+3wvTIesh3DZGgLjhgB72qCmDA6kl2nres8e8/5bgvMvRWUJgTu2DuWxo0m4W3xu9ZxwyuyDmYIypSVVLP0YOQ+DjUcDt3eCJSdbpoXVwVaFay+T3mMN71PGBOBxR2qDqDaneSiS+2mZhSZ3Zi8NctcE5g7IV0TaozQv2PrIfRch1PwZSSlRWc+Us20oTKk1jtNhA2jIkxXFIvD9OfPfY8+NxFKDTaH5x3eBfb9BjxdXjHeH3v+HwP/+Bw/cfMEpx9eYVV78acM0VJgrr5DDC0Q+kJLo0V1WNxWD8SHz8KGkhKaGaVqj+9RVJKcaIpEgVkCZlBxhQw35OG6xsA7al9xLlH4KAL/sxBx4qS2U0r1phDLROUU1SLlVFn8uwNrT1FTGp+Xpx5YQXMd+yj5d0jHUrATWQOaOTlK8V+7mASVl/QWuSljKb5RrColoCeoUGr5SeUyaK7kdhs2qVCEahoyYltbBNxqMABEl0glJqRXckz+9pBX5ZvRJK9tNTJmyq5aep56DeHKDjlIFS/i/ZmmsWmDlhxM4fo5bvXQAGioMt52feL54IOmehRfQ499PHNAMpGrA52JU0QJz9hSLaKu+Tmp+lj0tKEoCLwjo5YQ1nhobcTO5DWu51HXRdZ/pc0qCAy5/9HNrPFxxIJz+etBPUZfWfNZXjktN9memSLnzxC9sz11s79+f5JiVwcn7M+XELUnBpFAQ6FEcmI3sJGkumk+c88+Lk5/wvZWpSKlR0eQmUggYRLioUbYkYhxnh07UjZbr94OWnUtnZUusotUQqC608pUTUwjyYfD42SeZcbbREN3NUTo89JC9RasDkqEgxbjovBvVNZdAbxxY7R8Z5eE/ojyiTnWdloSovu+THpiT0YpWgsoo09KjpINRWV5PqG2Iy9FPk7jjy4Tgy+kBjNV9vHTZW1NaTDg+EH/5ZosfeozZbzFe/Ir3SjGrDXef50E089iLo1hqJVN9Uihsbs7OWc1+r7ex0HzOVXQGtVbyoFPrhLbz/Z/wPfyQeHgAwt6+wvz7iv4K3sea3H3t+99Dx8TDirOZX1zX/x+stcaNpHz8Sv/1n/A//TBoG9NUNth9BNXSh4f3B8/1+4DAGnFa83lZ8vXG00TDt32O6B2EOuJawmeh1y2MXeHec2A0TtdX8YltjokWHAf34gH//I/7jW7STOWdvv0YrGAPcdZ5vH3r6MfDLFy0vW8s3V1KGK+7u6N++Y7jboeuK63qD9SLaNYbEx27i2/tO8opvGr7ailOipg7VPRI+/iDR7naLbq8hG+7dFLnrPCHBy8bS2rwx+5F03M+AgjIVbEZASqE99D4ruic2leFVNLRA6jvi7o5xf8S1R9T2Bv3VCFai3HfdxPd3kk+8qQydDyTdiHE79QyPR+I4YTY1NtMrRWE98H4/5mhwxS+vc4bpNIjQ3907xruPuI1EJs3rXwGZrjp5jmOgzdESpxVq2GMOd/h334ow3fZGhIPqLTaDfSVSPUWN5MRElB+Juzvi/h7tGlKzQV29QZuGIUQeR58p0ZrKat5sHa+3G7RbVNrjiOSQI8bNfvK83ws4UCJCf/OipfeRq+ysR5+d4eMAQ58j+bJW9ZOnnwK1FTqv0eJopP0d4e4tw4d77KZGba7RX08oCmgSeBzFGD+MUkpvo23OgsqGfNnotZVjvESdtc7165MDRNwvdnuGuzuqaUBtb1G331DZl9TZqZ58nKPWg0+kpkE37Zyqk0KEXEqvGA1TjPSTGCt9ZuUUDYA4BvxRot3t0GH8ONP0xxA4DJIecN97uimKzkFe69Pk8THijiKA2GylROCmsnM6whSFepxMhbIVuq5QLiv7l2ohiA03ZRB68IGx6GqsQiEpTDD2UvkhihZAa8UJCVpSeoxeGcJ53JUxUr7S1iLK6CO77Ew5o7iuDUOIJOfkuQ0D464j9BPm5g477Glu5N6c1hgtYIT0kSyQpmfl1AIwqOjF4M/3IFEjOW6KiUbbnNaU5/QwEqce40dcveg3yHMPDJlNkSo3V43Qa7AlxSyKpnBW45xhWwvl/qoyqOMd4cffs/vnH9h/+xFlFO56Q3vcSYpDMvRBAKHDELhpC/isUMNBnO67t0yHjipG9NSTUAwh8v448ce7jsdu4vV1zbYy/PK6AuMgJgFc9kcqrYURlcEbAVbl3mqjM2NPofcPhPff0X33B8aHA9V1S2st5tVfYerXpIi8e/1ESonOS7UFYiAdHji+u6d7e4dpHC+sxX7zt2xe/PVMY598pJ8EdImzpe2FmXQcmI492mgB+l1NrDYcpsiPB2Eo7XrPdWO5ziyq2mp0t0f3uyUFaQvUV/LsVw6Y0MglMq3yc5uZjSYzbGwFtiHj/1hrUQww+exkBTATKkUat6UPcWbQFIr4dOKIMlP2Y3eAsRctlBp5RtWW1NwwZgZkVVWoUcZT+RHfD6B6YuVJGIZoOQ6SYvE4ikPdWoNpHVU0pAj98U6EIY0h1jckVTP1E3e7I797u+fHxx6rFXevNlThmk3cwuGR6YfveP+Pv2P3h/eEIXD19TUvu7/henOLfvHXPPp73h0DHw4TKHi1cbxqDC/psO9/ZPr2N/i33xGmgLvaYL/+a6zXeF9xNx24zylZWimuKs2L2nClJvThA2rYo42munoJN78gRkfXTbx/7Pjd3ZEPuwGlFC+2Nbze8KqCVy7BYUfYv0Md7yUdpW5gc0vcenR1TYqRKZdC9VG0SLQVJ1qhsSo7iKiZYi8R+UUDQecovIAD3RzFT8qQqhZC0U8SgUc5G1nLMQnQkxm3WIfTLgt8CkB3mGR9KTawMI4QQGHqUd2OeHiUMqV1jb5+BVkgtqRlzgxRLakzaIUKkzBhfUdJP4wxkrRD6XoGBvoVg8vmdc3qRKVKasp0KtQn3NOZuQCZRTL7NTlVIC0lr1Mqwsr5OzpXrMnv/xxYSx6lLKmSIOTST9k/fB6nwoBtbHm/zgKJwROVIaXIFDVDkPssIIo3CsgpRonMUi4MDQTscQqizcKvT8Ws0VlcOvtaT9y5nyk68PMFB84GLK4GdKb0XDpMcRGtep41kH7yw1Hr86vl/F9y3NwXdXrMejI96Wsxpk4+y4ZOjnIOIVFbcdSx+YUfj1n4J5FsTWyAtCEmoRp2PjGEICq0DpwxkpLre/Swk8VKaWK9JbiaiGHw4mgdvZRhu6oMphUFcet7VP9IuH8n+YRVLaJkxhEbMRb2o0ScZWHTaLQ4d48fZeEejuh6Q7p6jU+GfR/57mHg93dH7jpRpv7FtuE/vtpQeUsaPqJ//B3T9/8szrOx6FffYH854aPlgYm73guinGDjNBsVRURt9xbdP4hidtUQN684Nq/44eD57V3Ht489h0GMjF/fNEyvN0Q3Yb79J8Z/+j/pvn+H70fql9e0f/+I+TtLN9X8cTfx2/uOu24kJXjVOv7uRctGWcb+gDm8R48dSWtiPRKV4zAq7ofAMfPkrmuD3lq2MULXMd295fDDB1KIbL85Um1fkG7/it5rfth1/M/v7/n+vqdxhvGba141ll9sWjE2Hj4wvLtjOvY0LyfM7VeobJzshsC7w8h+DFxVhm2OVquxw3QPxLsf5/x45RpMuyEkiVR+zNFxgG2luTVGaL+HB7oPjzm1wWLHDqPECXocxHEuTs0vr2sxyGIgHnd07x/oPz5i25r2K3HCEuLYfTiMvH3oGYOIcU2lrvx4JNy9xd/9SOw6zM0L0utfgpKUi7vMrBC6VxIleWShD7s74u4uq5k3qKuvUGorkYjB89BNjCFy2ximbVZi9hPj/kj/4ZHQ1mxfPIpB0EgE+O4w8Paxx2jFi23FfhTxPwfEQaLjcfKE40CKQVTPg4jalahgU0nutdEKNR0JD+8ZPrxnuNsRh5H2+iCMg0RW+BaHVNaSDIIdH/HvvsX/8M+ErsPevBQjdvMSa19KfvYUBcCyJqPlogIf9/f4+49Su75p0a/+Cm1fMsXEY+d5+9CjteKqNvzVdc1fXW9wjWhExJjz8mISBz+Kk35/GHk8DISQeOs0uyEwpUSpDR/HCT+MOB9EYTmvb1MUFk6hv4rYYnaI7t/Tv72j+3iP226wL+4xeeOX6GXg7jAR28RucPjV9YhJHNqpiFhqfJT0jMdRyhJeV5JmgJHUB79/pP/wyLTvuGq3VL/4WzYvXkvusBG9gn3v2Q3irGMbYRaV8oIxijr/Snhv8pF+jMQ40U1C58VmJyRGwiAgSyyUdq2wxYkKiRADh97TeUmhqI0hpYDP1Orq+IAdDjQ5x7k2egYYfMxlCa1FNxts7bB1ha6MRNqzkzTFOBupOusApDxmKQYYeklD0IcMuvbUdkvrDJXRTDFXAeBp9E1CWAq0ndekx2Hi/W7AWcVN4xhDQixhiN7LO2Q04fGedNxT4WmdzqkFEpkTB0wAcFeiU96LfTBXOliqeUw+MvhA5wOjzwyAqkZXDg7dfDwxCDXb6DmVLxTwJAoQr0zFUrlG9CrwE0YbGqO5qi0xJl7m1ICN1ZjdA927txzf3bP7foetLZuv95DTWEJKs8M8ldxqrWiMQh+FWXT44aOASVoL8Kg0Q04F+uPHI/dHmWNfX1XCbKmMpFUNWVvBGYwXIz+mxBhkPPopsnHLNdWwI3z4nv0f3jI+HqhutlQ3V5LGpIVZ8jhMvN8PTCHxeuMlKJASsT/Sv3/g8P09utLYtsH99TvsL/uZ2XKuU2E0qMmLjkYGNLW12E2Nvn5JaG95fAz8sBv4PoPP5dk4o7ChR3cP+A/fk4YO5WpMVUu6RlqAoT5EGqMl1704e3PKYyQpJylotlmAvHyN1jhhJYRJgBmlSX6iUpqtremd4aa2jBlgk3KQcq9WK0l3GHspXxqjvCeuJtaS7rYfIkO+91prrqoWG6cc/c3VH4DomhkgnDKLBqA2Bq2gsQp9/IjevyXu7lFaY27ecPXy11w5oeOHlNh1XvZYrfj1i5Yh5hTKFPDdQPexxw8eUxu2/UCwFb665sfdwH9/d+QPD7Lv/+qm5f/x1Yarm0r2zod7jm/v8MNIfbulvXpJmDyDhw/7nm93PYdRwKhvrmtqHFV4xN6/lefnJ/TVDXz1QHf9V9w/Tvzxxwf+2x8e+PZjB0rxzYsGM7zgRbriNjTEh98Tv/tHSenzXoIkb/6K9NXfMl5/w8cucN9L2mNK0DrNde1orQj1tpWjrqocnRYHNiZFjBGjYeMc20rjpqOIgk6HuSKHchWx2hKqa1Kb6ANMJTJtBdS0cUQNh/k5KtfA9iUxKvop8PE4cteJUKfRimPr+JVquHJKNHaOD/gf/0B4eE8MHtVcYb+J6GpLQmVWoqSMGKW4qYU9tLUK5Tv08CgpSTlVUl+/kjSI+kreC5+46z1jCGhkH9G1oU5ZIytXICli0hg7i0EX/YgyQWcmQFilH8NclSrEU/FDbdXMSlC+Rw2iLaW0QcWrnJqb10cf+dj5mUV5XVm0tmySFYboeITHD6IdpDV6e4syFporQtR02b/pvNzndWNQtaVJRgCJMKDzc0pKgRWGRXLNfK9F32pO+8i52rNWxTM+6to//Dm0vzg4ENbiQn9Gm6nnnAIDsNAzLtE0yvfPj1sDCvNxl0QxfkLNyvW11n1+to+rygHn/TyvzSn56cyI2aVyLwC9h7e7gY/dyKu24uutY2Ms9HvS/Y/E+3eEacJcvxDlcLvh6B0fDiM/7gY6H6mM4qu2Im0tVVDojz8SP35H3D2QjMW8fMN0O3Kvr/luN/Dbu46HQcrTvGwM//FlCzc1290PxD/8D6Yff0/sjpjNFeabv0X90jOMlm93E9/vBx4HT60Vb7YVX28st/4R9f63+O9+IxTYZoP91X/Av/F8iC2/fXvgv/6w49uPR7RW/N1XW2J/TfVmS9x/R/in/8bhH/+J/u4Ru2m4+ts7KtMQ3Ct+GETp/P1Rcme/3lb86qZi4zz0O6a334qxULeYX0C1eUWMkYdu5A8f9twdJm5aR2M0f3Nbk0wgHB/pfnjPw2+/JwwjbddRvX6NiZ4xiHjat48d3993VEYQ3ikmoXIdd/DwFr9/FMPztRX6cLI89IsT+9XG0TjFptqgtGE69uIYTh5lNO6bR3HEU8tu8Hx/3/Pjxw5rNTet4/jVNnOcRuLhgeO7j4R+QhlNPQ0oveSPf78bOPSe19cigGcUMO6Jdz/iv/8teI9++QbT3mC3b/BRRLW+e+hzXXj45qom1Zmi2XUMdzuZx5sad3iU1IQI+yHwYT/S9RPOah4HP0dP0jQwPB7oPx5wmxF/HCRil3JE/jDwYS+OUj/JJlcbhd7tGD98T//DB/wwcuUchImkHd0Q51z3gnq/2UounvIj8eE9/v6DsBxcjX75S2x9lZ0Uz/vdwH7w3DaOzguqTgyE48C0OxKGgfbwIHn6St7lfow8HMUxuz+MHEefo6zi7MXJiyL8tGyOU8wR68FzGALTWrSxPzI9vKf/ICkJKSYaL8J+Y4jc9ZKOsBs8WlWEDCroYc/44Qd2v/se3/W0r3q2Vzfor/4G5V4y5mjE4CO10QzBQWVl7LoD3ftHlNFcba6xw57qSs013e+PQme/bS33rzb0PtLYKuetR3GCc3pRicJ1U2AaAt4HHjvHfvLimM5OlIiaxHGh7cXErAgfsoNpjRiw+rhnunvH8d2dvBtj4GroxNkhz5njxP1hFIDiWhxclMr57iNxGNDtlEWLND56AaJ2Ms+2zuT69UK/9seB4e4RpTXuqsXtPrB985/YOktbyX1MIUrlickzhMS2biTvvGxCMc6l3Up612HwTEGLYxoSqa6lIgIQQ4RhxA8TaeiXyhnkSAWZWREW2icxEoZJ6OiHg7BjfE+Vqw7IVxYaPa5G1VKS0DQdpnZQNyTjZoHWKUZxFrxaBJeSpBLEqRfWTgqkbg9+wFVXtNZQWwM+PJvbLxumIeVynl0GdO4OwpL46moS0NQ0KFMRQyJ6cVCmfUd1eICxozKN6BpoAdt8ZtPNYxIiYRhQ00QaOhFbbE5LPO4HzWEMMpbVBrW5xrU1/ljlOSr0ctFlUXNec4jCTEt5HpXSbmEKmFx1QoWBylxxXTtebKsZPLyuDY3TpOMj4+OB4aFn3IuwaphKWqBm9IluDKv0s8zMsBp1uGN495bu3R1hmLCbhjaDA32IvN+PvN0N9Hn9vO8lRYfswE7dwNQNaGeoslMTEbDzOAQeupFNbWbWT+qODB8k+t/ddWxGz/i4px77eSzvDhNvHwb6MfL1Vc3gJYpKTPjjQP8woIyi+fBAfHiPHg7U5oZNZXFG44ykXegsOkdMM2honMVdb7A3L+H6Ffug+W7f8eNumIHLr2KidUbAk+6BePeW8OF70jRI2sXta1CakNmQ+zHMzn5jZd/GT+KQhGG227CO3id2OZIr39eYylApI+Km/V72zapGpcD25heMlcFHRx9ES6M2mtZJuqHJjkccsjaQNjMjIrW33A9SNWI/SrrElTMYDVfaiW3oRXxUtRHlGlx1PWurrCPdWkGtE/p4h//2N4SPP8h4vvwFBnj18u/5qnU0zhBi4tBNvDdKdGamnCbl6hPGkNKa6rrFvvwFd6niHz/u+H/+7iO/fXugspr//MtrbhvDL68cV8aKjsf+iB8mbC2sweQaDqPs1b+779kNnhetZVtZvt441NTjP3yP/+M/MR17qttbnDbUm9fUxkKC/eDpsnN/aAyJRGM0VeyJH/7I+M//wP6796SYaN+8oDEOc/MGUmIKWbMga82QNE5l1qfVVGmCfiAqK2lnmeEUogBXvdVMlaEeH9H797D7SOx2ECN6cwU3b4hbzzQI+NlnJmtttQAy/oju7tCj6AOpaou6+Zqju+bdwfNPH4/8/r7jw17WxF+/2rB7tYHXG8L0Hn773+n+1//N4dv3BO+pX91w9R8fqPSWIV3zh4eB//XxyF3vcUbzzVXNf3i1obp22I/vSN/9E/HDdyKCurnBfv0r9K803t3w2Hm+fRx5dxzpvWg+3DaGv77d0GhJpYhHqUBSmAep2pCUpY9KSjvndIlKK5JR2DDB1DOLbhpLqi2jTzODNiV5/4NVbHWUdKfdHeHuHanboWyFun2FihCra7ox8m4/8of7bgb3v9pUGDZcm0QYj6S7H/Hf/oZ4eERZ8W3MrxSxeUE3JX7cDXz32PM4eLRSfLWt+OubhlY7WjrU/g7/8JZ0PAi4cP0SriHaDX1yuYRuzOLXUvJWp1zpp/hxqqSY5a3vQrD75wAQ/MXBgQ8fPvxFzlOQlRkkyD+Lcuii+5lWeSuL6vvidJ8epyj/yokXhz3/Ml+fk0/WPVu+c6mfT6+16ud8LTWXVjsX6dOsy6Ekinjd3IMCDijN4wj/79/f88Njz69uG/7LV1eYW0f9/vf4f/5vTN//Hj95qlevcX/znwm/MvwYG/7h3ZHf3B156Ca2leGvX7TErzboNmG//x3Tb/6rOE11jf3m71B/YzlsNN99PPJPP+74/QdRi/77N1uudeS1i+j7d4y/+0cef/N7MdputtyEiL35mr3r+f6+4x8/HHi7H7mqDd2Llq3Zcq08aneHf/st/YdH7KamtRX69huUazlOge/vO/74/oDKKPvfv9rIWPuBcPeO3R9/pHu/o77ZUN9uqZJE7fa7gT889Hz32M+0vjdbByaJQvq77/CPd5i2RVUN6voXON0wxcTdYeL7h57HzvP1bSNCQo0m9Uf6u0cObx/xQ0BXljQcSUozhsSH48i3H498f9+zqS1f39RAojEKc7xn+uEPhP0dqm5x9YZ0/QumaPjYTfzxoWM/BHY3Nde14fXLa6q6BSAMI9Ouk3SL4w6T1dKPo+fuONHvR2yluTuMs2pvGnrGxz3j/ZEwjFS3V7IZG4kcvT8ukXytFf42zY6lf/ct3R++E4d7GjAvf4F9/XfETBP//r6TUlVa8evblr+52WByrvO064je465a2v19jn4JCt71E2PvuT9MHEZxEAHwnjhMjEcpjeUHKXMmwnKRh042f200IUJlNZXRpP0944cPwqyIkep2i4sBXM3jbuTHw8Bv34nAlbOav/e5Fnt/JDzecfjhI0prSWMYDlgZbh47iXxVRvP1TU3vE6kVBzhMnunQoQYzG8Ul2jWFiJ8CKck5Oi/3oLQhhiQAgV+UjJMyczm8wyD0+SL26LRCTd2sVTDtOsnTjRIBH4KwOL5/HDgOArj4IAJ86bhn+PCe4/cf8V1PCon2l3eYKOfvvEQk+kkqFvyVb2AjwoIFjALECT48UH0tjlSIkePg8VPg/c7x0IsTnIwDrSTa3Y+ETkQN185sSonopWzf5OMJoJpCOhmX8v0pR/XEEFO5lJxCjQfGhwf69w/0Dz3K6LlU3RQSx8zE+LAfiFmcMMQk2RN+InYdvhswm0EqAyA06n0WRQO4aa3oM1zVKG3ww8S060gx0r+9o717h+p3XFU1jdMZCJQ0gdFnMOKEnp4k+plTLkAcsD4bpru+MA7crFVASMQggFQaOpwGq6XqgNFqpjKm9WCWXPlhEpCt71B+xKh2dhoGHxfqvalQtZQltO1ewDJjZa5HiUBOPjL5gMusBaWYqzikSZxLG6MAvH7ANUoIEGtm/SWzZy3CiETg+8mz68VAe8yRnDHCJlP1U4jyDuYxUWHE6DanFSimVUrrMr9kPADscYeaOmzeT7RWTD5xYJorTaTNFn39EnvVYvdHlLPzSbWSZ+CyhslJpHtm9QXS5JmOPaY7oIcjTXPNVW24ySyIq9rQWiNG85QZRWMOFGiFcRZcDa6mD+M8r0JKOCtChq1VhN0d3bt7jj8+EqZAdbOVNTdFfNDsuonhONF3E642dGMQUDZF0tgTst6Hqd3MpCkRw4duZNd5btsw021TEI2Q/qGnvx/Q1siziIUpFEVgdTfQT4H3L1tZP1eOZXkW064jdnvMNOCc6FRcNVYqK1h534vQG4B2FtvW1Dcb9O0r4uYlj4Mwy949yn69rQ3OKK6cFRbewx3Thx8YP8geUZsKkytX9Flg85DBSpdTroxWqLEXjSHfg8kAkak49iJYux+FAXBVC1ur0hZSInYH4v4etMHcDmhlePHiV4wx8bJ27LXkQjdGyuyRK/zEXKYTbdDNBl9fsffwsfP84aHnMInQ7ZttReMUV01O5RqOxONecsdtg9mMOG0yMJvmAJTRStLU9veEt3/k8TffErynffWBrVI0m5d8tbni9baS1MuUOAwC9OyHSHq5FcBs0+C2FqUV9YuW6tULwvYl746ef3i75//+3T2PH46YzNL7T19tGXySFDLv8cNEGEZhmdmK5Fr2U+Dbx57/9XbPfvD84qbhzaYiphrlB/yH73n83Q+MD3uq23turcW9/BXb9lc0WdhTprRQymsjwJk+fiD8+Ed2v/uB/bfvUUZLv9/sIIMmPkppWB8izhlhUTrRXlLHO2F1aIWqtmyaG8YQco666Flpleb0FxU9oduRDo+SGqY15srP9P5jZvrKehhpjKJB0oDi43tS3wmgoDTqRcs0jdztO37zwz1//CgMpvvdhpqX/LKFzbAn/PAH3v/333L/v34kxcjVX71EX7eEv37k3u74X28P/J/fPfLHj0daZ/hPv7hiyy03qcZ89zuG//r/4uG33+MPHfXtltv//Hc0umFSN3z/MPFff3jkt++P7PqJm7bi1y9rVH+Dvq1QasDs36G6R1n/qpbQ3hK3r9lNUsnHZ2C/MYrrWmPHI3p4zJVDtIhYth2HoHnIDNopRRpjuKkNrxuNvfuR+N0/4r/7LcP9I0pp6q/f4P7uvxBCxY+d4b/9uOP/++0D398LEP43X23pf32LfbNlOn5H+J//H3b//X/Qv39AO8PVX/+CzRCIcct3Y8X/9cOO//rdw5w2+X/84orhm2vM6w0x3KO+/wcBF3Jwz7z+BvtX/xE/aB5Vx13v2eWUvY0TIevrytCoMAuhliopafFCTwQp5/2Kn96urq7+hKMut784OODPjLs/tV2KqgOzUuiiHLm6Xi5TFdJSjqLYBkVltCiKPqmbuSr3t3b2T1CdC9T+8Il+ztH/cq01OKCk5q/QaHI/VzOlKMbP97hmZGg13+txSPyP7+75h+93/Je/uuF1bfjlRqF3dxx/90/c/+O3+GFk+809t+016qv/QB8t3z12/F+/v+PDfuTFxlEZxX940cA0Ee7e0v1RFIG1M7xAUX/zt5itRP/+eNfx23cHqZCgFH/7oiWmFsae4cMHdv/8A/1Dz/brG7bfvMIlQdPeHkb+5497/vix46a11Nbw9y9bcBB3d+y/e8/hu/fYtsbUjvbX/wlXvZGc2sPE4UEM9reN4zDmXMRpmCmKx/dH4iTRPZSmC4kfdgP/+G7H798f2daWbWUYw0bohA/vOf7hW45v73CbmlvX4N78DU3zK4xSHAbPcJyYBqFR70fZyEgJ3w2Mu5Gpm5heNVKOSxs6vwiv3e0GrjYVU4gSnep34nD/8Xf07x+obq7Q1y9RX/89MTV87CZ+++7A+93I/aHhunZ8vXG82dxIWawxMO4HTH0kHh6xfkRVud7vFBgHT4g652nmFJWhY3w4SJ77JPXW0YZkKg594O1+4Nu7jtFHtrWdy76p4wP999/y8JvvZBP3gZdvfoBfdYDhsfO8exwYJqFv/v2rDZ1vqKsaYsR3PdNxwl3JJqnDgDUiHuWnyNB7bDWxH4JUklCKFEKOqntCkc/XOjuyxSGNWAQ8q42mSiPh7ke6Hz5w+OEO4zThKMwIj+ZjN/H790d+8+4gNPHWsX9TgBNJDTh+/xGA6rrFHR9xrzMrZxSWg1GKt4/CeOFGnMTopTSd1opp3xG7A1V2gn1MEt3MQmVrEU6QSHCJrqMNGDNHBftJDJSY5N1yWkmt9ccD48OB6ThRvwwoa4mraMu3H4/0U6Bxlu51FgScBsaHA92HHcNuQjsrJeCSUK0fegHdHnL1iL+6afib2y21NiTvGR8PxMlL3vP9e8zUUZmc0x0ifgzses9hytHurB0Q+lGiurueuttRqUjrDFe1fb4mckySj///o+4/mytJsjRN8FFq9DIwh4cHySja3UNWdv7/n1jZ3u2e6arKyswgHs4AXGpMVefDUTPAIzyreldKurJNBBFwd1zca2aqanre8xJYuoPzWjxH/c3H7LSdLvm6HGUuFqtBGAt5XT0NgYfTwMN5zP4B2Yc6hhwReGE899jqKBp0xKdgf5n4cBgYQ6QpDE/dyKRKvLWkEBnPo3S92gObxw/Y4UhpS2o3F+vZXyVEGdvassTnZXf+FONCZxejPzm/p8sgjApVUhT1YhCYUiRM00KHL42kDmilFgfpl0cKgTgFoeD3o7wuhsV5O2Q2Rp89OYaQsLYUNpNzYK0wF5QYVc7P1BBZ5B3zMzENPfFyIZx7iBHXXUTWNp9f7t7PAE9IYBcvg3xfw7QUf5ANsPI9P/UiCwsxgfMCmICAJlOAaZBuvn1+XocYs6TguQmQpmfGjt8eoT/jX6QpjCEyBtj3UghNq5JqtcOtW4a9gItKiS/HDHg5q3FGz3YGy3tJ5I1cexOSOPNPHaXTtE7MRmNMFPY5SlFpg3YWV1tc7fCrAt9W6HrFoCzn4Uw3yPqgtMIbARYYpKPWP+y5fLqQYmI8i8xDMXtFRMIUCGNkGqWAN0qJOVsncZnj4YItnEhtkH3JcZh4OI08nkaawnAcJsaYZI2IkTAmpi4w9bJ259vCaQx8OPRcDv3y/Nz3E6mu0fVKZCtaE8Y8H8YRFUcpsK2YWPaToS7cswxmZg1YS6pL/LoRc916x+PHjnengQ8ZjFhXllUhwIDtD4T3P9L/8jOX949oa/DbtZhgupJLJzGkT53Mj1Uuor2KYmB42YtnS7VCJZGIdVPk/XngqZNzvg4ebzTrukClSDgfiE+fhAE19lhfkIqaxq3pimyVpsEvQOcgRfuQdedak6wnFS37sxTN//xwZn+ZFobSTW1JlTDZ4vlI2j+QLkeRxzVXOL3GKCU0+CiJPSFKsyleDpzefuTpD7/QP3VUu09ob1jdvuH69f+Du8azrhwf9z3jGDhcRjHoNSv85orqekO1e2CqAuXVGnN1T2yu+fHnnv/y4xOf3h44vH+Pq1ZUteexGxdWRhwzMJBlcKqoSEXD46fAHx4u/J9vD9JgmCLfX9fyM1PP9PiJwz//zOnDhaJ9xFUFm29/oV1/zbawrCuHzXO5zfd+5TXmwwPnX37m+OMHju9O2MJQ3gjDBeOy4aaYGU4xYbWmtIp1YdD7n9GHD8K8Mh61viYpgzMVcRAwOWX2wBA0ZV4flkQGQBe1/J12dNkg8tNlzPfQS0wywCBpHHH/QCxrLGCrDYWp8rNhZP/UCaACfH/XZOZKJJ72nN5+Yv+nPSQwzjAczxSIl9XbQ89/+XHP+09nrBOvoL+7boCCeHri8MN7Pv3XH+mfeuqbGltX2N89MU6BD8eOf/5w5P/7wxPnfuKq9bR+y7AZUEETLh+IH/5EePyQwbAbEo5QbDl1gX0fFrlO8BqvLPRn9GmPzukxcRoJOHoKjheJTz0NgdKJbNErRzsFwuNHjn96uzSCVsczTb1BXf2Oc1/yy/7Mf/3hkU8fT2itOJw7vmotf7dxhMuB859+z/v//I/sfzhgSsv1ucPc3aNe/0f2l8Q/vtvz//r9R077DmsNMUzcN46/XjvC5Ynw4x84/sPv6Z+OuFVNmxTp6jXTBvZdz8/7gadO7u1V5TDJUSvLNJ3Rw1EeD7aQNc/4hT2geJa3LY8R/n2Pv1zPgX/hWFCWOEmkRD7SF5wv/yUmo/xQ/CIw8FIq8Bs65IvXaPV5PvLL91y+z8DA/FkXyOKlhCFTv+DZATQ3uZ7PcQEn7PL5xpj4h1+OvH17oPSa//V+Ja+9nDj9+IHHf/qF8SQd2fa7X3BhYIhCn/nhw4nTU8+x9bzeVQxfRVQKxId37P/wlv0fP2KcwVYl/m8e0NfifPzuqWOfNyE/FpZD7kKkXKgffj5yyQjneLpQJnGf/fnQ8X++PXD4dOGhdlyvPP/7/UrAgfOB88+fePiHj7jG4tuK4m/fUd78vWgY5+I3RI7ngcuUC6ChZzhduHzq6J56TCGaZ+1LzmPkx0PPf/nxwNPDmaKS9xy+Wst5Hh7Y/+kXDn/6hC0suvBc/e4Xqq/fYI1iDImhm1AaHjI9POk6R8xEpn4iDJEUEso5kvVyffY9H586utPc5ZZsad09Mb79Zx7+2w90H46UNy3V6zvs2BM0fDwN/PP7E8fHjv2pZ9t4/u665qraiCM+MPUTw+kiC/94wVXiCi7D45lDq7PeKXVnxtOZIXdCU0jSEfQVnz6c+OHTmYeHCykl9q0XvbpRhKePnH56z8M/fmDqZQO0/utfsFMHNJz6kcOhZ+gmftSKD+dB3NIzFXrqAv1hxD+diKc9ZrzgdL18Tun8SfEcUlqKpxg/XxKVdQvVuBtlg6uNwlkjkX39ifDwntPbT5zfn7GVYbzIuYo/xsgfP545fLqgNPzc+mXsxO7M5eMTx7ePABS7lvrpI/47ee9jPzF0EykmPhx6Dv3EpOolsioOkXEMDPujMDmSxNjNVOM5Aii+MNhJMX62YChtSNouXcF+DEIjJ2vrjSJdjgzHC+N5JIyziZvEcB32gR8fL/z48UwIkbqwnIYgBdg0MJ7OdI89/XGguiqlM68tfYi8P/f84cOFw1m62N/tsjzAFcQhMJ4HhmOPbR/ZPLzHjGdav1o6xyGblc1Mh3nRCv3IeLww7I+SrtAfWRWeVeXwpSWlhF2KWwAxp0sxLgABCENq1nKHlD5bH41SpLEnZKZJnAIxJikcjRPjxH7k8SwslbMzi/miCgPxfKB/OAg4UHh8J3TOmBKnfly8EX7ZWz5dJH6scCXKSEEzHEaG/ZnpuMcNF3yjsfpZgz5mYCC+GNspJsJcrI/dM1CNFGJDeDYzHEOi9AW68MyB6XGcxIF+Gqmco3Ka0msY+Kw4VYnlWsYhyDVNz8y1kMS/YTbR68LMcDA5gs1+lnH962M+R5WTbdLQC6PiMq8xz7FYklAjm29r1OJd4JdrEoV634nT9lysm6X+T5lVIcaUGI8uCtTLEw6fA/0hyvnFZe7lDnmOJYzDyHg84y4nKdhnn4IoAN3DSQqh8+gpigZTb3DtnjRKR1cluSWFFSaNs8/X43nwBuI4SnzlOIn7/Avfh8pqzrO8I4nDdlGvKHct1VVNipFyU1LebNCrXe5uR079RAwRoyWZwWfNcDjuBQTOsoHYCztl/kT9FAnTMyPB5Wushgshry/DSVhJKUudpginQRhe+1PPh8JwGMSPQRW1eFPMGK4hp05IwlA3BvbdRHcZsWPkw7HnsRtJfoOuWlxT4RqLHgQQUc4t+yGjZH2vXKLyRlIotPgoEQPaG7yvMOsdqt1yGkXK93DqF5Ct8oZN6aQ4PH1gfP8Tl7cf6fcninUj49uXTKbkMHR8OI88daN4r9Q55q0/obsD48e3ECa5LtWWlESG8OE88uHUC9AWE7vSMmHF92nsCccnpksv5qVVi663VNst3mgqxxLHOnsbpGkU1kCeO0kbJmU5jT3vTwN//Hjm4TRQF5a6MHw/leKnEQYxSd5/BK1RRY3a3GObtaxFMWbDYb14YhAj4+HM6e2J07sTp/cXbPUnqq//ger2r3nVFFy3BT98ujAMEr157AOnIVKubyiv15TXG+I0Ud1sMNsbjjg+ng58eOw4PzxyeXhLDCNDt5G5i5ynsAbGZa1XvmTUnvfnJ37//sjh04VpCmijOY3yLCNOdA9Hjr+c2f+wx6885c0vtB9+pPjmf2VTilRnVcseZtt4dpWncZrw9IHL+0cuD2eGQ49xJcZaVLMmliv2g4yfOX54NlK1lwfUhz8y/vwH4uWALmrM6wHta0wt3kvnLEECR+Ui60KSsiQid8p+I5k67wrOp8C748CHLDsMSXy7sJrUi3fS5e1HlNbUMWDXt7Tr39FkA8JpCozdxKkYeDiN+bpq4jgynkYujz3ERHVTQ4wk47iMkR8eLrx9d2D/6UJRWn5YFUuyQ+rOXH55YP/Dge6pJ4yB9fd71kNPSHDoR35+vPD41BGmwN4I+C7xq6APHxh//CfC/gGV5XB6+4oxwjnPzeMw0XpJfUopQRhR/Ynp6QMA9gpiuQZTcBkjH88jD92YE25g5Q1NTsUZj2dOPz9KGo/WVG/eY8cLULK/TOz3HfuPF5EgestjN8oYCiOXD3ue/vjE0x8PKKspWs/NaY/J7NS3jxcOny4cHi4UtePTrhJ/EK3Q/YHu41uOP71n2J8p+5Hm/hplDJP2nMaBt8eep06MdAurSUjjVZ+PqP704iHqSMZ/lsrw69rx3/v4nw4cWBbT2eXyZTGhZnQ5b86X/0BSOSd1Pn7NHIDPgIGXzIEZIPiMPfCiu/VrrUjiV++Vfz69/KW/et1nP5oy/XKO2PiSvaJ61jq+/3Tm6cOJdyu/xOTE84Hz+0ee/rhnOIlO/fpxjwvSZ3q/79g/XDg/9YQp8O6pYwpAGAn7Bw4/PPDpHx5xpaW8esfm8QP+ezF6ejqPnI89YYyUrc9d/FyoHy9cPl24PHT4xhK6UXSPU5QF5v2J/cczVeP58Ur08tSQLidO7/Y8/XDAOE21e8fu0zuqHIcFMI3S+Rj7Z0OmFAamc0d/GOgPI9UuoLUmupLjEPjnD0c+vjtyeuwoG8+7m55+SqIb3z9w/FHO05aGYlOx+fSW+nv9/J5TgJh4PI+cRukaFPa5e6WMwjiNciXJNzw8Tvyy77gcBoZ+oqiddCGsQu8fOPzhZx7+r/ecP55pjwPbv3rPaupIPvFw6jk+djx9ONGdBv5xU/LT1xv+6n6FKmswijAkxpMUX6k74zZKuk+ZKkemuIoRSiT1Z6Zzz3iaFs2zsp4+aZ66wLt9zyUDB4duWjKz0+mJyy+P7H88MJ5HbGG5+fSIG3ugoRsil9NAdxowVvHzU8d5jBIjmTtCc3E57I/4scN7RekMSitinItn0WehtSRN5M+ojcJYC9YRklD+LmMgTElYtkbuke6PnB8eOH84cv54ptwUollXRhIOzgMPDxeOjx3aKh7PI93MOe7P9A8Hjr+cSSFR3zySjk8wSeE2TpGhG5nGyKfjwGM/0U8R77O3wigdsylHnDH2FEY6iUqrz4oFWZokQi2l+Nwx1TpvxLMpXYjPnVkt7KM09EwXMX+KASmMygqKhvfnJ374dOb42BFi5H0ta8DcMY1DEBCrl+x6pTXJWM6jzMePn85cMjjwy+sV56ll6/JD+DzQPfa46sjw9ETTH/FuTeVNBsggZn3gIqsK4hXRP13QxYH100dct6f1r7hpPU3lCLkjX+aOoIqBFJ6NxvIAEF1ekK5nN8Rnh3zmDXUgDqMAXkjRqjNI108iCzqdB4Zu5FLa/DolXhOnPZeHA9NR9PXNab/EmnZDZOgmxj7wwZslJnBb1jImyUVtN0mOfRgw6tnBOSYx7pvN8Oa1eo7Ei91I6i4QhkXvHmIiTuJVcJmkk48rsIXDOMs0BXl+jD0qjhgtumBvNNEmnJV59S+i4UpL/nI2mhsmKbinGBdzQfmgUaKfYswUerWAGHNN/lzUhOz+P8n5WSPjHJHKzbGQp0EiEMWcMy2mkGEMxG4UfW53pLSatbesKk/pDKe8gR2jpNwk47LBo8ndZ5Xd6uZzE2Dm+dye2YNME6HvCd3IdLxkg8cBo8tF9jIGKcCP/bPvAHWLLRwzRzHliEendY5sFCNK8ytWjHTEpZiPlwupP6PCIFKG2VAyRo4Z+GzKLe7mnubNA7pw+FVFcX1NqtZ0U8ppG7I+eJXXeKWksAwjYYykcX4ufr63sVotVgjWatrCCOX6JADX8HRiPI1M60FMFxGmx7EPHM4D/WXk43HgsRs5T5FrX4mfTOWxpcgKbOHBGMaUOI+BoRNwNVph/h0GSX5pmw3FpqXYlMQh4tcNumpJ1i9GkkYpSq8zkCISAWIu0LXGOIOqV0RXc5nkc557uT6VM6wqx3XtWRcGfnonfgwf9oR+wDViNBmLlkMvxdovhywfXBdLqpHujkwffyZ+fCtFnlKY3WuAnGYzLtGsIL47rxpLoRSMGSA9SpPEZF8aQ/wMyPtsZxcjTIMkIOW1MGSJxqfzyC9PPYfzQFdJtGs/5TSbSYx1L+8epKisWtxwxK7UAq59PA3ElHi4eN6saoq6RXvH1E+cHzr0U8/T1QO7n/5E+x8+sa2+4nolc3AYROp26CXCdleuMNsbyptHQj9S7NaoeiXst0nAvjA9r+fCcsksuF4kLDPrDkBZSz9JOtCHfc9p38nesnKyJyGJd8q54/LpwuGxo+oD3Ycjcf+A6U+0fsWmsqwrWVd2tWNXWlR/Ih4exB9oTNJYqD3l3Q57+4ZzseX9hws/7nv23ciu8lijqJ3GfPrI8Kf/xvH3f2Q8nCl3axpfyBioZX48diIbnEKkLTRT6TGzhCyILHL2FZrQHIeBX04DPz11y3P+q7aA0glb73HP8af3AurGyGp3x/rqWxnLlcMYMVmeBmFzXKZIKuao3AgxLc2FmX1yGiO/7DsOjx3Hjx8Zmg0Ph57TKOu+GnOD7aHjeB5xpVlYHSEmDkPg03GgP48LQN94Q+s1+vie6ad/4vyHP4m8crfCbG4A2bM9dpKGNUe9rgpDTBY1jZKI9FE8LyZAlWtMs6ILkYdu5PfvTiLZUvCqKbip12LQGSLjZWA4DNjySRKchjPOXwlQ1wf6k8ieu2MhEcgpQZgYT2dO7y/8choojWL3lNk6CDj/cBo4H3v64x5YcxmDeBwZtUhQTz8/MvUTdpb0GM9piPyU/Qo+Hjp2TcGudNkstEN3B9LxEWUtKCXeHfMakBIh/+lf9OX5H3z8RYMDilycI9qnebO9FOkxfVak/3cff8aIcAYGwosNRUr8xjn35evVn3nfNJsPfOm9owaV2QT8d3xupYEvGD0qzRgnzvuO4/ufON80nF4UPt2nE4/vzpxCpPxwZng60aZAF2USXA4Dp0/vSOmW/WVijBLZ0z8cOfx85P2nC04pVr/siYcHDEJ3HodAdxwIY0d3LKUYiYkUxSSqe+o5nkeq00QYJ1LW9f382HF67Dj+8kem7S0fnlpxWFea0Pd0Dxfe7zvR8P1wYHp4h+1PYtijFTEkQojEGF8g0YnQD0vxk2JEO4mOeeoCP3y6sP945vzxZ6bdPR+PA0OQ8xz2Jw4/nfjp0wWvFfUfHnn98WdMf1oi4cIYpUPaicvzGCKFlagv44zo25xFFxXJlRz6C+/3PZfzQBgjMbt7l0YTHt5x/NM7Hv75iYfTwO0QuXx4Yj114OHUB075Xg7tlrcfat4fByazwpY12mjiGBjPSFf2IpvpymoKZzBOY62hdNJtYexJnYADUz8t+j+sZQyRx27k6dBzPgyC0l+E+qdSJJ5PnD+e+PTUcQ6J6uOZ/ulEm3OGT/3E2E10xw7rDB8OvcSNvYj+ms4T/WFkOFxQM8vBSuGsdZb95K5wyjtXpTXaCeVUl4KujlmPLxRUue+FlRhM1Yls4vKpE+q8lVgaZS1jkgLxch64PD1iiobTeWBmqKdBitjLp440RS6fzpIRnovEMUTGQQCA43lYovBU1p7GKSwFYuwvmDDgbYWzCmMUcVLZsFE9F1JZUvCSIZGyIWHM12NmGRgl+sU0SkGzaJGNQvmScxBjyPePHad9TwyR43pYIo/m+xDGSBiiZK5rTbIlTycxsTw8XLicBpRS/Px4Eb278SijCGNiOA50Tz3D/kQ7nHClonQZ/JgN4F8CtNNE6AWoM+WZ4XFP0R+py9esCsu2douExRsprlTeRMXwDJrMTvkpQTeKEd4U5P8vZRpLnJnW0oEsapKruHQS+Tb2E+MQiNMzG0ONF6Fgv9vnz7knHveY0ON0SUxJpC+XEX+2fDgOokF3Fbp0SzxdDElYQ9l0USu1ROiNOU4pztv/GPJ4GRkvHam/wNjjrcfNa02WocxReskWEknlLCpTFefoRaOUdCC9GIeZFwX8Z4dRAiYZ2ZSEKF3kcRLQZe6uL7cwpbyhjdJ5zs78M0Cg9Tym8+MtRumqhvQZ6JW0WXwtDv3Ew6knxsShHxlDIcZ02ogm/9Jh9kfs4QEznFgVjl3taLIBnizzeZ3QTrSepSf0IpWZIxdjmr0RxFzsMgTGrIF/Bmjme9BDf5Z1SVfY2ZRwkmLqMgp4givQZS1shfxsTdMIcRJpkxUGzLKowGd7kRgEDBRpRy+JBSqDb0GM0J66icMQ2dU7zKuvWT1+wFUFpi7Qu1ti0dJnCcgsrzHZJ0HNssX5mAsuo1H6uUVhtMJaQ/LQVI51ISa7dEe6h+MizamuRvFKUOJYf+qFedOfR4w1fDzIXIiuxq9bkT4cB1zj0KUD45kyyyNF8ReJSuZuP4m8cFW3FLuWctcSh0B5s0GtdkRX0w/iRyKfWecuu8YSYeiemXHWolxB8hVDkJSJfpL0mtJpblrPVWWx3SPh41vOvzzQ788oo9DeSde42vHYBX489Pzx45l+igvw6bKJ4fD+Jy4/vyPFSK0M9qsLSkkaw8N55N2+Y5jEG+FpVzOEQjTF+Z5Plw7tLOXQPzN3ooALIQmjcJrHZwqkaSINfY7alCSbGWw8DQK2AEvEo1EQLweGxz3ndw9iVrwqcf0Zq+W1j93E+33H4TKwKR1frwterW8p1jW2EGO0boxcPl3oPu5ZnR6o669Ze0tTGA5nJUZxucBLpXhx+HXDdJTkh2fWh1DabVHjqhW+3lA2jqvaUzlNPDzQPx0ZDn2WsERQJsfxBvqzeGPEaaDvSvHGiM9zKU6BLiZ0NzFeBrlOGXAr7HPa0rqUjq2axCg1xYg24Fee+m5D+foNYfeG9+eRf/x05h/eHRimhLuT8yiMIj78wuVPP7H/p58YDj3jq4uAClMPCfa9xBY/dhNdadmWjuvK4o0TcDtG4jhiYlie8Yc+8Muh548fTtk3RPPttiJsajQwHC6cf9nTHwdhZdztcF//Pa+aV7zalPyXPD7nZ8VljKSmXJJmlBX2mvFKrq8tOZ+kuO+OA8PxSdaefpPli2BCJA7ChB2TSCKV0Shf0E3COjldRsIUQEuDZ1M6NoVBv/2Z0x/+iad/+onp0hFDpPr6TFJieP3u1PPHhwunfuT1tuKmdmJOGHpJYHovceBFDPjr19iV1HoPp3GRuwLcNp7XqzXNeocpPTHAcBjp6p7+4UDbHfG1WiQ3KYzEGAhToBun5fkW837uHGaJSxBJcDZu7ca8X8p7QJ8NKQsViA+/0H18kv1ibvJgLbFoOAyBn/cd//TuyOEyEqIwMa2RVKV0+Eh4eI9yBdZ6YiHrQUpi7qtJpGzc/JcCEPxFgwMvj98AA7/u4IPQA+ZvX8gNQLgEz6wDvgwQ8Fv9f1RC01R8gQ2Q319njesX/3n+zL/5rF9+/98cvwYfXpgRguzluvNEf/hEf3nuiqahp3vs+TRG9mPk5qGTiKMkm9ZTH+iOR4bDJ6wvOXbXmXoTGE4Xzh8uvO0CXivuP1xIl5NEpiDdntCfGPszQ7/lMgS5ZrMRWT9xCpGrfpLNotKSNX8eOT9+pHt6D0B/ucs6YCv04MPIpxzld/9woX844qaOwvoFoEkxfU49z1ngIesoldbowksB1I18fOq4PL7j8vAWZQxddyX04hSF5fDQ8UsfcErx6t2J4XFPPXV4WyzvN+s0JSqMHG9l0M5gYkQXDsqKoD2H4cilGxm7iTDF3IUQ46q0f+Dw84GfDz3v+4B76Og+7UmXM6pWXAbptvSHT8Sx43y84uEy0E8Ra547bUJrvhBPe3ymqTaFwXmDyQVDYTQqjoReXIFDFz5jDgxB3PjlYXxCG8c4tMvGLI0d42niaUycpkj/NDBduqyHFFR46CaG0yN94bO5YIDaZS1pYuwm7FmYHanv8Fo+q8lmHL/Rn2stDyWj0F7AF4xb6L7TGAlzjJVW0qkde8bTWYCIbsL3Uqigxfl8n424hvMBM41Mw2a5/2noGc4T59PAkBLbJ9FO2xQA8QGY+ucO2HmQ2CtlxYgphtz5HCdx5g8DpWkonUUbjbbituu0xLelSQCsOE5Lt3t2NU9RNoDxxUKiZybUNBBGea12EjGnfCnnN0x054HL4QAx0J9rAVJiQmUa3tJZN0rkL8az73OX5ulM9/Qe677ml33uJuSxH4fA1AkDZDycSZczfitA19z5/MxnJSXiOMom4zzQPykBlE5PlNdizLOuHN0YaArxHJGIItlEzYuoUlqiA5VZorj6MTDlgm/KgJLyBcpZbPansHUhIJ31HEehwg59IE5CLZ8L6HQ+0j8cOH84MxxGXG2Z9g/Y8YLPbpQhA0PdRdIOhpBIrpSirbTPuvcXR8wykpBSlhXEZzlJyn4avcyj1J3RYcCb4rPothDFq2CMuRB2Bdqal/oDZkM8kZ1IcTr7D4A8BrVzaG+weKHQWolgW5IHQlwME5/Bqwn6jvEsOlCTvQPmyLUZxPjS8dwlzEWptlkOJOv+x8PAOCW+2pTi1D3Lj7IERWlN+fgR3e9p/C2b0rFrpJO8yFgiYAzKF9jCE4pBmBzGItncEss4x/11o5g7TpGFqQAQM4Mgdmd0GLGFrCWfxTvGF/fA2ud5GoYlltBqv7AHgn6OTxT3bfccXxkEcEkxLPcuJlnThhBYlZbHbuK2Lml3r7H3n6iKXyRub3tDsCVTn5akAJMZN/OQSEqjjMPVHt/I2LR1gfIFGANE8UXIoN62dpKQYBXxtGc8nOkPMm/jOC0GkRKzmZimwDAEXKaXn4dIamt0s8GvG4pDj28qKUYyIGGUdIy1VQurbfaASrbA1C3l9YYUE/XtFrO7YypXXM7dYuDqciqJ1Ur02P2ZNHbL51O+IGrLNPGcMuAMu8ZzVXtW3qDPDwwP7+gfjoznAb8qZA5vbzjbmh8PR/7x3ZE/fDjjrebVWnxxKqOIh090b99y+OEXOafS4c4HUfnEyOEifiZhDHwojICySTb5ct9FcriwOLRlSJrLOIl+P0SMKlj7F9KjaRBz47MkTolfy7NU7eWhlYIwkM4nuo97uo9S+BW7FeVpnz+nMBJnhoOzhm/WJTfb11Rff01z/w/UPx44HwbSGCUi9LSn/CqzNjI7J6Y8r0IkuRJdN7i6JPaDsCqmkdIqdpXjZluyv15jfEGzLnlz0/C6LfDDgZjvxXAYM3j0HL8rcqdIGLsFSBfjvwRG2JFaa1wGb2whEqik7dI08FZAs8LKnktNgzB9tMa3BbawrL65w337dxyqG/7bD3v+3z8+8Q/vjnij2TZetuZTR3z6wPGn9zz94ZExewSMWcc/ZCPgHx87Ph57Tm3BrhLgZZ0bJPIsHLFDL3GYSTy7Ph563j5cCCHijeZvbxq6STxt4hS4fLpwencidBPN/Y9c/80f2X33FfergnVbcMlJOpchcB4mKFp0u6bcNcKcnAK+LdBVlSWLstbHaVgYer+uj0D2VE4pXO1wbYWqV3Qh8XQZmaZIjOC94WbledV42tQz/ekfePqHH3j4xywPaOX5mVwhBfOx5/fvjpx6kf19s5bIPzX1Il398f2zSeyrdxR3f4dSinMvjauhG/k/U+Lrq4q/v2lYbe6EneAkRnI6D5JUdHigvtNsS4svLdqVkoYAueEihtAqr4M+r59K5z2RMkxB0sYAjHXYwnDdeq4qh7o8MT285/LhQH8YMF6jrMGsdsR6xy8fRn7/8cSf3p+YJonaDinhlEJ3e8LHt4SPb1FVg6obVLUVhjqznFwo6kb/5QAEf7HgwEzn//XffVbcf8EgUBDY/OcvFOy/kQbMRXb+moGBuWOh+RVV88+872feA+kZVDCKzzwNnl8vxiVa61wkpd983s/+qJUwDl6MmoTo1sZhYrrshXY/b0anifEysh8j5xC59KLLJecX92Ng6k6MnRT50uGQKxD6nr6bOEwBp5UY7507TL4hKSWmoSP0HVPehM3UcIkdS0xJuu4po+JTTIz9xNSdmS57Rl8y9EGKUaXF6KsTUAGgP0iHTY093ojD9q+LSa3UQmF9vhVKOvrGcxpH+svIeHxkPD0S2q2gglk3kkYpKA9jPs+zuF9LVJVsEkKQjmaYhDUQk3SOjbVSxFqDcRblS3F3nuPahpEYRlJaY/JGPl6O9E8dn4bAx35i6wzDoROzIyX3Mgw9UyfapKkPucNAdrqPTJ3IHMJZWAEmDpTOUBcWaw06mzl5q/MmdiIOwraYH6DKWiLycJmGiak7oa0jTLtlkwVS+HYh0kVx34+D0GlDEsr9NAbC0DP2A90YhDmg7dJZTVHMqsKssc4mXsYZTB73+leroCzeCmMN2tpcIOYuZxC2UMrzSqPEdX4QHd4Y01Jcq+yyfslSlNCfUcY8PxRTJI0903ngFCJjEj+HMAbmim4MwhqZRgEmLqMUDHPRPZ+j0HklNk6pzGowmkmFRVevtZLovNzJTLmzhgzFRQeeYlpAnPlzzi5uoiNXy3oQYhIqbS9zOaXINEzPYN2vDqWliMA6LtOwgDvD6ZH+dMXjaZRORCkP0QUY64QRlMY+S1Z+m0M+S58kqjEbn10CoRtIQy854E46O6UzlF6YH0YLXfg3h4iYmQLLvQ+ZQdDPxlrGYQuPzZIBU3iRW9iSy/hEN8oGc6ZZ6rypTP1ZIjOfevqnAb9yDE9nqmnAGim4U0rL+V9GiRBLq2Lp0JjSCrXZKJIW074pSyDCGBgmuzAcklICnI6TeIYcLsTLQXw47Fquh9Nc9LMsIeYNsbIe7d2zbAjpFBsj1HSjsz76+UbIc8ZaTFEAPaYuUGVFsm6JJOxfdLpnDwcVJJIwnHOUXX/BTnLvXKawm2wQGhPPsX1KfQ6W5FjC2Zju8TQs0ZeHPm/AnHTXxOBRNnFh/xF7eWJV33NVWbaNpxsDPmv6U0ok48FJV930A7p0Mh8zK2LK5zZOWYoSnuUIWCvjevZiGHvUNOBKtciBnr0O8vlptXTgUzYZTINIO6wusPrZg2FJ1kjgvMRXau+eDTZjXPypxYRSYks/uIEP7cCr1lE315ibr57nbFHLOEDuQekMLo8Xo4VZg3HoqsWvG8rdGW2U6OqrlZhhMuCswhVSRO0ax6qwFDoRzwemS59Zdy92HC/MkkU+JCyAyxi4TBI9p6oGt6rxq1MG5qSDrJR8Tl9aikyFXpcy73X+3aqUVCG0xu7uoN1xGiOHXgqecRIzssJoCisd4NRdJAFlCNA8f8557bFapAiryrEtLI3TqPMTw+Oe4SQeScYa/KaG9S1PQ+CHp47fvz9xeLrgCks3TiIxyeZwxx8/sP+jaMCLdUN9Pi6gzDCJJ1EYA6demAvy6NCLhwpkFkdZE50At+/PA28PvUheEmwrw64sQRkxkd0fseOIfvqIutnTuIZN5ViXlqGb0FY8MqxREmF4OTA8Hbk8iIShejiIGV4UOvXDaeTp8cLYB/4z8N1VzTfrHTff/j2bv/q/OL09oX4+YusMZk3jMtZKZxYgeMrgmzDLvNDWQyJeLsTDA8Vtxzebkr97vebpPNKsC6pVwX96s+a+9ZjLWy6f3tM9nBjOo4AOw0gKQwa7FFprtHEZ8BLzW7mkFlOXFJuC1WGgXHmqa6GwJ9/SHYU9MkyJpjRZq/5cRJjCUaxrqps11bffEa6+4d1p5P/zy5H/8qdHjk8dRWn5dFUJwDdNxOOey8c9549npi5QXZVyT3PB/fE88IePJz7sJe74zbZc9kCEaQE+/fqIChPkPd6pF0C/7yZ+ckbM96bItlqhtFqkHmGMPP3hF7Y//4Hmd/8H96uC19ty8YgKSWQcfVRUu1dUr3a09w+Mpwm/KsUIUVtgkuvrC7QrMb4UdofJnj9GY0uDbz1mjNS3tfhJlGsuY+TYT5kBC0XtuN9W3DUec/yJ4w9/4OmfP3D4+YgrLbEfZV13NR/3Ig344f1JElSs4pAlyGJe/sjppw/0BzESLl//iP7dkdJ4hinRn0dO+444ia/a//P1hq9WNxS7HeWm5GBPsic4yfhrnea69qxWBQ9tydBZ2UfmgjtZj2srfOvZPPXUTlNuC3TVgnXENAmbsTCktKJuC15vK64qh768pfvwxHDsCf2Eb0r8qkJvbjhR8NPhgd+/O7N/EK+DblsKi8nKGjS9+5Hz+0f8ukOvdiJNSRGSyab2wjSfa8a/BIDgLxYceHn8qxfpRScdvoAJqGyetPzAFwp8nsGIORN2+fFfSwQWTmv8F70D5h8182f8kjTgxTHHzvzmmEGF+ULMebt/9vdIhyNmWusQxW065UI8JClqZhpoCuFZ55ykcFnyr5mL/OdrFufXhlE2DvEFfTYfC1ASPj/nNBuPRUGEfw0AzdeMOBdPM8VwPvU/f7W1VplOqbPkIubPJ+8Zp/EzxDTmYn/5vC8L49wFXM4vps/kJiD1S5rfT8+0VkG/YzZPeunsnVIgDJKRO5F/dgxC31XPRpTzdVreJ+vV05SpyZkCloYeNY2URlM5AQZMNuubEznS7I7+K2qLsIeTMIgzhSpM0lWcKf56LgqiWq5tUs9dvJSz4lMMz67g8+8PuVCPOZ5umkSXnami2ir5vPND/FeHMlpMqowhBbI3Qcoy6PRnmTrL++dfOaPGL4+5I59CEKmKfMzPuvZLikgQuUzIlN75d83FUAy//t3y/7nDN0elzRuVOApYI8aEYemCyTXNnzXybPD333mkfD7zOf+Lh9JMs3v50BOGjjB2TDNAKGhGvoApz0XRTi4A7YvjS591Hm+yxoTsxivjaPGV+Gy8/xkmV/almO/jMM1FeEL7ElM6bCFAnS2cMCoSuTuePkvJs5kSn4ZefBEOI8duojqIQZ2aJErN2c+ByHGm+SvpWuvCYZzClkYMA3NmcT/TEjNIMIYXHZoYSVNg6iZcLzGKahooSi2aaqvRL8TIKUHSFmWt6OuzlOmlYHm+nrPHyMv7q4wXxgHiW6BcCcYzTJ1ESOb1bBmfWlg46XJiOEmRUfZnGLrFT0ErRYgxxzWmDNCIPEAZJYwWozPzQ0C9fpLN5emSwYFuEhZG4UQ2EiOxHxlDon/Y4w6fqO6SMAdqx+Ey4LKjvxQJcg+MEyM748zi2zEfM0B9GcVwcfoVC2MxM8wyOpM10aWX+2D15xKNxStknIhjlgeEUQCa/LMxPy+H7MFRWo8qKokGDKKT5wWAEpMUl8d+wp3E9f48RtK6RdVrdHNc8u4JAauNyC0al1NJnv1ZkilQ7YbyZiP+J0j3WNUNMYMD3hgaL9u9VeVpnZWow7H/bO6pF5/TqBznp0FbtTx7Q8oFYlnjm4qhrXB1IWMMGaKNk67b0E04b3i9rdgWltJK4aysFe1/UaCv7oiVGAs+dmJ8N2TzRG8kG111PfFyzBK5AfeFVCxnNG12rV8VVpgRlxPjuScOkvBg6gK73hGrDU9d4I+fTjw9XjgfBmrknlgjJo/T0wfO7x85/iKRfJeHA+lyhCAJNjGJT0j49Vwnfvb8toVDVS2xXHEYIj/te/7pwzFLehrerAtoS7nu00T/JJ/ZrH/GvX5g1a65qoRJs+8mMWi0mZGWAnHol/SkGBLj4QLdBSbRiJ/7ifNh4HLsCTHyn3+s+Y83LVe337P5m+84v5X4cddYbC2fY25olN7gX7CSXu6N0ygNHAD36R3m1Qfu6q/4T69axhB599Rxtyn53a5mWxrUu0eGpzPjRdilqc7AWd4bVDYDSnVJDBFfCDihkLXQtdVSoBebgvbbO8zNG86m5NPlKFHHY6D0+ln2RERZL+cFlHci3Rnqa37/xyf+y49PPL47cTkNhFXBMTcZFCmzJ0f6w5i1/CKZEJAn8uNjx9uPZ7qTsCAe89qGBaZhMeV1dYE7PUqUtVLCuuzDUvy+2/echkgsGlxVoo2iC4lwGDi/v9C/f0d9/MRtfcPtuqSonXjiZMr/eYw06x3V7ZbmbsVw6PHrRphDQGk0q8pSNZ4w3FC2DW3jqawWSZIW0/HqSq7R6vWK4vaOWO3YP04cLrJvNtZQVY5Xq4JNYeCDREMefzpxeOxo18UChE2u4pfTw2IGHUPkUwZ7ZeyIHODw05HuqUcbxeb9O5rLE5V7Jak/IdKfpcb4w8czPx16/pfbLeb6nmK3wpaPshfsBvGeuDzyqin5+qri4/sS60Z8afHGZHCgoNitaO9rQj9hCkt1t0Y162wOeKZ0mqJyWGtotyVf7yo514+fGPZHxpOsO6ZwlNs1enfHYx/440P2bzoMWCeRlVZDaRXh4T3n94+c334kjhPFq5NIKVMkpuyVA5hMIMj/+3c//uLBgZkoMH///A9aWvPz91otRXNMfLFzpnPBBPymwF+O/949+b/mHZDRoKTUM3ih82t+dX5a5WJNfYGp8PJ8v/Q9c1HshW74q5dr1BKx9pnD8587LaVQuSico9SEjvirz60+/7uUu9smF6af6V/jJJsoozFFibYObd0SS4nSKGcxXlNqTSRhCiOb2xe6yfm09a82b/Jv6rPNNSDosVUY6xfU9OXP6Ez5LjOCaisr1Misc1+KNZ67Qy/fIQaeKYMxgnoueJTSJJ4duyW+y2C8XsyvXu7ntcoO0r7A+BJXNtjC0BZm2biHbmDqpKAVrdQgYy87i/+5lLiXh0ToSYdbCjVQ5vkax5QYI7iixtae2ihi0phCro10++ZrbnIRIjFOJhfdnxXML05ypi+/1MvOwMBL3azK8gJgASNmgGbu6M6AlLJCn3allbHq9RL/BsjGxmhBzF2BseJ8zQt99GK25gQQkaLlt4CC/oIUYmZJKCOB7r+uk5eOiMqU0Vxo/xpU+OweZep3nCnK870JCaXn+DYpakqnZV65gmSiaE6t/ledTOTe64UGrq3/DfA2G1zK958XNsv3871IkJQUsdrJONfeCMNGm8W1fswgy7OTPDL/v0DTf/keKeXObKbrhwTJWEzhhDHAIDn0L37Pc0ScytGyskqnacgu8kIDHjvp8qgwX1OLdXncvPxY2qKMGAQKe8Dn9cJlMHWmb0aGzG74DGTOmtmpF7qpmjqsUkvM48FNizwgLgwAj3FWzPeM/mw9BNFla/U8d2JKC6hgC08wkxRgvqRf7kHupuV56LTGa0j9mfEs8rO5o+/HmUn1fC+CToteNSmDsg5l9EL7nQGMeRx3g0g0QBJALmMEKx3/NANm48RwvBCPe+hPNK6gshJlt1y/ZYx5tLWLOeTz/X7+PkSJvxyCnG/K3gGm9OjCPT8LU8zgh146pc7ozI5BCvtpImWKsHIWN/boaZRgh1nykLJXwRTopkjjJLLP1QUpRAExvnCMU1y68ZcpMiQthmbaQOyJQ4eaOhpXsassd+uSYUqZhSW+APgKvbmmub9e4gSL2ytMs6XLQ6PyhnVl0VqxriyV0xD7PKxlzlqEfTN7qmiVi8PSMQ4Bl5MDljXbenTpsFVO1cg3wCnFqrC83kqx0RaW728b7lcFVWYBECLKOUwtaQxTueK0z8yBXopa+xk9XKQ4Uz8S+2EBbZd5oMT012hJsWm8WV4zXxPjTO72XZGqDb88XPj5seN8ELM1m/XKpdGo4cS4P3L51HH51GGcZtifSd0ZFZ7N2p7n4fMaozJjL42TsAsLj242DMWKdw8n/unjiX/85bS8/tttxbebgpUW76Xh6USKEVcX2Dc/s7n+nrvGc7+t2F8klrVyz8/blCn4YxdIIYn2u7+g44RWamE4XJ4+EaYt/+2nPf/wzZa/2l3Rfv8f2f78jhTk2VGsa5FrpJwaYeT6zwDkAuimHJN66QjdgP/4FvPwE7vNa/72uiYm+LStWBWWbzYlrYV4eGDqhRIvz56ZYRhwRrMqDNfrguO6IMRI1RbssqEzSuHbmub1Ft8WlDcb2u+/JV2/4TGbSn469pz7ibb4fF1QSmMLWUeL3Q69ueOxC7w9Drz/dOH4cGC8HLDu1bNZcQykcVxkD2iFLQy2XZPKlk8PoxgBP3XZj0Oxv4yyD44T4XyifzjQfXhCKU318B7Vn6i9eO0I+zbQnyd+frjw6TIR12uKXYtfeZwWAHbMtPm239Ou77huPG3p2Od957xuxHJLcXtHc/8RW59wbSWx23FiVTi+vqr5cVehjaZqHa+3JZvSCWvPWPy2pn3VoJ1h9d095tW3dK7hsXviMoj3hcs0+5vasS404eNbLu8euDz1dDHRIkWzbtachsiHU8/T44Xjo4DN/XnMyQ6I39P+xPnjmdOHC8oort5+ZNUdKFf3i3dEGDv6GDjvO37aX9j3K26v7ymvN5TbdwwH8faajnvc5Yld1fDXr1r+8OHM6dBTtp7KGxKJ6EqK6xtW31yhtDQT2je3IjHKz8SmsNQrAVV+dyvA3abQhIdfGI4XUowCKlyVVHciKXjoJn74dOa07+nPHdQlWgkbTQ3Caug+PHH5cEBpLea7cXputqaERsBGnVg28v/e7IG/eHDgXzxeUu0F3v5iJ3r2GwD+LGtgOV6iEV86/oXXKqUWSjIIQKGSdDHVS4DgC2+5vFbJ5/2M6aCeNzKLsVIeOEYpXGkp2i2utNTeSiGiDK40NFYAg7J22LpcNIHaaikAy/y1bF40pigoSsvWGbxW2NpJYZiLSGO0FPiulE30fHG1QXuLLSzFGBYDPBUDldOsao+vN/jVNb7ZUpR22VwZJ7Smrc+GMJsCv6pIxjO9cL01RmiLZilaxLXaeM3UC7CRYkRF0cAVlcOvrpiGDt9u8KUVIyYtD+1yXXB1mUQPf1tR7NYkW9KN/aK/nwup0uUOVhgI05QdZaUznibR5hZGZ0q8XwCqMUqh4CtxaL720lVbWdF3KW3QSqJhfGkpVtfYsqaqPevCif7xfBBfhYU2rwUUUHoBMGY2wDgFSZ7QEhGlM/1ZhpAg9VYp2sJgvcUV9TIWZ8aEr1dUV/JZvY6UmwKTx0+YktCZncGWNa4Q4yJvtGjrYElxMF5L8aafzcVmiYjJhazReWx/oXs8gwYvO84gpmrT7OheldjaUpQWUzwXDUaz0Ftd3eKqNc4biX4MYTGVLHMF6GqPqSqSdoyZkqmUQluL9eLlYPQz+0UbARQ+0z5OOTbsV4wFaWIIWyCGGSCQc/71A+DZqFHuIUaDUeg8tuM4LVT9xluK2uEbiZXyhaFyUmAKGPF8TYVBkqPwrMYVBt9uidOIr2qavHEhd0pVprKbMseN+UIkQ1GKrhRlzIW5yDcGVYiu01UOXwsVVFXSSbqMkW4IWQ8e6UMGQPTcFX/JzhIJlM0JFi8xmZAgIkWwtlI4x+kZYFAIS8BbGYMpRPQSm4h0n3UuZlV4lsFMA0ZLIWWtwTqZy5V/BpQAMSDNmkPlspY/F6NTeJbwLNT0X0E1KYikSTrCYDV5E64zyPb5pkDmupZxnc33vnQsXT2l8lqcO/rGk7IcYMpfIaalY24NEAZid85O4pnmf85OzjmxIGbmRojiCj/HoimbdfkgGdzZF2He/MdZohHk/g8hgqmE5j93o0fxq2ExGCtzpOHz7wiL1ELWNfWMWCysFm/0Z6+bGXDJeShqXFVKBJ/NjIP0bBjrrTCwSq/Fg0DlqMZJgIE4TsRuhL7LiRHPIHWIMr5PQ2CIieQrVI7si0NY/Admz4HZ42Dxmkgpz6e0jMXUn4kHjW62rG+uuWs8D+tK0lumSGHE5KwPibqRjlqbmWJmc0N0ZXb+h9JpmsJitKKy5nk+WY+rC8qNZG+7lTj5o6T4XFeOthEQp24816uC2hvZ3OYNtoBkXuQdKeKMYlM6vr1qaArHurJ8u624qizq/EA8PhLHTq5/UYKvGLAchwvHcRL2TZRIXW/kuaLHjng5Es4dYZpI0/TZ80IrhGES4zNQPccPAtprtDb4dYtut5yS4ambxKC4m5hyUSgAA6hhYDpeGA493XmkKO1v2HfzYYxI+ZbIxUn8LEJmNwhzoBbX+NPA798def/+SIoy7/+Xr0ZhSmgj3kv7E8OhFyPDNz+g799zU2+5az3vG79IgmaDTp0jVrVRiwxs9sApTIW34vcwdeLgfnpq+f3HMx+/WtNcvaH+7hsxSR0nSY4oauleKgFnSicNCjfPCeQZGEYx9wzjxPndI+7uR/TVG26arxh2FavC4I2RqL7hQooB7Syu8hSbCb/yWfoEXsO2dLy5qng4Syf+6+uaq8rj8/5eN2vq+2vi9UT71Q3u2//AtH7NL+8u/PDU8eHQL2MH8j56ZvplI0pdtUQnkb1PlzHLQjphlc4ShJl1GTPbxIlOvdyU6PWOVK75cH7kl6eO7jgydCND4xc/JMJIOD7RfXji+E4kopt3P+IvD+zKO3aNdKZjFEnw43nk4TKQ7nfY3R31dUOzKRjmWNIpkLoz5U6zLR3bxj2nuIRINyVitUFf31PevQVj8Fn7r8JA60u+u6r5+fWKd61nVzv+5lXLrszsIW0ot2vCmxFTOtrvXqOuXnMaxCy1G8WvyjnxG7iqPKo7EI97xvMoXkgKfO0o1g1mc8NxDPycGTn94SPaOqZptRiqpmnMqUYDH4eA+9Rx+bBneviF5uo/sGscvhB/pRhG+m7iw7HnMERu2mvquy3VrppTP5nOPbo/sVkZ3qxK/uZVyw9OvLjqIjMHXI25vmfz3WtsIete8/Ur1OqaPoj3zrpy7NYlpdf8zauW+7aQNeu0J3SjyItWnmLXYK7vifWOjw8dn/I6EscOpUu8VdTeosYz4fQkc/rY41c9qe8zazQtnVx5diuy4Pwv4vifExx4KSNYalq7+AZ8RiNWX/z2i4dW/Kt0ZeBzgOBfMRYU6ryS7NsvFPmfvf+/9r6feRfkbxVUtRfN0UwVAvAFxabgymlGq6iuSnxTgZbOfuMttmop1tf4ZkNdWAEojME3FfVNxf1pwCkpmnW9YjZ1Ms7gqjVaG2xhKJ0V12QrnTxfW5rLiCmsAApxoiw0rzYF/7xbMfVf4ZstZf68AKYSytitl2KgfVXjr7YkVzNM4v6plbADpEP1ApDI1FvjMqI/BtR4YVuuuNmU/HJ1g9KaenvFpnZSAAF+VdHcVnz11FN4Q/t6hdndElzFZRIqlMrvaZxs3L0RWnIcMsV/jGKoMvZ4LREvvrS4wjLlgnbMLs319pr2ruF1JQDOTVvgN8/0r6a0ck12r/BVwW4n7q70J1J/IeYNjHGiEVO+AOvoQs9lFEd2pdWzcZARaqstpGhekPqhx1vFunSUjcM3K2JMWKcXemxdNVTXa1Z3De4wUN/W+HUjZnXDc9E9NVuqRiiPrTeL1lIbcKUARbZwqKLKue/zuBWaqrcalc1YYGY25Lz7LGVRCrwxiz/H3EGeHd2LTUO5lYeprwXEUkkKxG3jKRtHuRLwbFV7MXdK0rlyjaWtHUrLHNFVK3E5KRuxOQ1YrLc03uCUytE3ma1iDabwou+zBV3/7Kw/U7dfHkvMEL+l3L/U8Yco3dmktHToXjBewjiR+jOVUWxLy2ZVsF8VhOAoMqXWan4DtsSQSOOICj2rwrJuCqrVSjobbcHNSu7hnFGvjMKVBldlg6KizgyAlBkQn8twkhYHcVMX+JWn2FRCb6xaumyA+XAa2HeTRGRNUQy8tBTZ8zmm7LOgSFn7ajFGM72UIWSE/SXrZQa+DJHCavHhcJqo1DLnIwgtvS7wraMZA6awC0tJk2O3CmGj+FKAr8JmCu8LsMo4m+n6JkfoPV+Thd2SkAdL1rsrrT5jtmilFq106aVAtVo/F2+ZyTWnMpCZaDGDMl88VKb2a3kWSHyS/oxNN7MGZubA3CGf+kF0o/l6LrGE6VkqMQbE5CpEMB7sC5+RkAGoGHBu1vK/oKRnhkVI4KwX0ElrlJnlF2EBI0y+Nv0igyCDZW5hiMSQSNOAnjqJ2Vy6/zKfZgNGXCGd/FWJ24uR5QyuarJe3ck9KJ0VkFcrWc+mkTRNhG6Qzs/YYcOYqdfyOcYp0elAHxL9lEhlialbSToo++dxGgPWyHWZ/TekqNRYkyMHJ/GTifsH1NCj6xZdbdgWW+5bTz8FTqP8nhShD4myXGGu7+X6hYhe7Ui2hCRjrHZiBjqbtWkl11I3a4rdivrViTgEkSOUNeRrv6sct+sCZ7QYka0KWmfE7CuKAbAtvPhazKCCVqwLw03taLxhW1i+WRdsC4P58JHp6ZOkdQAYS7KFRNVOYSnujBYmXWk0TkPszsS+X0D5PAl/M/RnmdpLMFFnpo+2Qk3XzVpi9/IzU8zKVC7ybU5QGZh66UrKlFIZaJPnS8j0OZ33L3X2OCitIp2PjKfLUkwoY0i2lGjdy8DHp47jowBwj43j0E9M2TAtDoH+6UL32KP9JzYf3lKfH2jWV6wKR12YbHoqiQf4CmoBoWxhCVmyFvseNV5YFyvWlcOXFpP3GeMQeDwP7IdAbHfo63ua+49M/Yhu1+D8EmlcuhkUl/uhZiA/H2GcRBZ0OhOePuIue5r1vURI4qV5NRf31Yrqek39ao32GlcXwlSwnhQnNqXl2yuJSY4p8e11zW3jRYqSIqpe0dxfi0/F/e9IN9/w8RL46dDzft/xlH0M4FlCRhhlPXoeIJ8hr9JT9BgfsYV44vj5/XLzwLdi9FnebNCbGw5Z/tKfBRgIY0dKNSabk+q+Y3g6c/544vzLiRQS67efKE8PrK9ec7cu8aVdGnJdP/HYTRzHyPruK9o3N6x+2NM9dPhVNqSNEacVjdNsKsvjyeKsZsimr2nbYDc3FNc3EKPImQA1XljVO77ZlJy+2fDhOLCuHN9sKtoiN3OsEx8OwG9q7N23xOaK0xi55GLeOk1VOq5XJavCoKajmIMCrnZsek25KylvNsRyxXmMPJxGxmEiZnlUiixJN+Q9XgyRKcF4GcUX5LSncgKCFJXDVxVjZpt0g6wRsVpht9eU1xumLmALAe7C6ZHmHt6sC/76rpXUKK1pnZX9gq8w1/dU33yFW5WYosDefUuoNoSY0Aq2jSfExLpyvFmXbAuDvhyZegHWXCN72vpuh97dcsHx2B8595OsI8Zh81pbOY0ae8LlIqbgQ1r2t/Nz7i9CP/Bnjv/pwIF50foNzT5vmL7EHPiN30BMLxa4TMnOf9Lygmftv+KZ/j5vtmcPgBfHF4GFFxoS2ct+ufzX+Wci6rO/+/wk9BdBBacV7bbkct6x3ZSsCisLmy+odjVXNxVhjFJsb2rRbmnNtnE06xK4o14VbGsnObTGU+xaVq9bbrMrZ/t6I4hpfq3owhzBrSkrR1vIphrjcE1FsSmou4BvZNOtYqS0mtfbivV1TUx3+NLyalMKvRHQVUt907J+I/q+9s0Os3tF8hV9yPRHo7HIQjVvyhZAorEQE8Zl5sA0sKss3940/HhbY5ymbgvu1iWFlYeVX7c0dy27LuBrx/q7O8ztG/a5AwSitdRKU5aO1lsxNOvOsonOuvo4TEI37E+sCsNV63lsHN1ZOuQhwRATdveK9ttX7L5/wP1yZvW6pbrdoasVAOvKUa8KwthS1JZvr2vuWo8enhguF2JIGKdxtcNWJapekYynG890Y2CaAlqrnJUewFV5Q1zhSumWSvZ2vxSW21XJvpXsWF9anJEOo1ntKK83tF81FKeC1esVfrORjTnQZiBDaUXVFqKFswo1O88WVrr5mwK/blFlLWZdMZs66myopjILOX7OHJAiI6DChLMSUWOceBWorH0OEaKv8ds11a7KRjwOUzhSlKSNXe2o20KSE7zlZuWppFWKMo5iU1LfVGijqG5WqNWOoISB5K2Y01inqRYdqyaNPWneGFdGnMHLmmT90h0Xg89fxfzlMfybI3dZXzIj5qImJHCuEADCGuki5E6C6k/sKs/rbcmndcE0RnargtrbRYOutLA3Qv/MPFBTz6oQbd4vVyWuEH3d/baitAp17jMVWuFXXr7aSjp8OULp17KLeY1S1uPqkmJ1wa8b/GZD9C2XMbIfJg7dxNhPnLyV9I+QFrq+0s/d/xRGVBixupTOvTNMU3ZdVy8kNC9fM0rsI2NP4yybyuJLRxjDC8f7JJvUnTBjlFFUVxVuVS/MqMIaqtIxVoGiduyaQjaoUy8d3SAbR4nRU6QX7J3nS/Hifiph+ShrxIzTGilOF2d3tcS2iQFYpu/G6ZmJZvJrbGbhZNZF+Kx7OlN+vwBYv3huWP3C0XsGIuK0ME1minF88bybgpj7XfK6eO6DFMHZ32A+4hRIQ48eO1z1bEL54Gbj3WeZlXfihzDLQrTPdPoX13PKIMsYM3Mgs0yUMsLAmCboLqixo6wUtZeM+/1llE0+ZHPHQjwAqgrX1vI7/HMEm0jopDisvMnFBRAmlgjSWYoUE8RpkRkZrTJzRCIQp5ip/pUU2rY4SiEbIyoMOCOfc11ZTr2jKQR49EZj0gT9mXh4YHh6Qh/3IhFpNuxeXXMaHZcp8Okixnkh5djAcoVaXaMnuY+6WROX8SxdrF0ja3cxr0GuQK92lHe32UR0or7dops1SYlh6La0/O6m4akZeLUuuV8VNF4LZX8asjSgkGta1CQtpoOF0ewqzzYl0cuXFnv+SHx6R9w/MB7PuLqUokFJssyY7/UU55QXiTFUQSLrQjbFfZ73zxGWMbHMhYXJpHROtnDYWtZQVxXZfCw9gwJ5bPrS0pTyjCf78BinKbyhXHn8uoa6JWXvDpmWAtztGicFDWOO6zsxHi/YushRaaI1318m+pygA9BfJOVHvH4gTBPDeRIdtjdcPuypjg+U15rGabwxTHHk1E3sh4lLKGl3d9R3O6qrD3m6aqZ+pBrOVI3m66ua/7ouOG9uSDEtjM5hEnDBrHaY9RbdXz5rAjmtczygWf48772V8bKWOTGhSyER+14o08MFr2u8UdlLV5g0rK9x99+w6UeKj3u0NRTXW1RRQZyoneG+9XAv+6G7xnNbOyorrFrlCsz6GsoK8+obptUrHh563p97Phx6pjHgCkvpZdwUsxxl6Jn6EWOt+DSFCVcoNpWjajz1ZkUYG5p1wfUqN9jihDIGVzvKTUG5Lahvd+j1jsskQPc0hSzRfI6QLqyCg3gNXD51nD6ciTFyevuRzfsfWb/+33i1KtluSo6P3WIEfhokznSze83qu3s2bz/hmiPVrsavKvGeyezSVeVZV+Mirx2j+FjZskWvd/hctAPosWPtNW9WBTElXq9KvFG8WZc0VqMuHViHXe8wVYVpd5i7N0zVlstDzxjlmVuVjuvWsy1tvq4j5ASI2atg/fVavArKFad9WJz/tXUilfUi2VJ5/mqf5UydrKVxiKTujGfiuvHc7Sr2Dxf6s8ZlyU8/JZKv0bs78VjJwIEyitRdUP2RdVHLOMprf+OFKTUkjam32Nffo1c7lPVyrr5lDInCaq4bidzcVZ7XbUntNOrpBDFi64JqV2Hbiub+Cr264jw+m/sap/FVRdk4to0XQ9RpJIa0xEsunmjz/VF/nqr+7ykpgP/JwIHZqGEptH9lQph+9XO/ke+nGQXWL0wJ1G88DZTK2n9+JUkA1PwJ5pSDXxXrX7rVM3vEfCmW8MXrPn+fPwMQ/OowWvHmumaaIt9e16xncKBaUd9fsf3+TBgT7ZsddnsNxuGt4mZVsLqqME5TNZ7rlZeFTRvM9obV1zuhJzpD89UNerWji0KB3dWOw7okhEi7LlmXTqiwvqTYtNQ3gkKWuwpbeFIMlEbz1abkq7tGKEre8PVVzdo7IKHqFdXtlt33A8Zp1t+8wlzdc5wSUxS6n/OGmGShKoxsapUrcKuaYiOouH2BmDal4burmt/ftUJ9rz2vd5UUeJmm1r65QnuNbyo2f/UVbCResZ9EZ+W9bOavW8+mNNg0yYYxdwlTSIQpEPszdurYlA1365Kf20Jol17oY/2UCNWa9Xf3XP/9A+VuT3VV09xfEbOR06qw7HKU0mZV8P1tw8obVH8mjEJ/nh9Wxa5Fr3acJnGsPffiqK+VyrTtwKQsLlNb/covFCz6DvoTN7Xn66uKT48XwhRoa583nEDZUt9tWX21Y7p0VLfbDBA5rFGsKke98jhvuL6qebWSAkqdBMgxpaXcFlRXNcWuJflGCsusxVYZ2XeZ6aK+0AWN0wRxks10YXCFxXkxXowxCTuiLDGtABnjeRTgJI+Bmd56u5Wxap3hui0yIBVQZU25a2lf9RhnqG53mM0NlyAdX2cURSmMmrt1wbawmTnSQQhiimYUblVLbrYtuUwHujEQXnSRw0z31jpHMinizBPKCLLTWdNp9MIumKJ06X1ZY+sSWxnGU+5MDz16PLMrN7zeVvywrej6iZtVQfMiGm827BO/Ar0AZ2tvRHe4q/HlyKuriq/WpWyMwiTeBbXHtzHfwzXR1Tk54sXGOrv7P+uQxdTKbxr8psk0zJbLRToJp8so4EAx5axu8Q5gNtwj0+5jkEJKP0d1jtls6te+D7PUIkwC0umpY1U0XK9KqsrRKVk/5u6+qlvKux3t6xW29jQ3FeWuJbmKiGidm8LQ146r1nNVOxnbOX98WY5NdrKfC0wtJpta6wX4Wo7sAeDqXExVhVD900xlFRaNs1mapEFNz517pXMiQGYBzBKi+ZiBiC/tJ5YIPVgSQmb98K8lDHJe8/kI2JOyueswxUWTexlmaQG4fO9iiNJhPx9huFA5zaY0XK88H4+DyJWsvOccRWlr+cIoKdxcAcYxDdBPso6N07OMYcqMg/m+hy5KqsJ4obSaXTbtO1zccl1DgimBLYQZZOrjAg6kmQ2XO+WFFXaY02rZA/zmeHE9X95jSUuQTt4QwVovBpZOPkuaRnSYKK1m7S3r0jGuklD+naEwSlzyLyfSRTTLKUYxo1ztUO0tK7/jqnLCpkiy+R1CJJQlulyh1wOp78DJfdOK/H6GYZIoS6tlLsybZfPqG2ptJFFmcy0eAEpAqm3p+GpTctcWbErLV21B6zT60hFjRBmHz7GGul0TbSHUWA2tF3lTW2jWXqP3T4SH90z7B8K5f/ZhMHMahAADsyRongdM4wJczWPTOCNzwYqp3ZRNS4HFyR3rljHmmgrtHaooluLXG01bOg61JyaRTewqh1PCGFFa41cF1W6iuqmpbrZCmc7P3CkmtBGG0q6R66P6E/HpA/3DgeGQUz+mZ5DvOf1hpoyLieU8lef4w9BPTOeB8XQmdmeRd+bB1o3S+X+4jOyHQLu+pfrqlupPvxBDwpZGgNLLkfVO892u5qtXLdMYmabAalty1RbSYJmZaWUtW2Ij64vOa2Zl9eL7URi9GIMqX2CqaqGv28LJOFfPTK4QhWGkRnjsArvVPfbbnsoVFNcSZ613t6iqBWSc3rVFZrYobmsvZnDdARUGeUa04lER6x37IfLpMrK/TIQo8o7GWzaVZ+0dhU6ky5lwFjlKdJbYn1HDiabV3DWeb+9axj4QY2S7q/n2qpGCsJ+EodBWVFeB8qbNXfE1fY4G1FrhClmLiloMVL1W2bulJ3RiFqgPI8P+THz6gJ8u3LcFb3YVDw8XSZ8wmi6nIcV6h339Hdu/2ePXD7i6wF9twfllzK4rMd00Gpx9kSria2EMdWdSHl9qGlDdnl3ZAsJeUQpW3tA4Dacga9R6J/djc0Ust1wmkZDN0iKjFXcb8SnwRsMEuqgpbzZsevHWWP3uHnP7Falo6UOHN5qidJSbW3xpqFpPk6W5yjr8uqG+qbgdA+WmwFZWpCfDmavK8911w/unjr4aKRvPusrrqPGY1e7ZYyWmxXBSjReaouX1Sv48hMSqENluiFl+cfUat94JsFhtSb4inCYKY9iW0gTalpZNaSh0QqUon3fToL1Ik9z1PbFcE7I3R1s6TuuCaYqsthV360Ku05iwhTAvY0zCpCwKlPNZTv7CG4n/Dvb4/8Djfwpw4NcF95eMGl42shTPtf9cZOsFVdCk9NLp9lcdn6z9T+pZ+//8j5qkcmrAFz6EVrNpEi8Qis/f6c+xB16e52+2JC+ZCl9gDvzN/QpvNX9917LJsV66XdO8uZVOToi0b27QuzuSdoIcbivevWr52Hi2tePrXS1GKcqgN9esv7tfupWrb16h1ztCSpROior9ZWIKka+vKtaFlYeGsZTXa1Zf77Clpdg1+E2N0gZvFXeN5z+8XtNmOuXXu4raa0gjqmpo3twCYEpP/c0bWF3RZVSudIYyo4HXraeaNxbO50WmFT3QtpKNX5honObNuuA/vtnwflVQF4b7VSE0Ny0brtW3dwIurGvs6++I9Y4uUwmdM5SNx3rD3aYQIGPsYRwha+ohb8xjFBqfX/P1VcXvNyVKK8pSqJxTTMRyg/3qr9j+7Z5i11JsWuzdG0HVEUnC11cVpde83pbct4XQvI9CwXS1o7oS+UX9aodZ7ejyhn2YnfSVylnp4hReNBvK3ZpiUxK6SeIBw4ieOnbVim9vat7tO/aXiavWU+brGl2JvbqjefPIdO6oX8umMRrRVd60gux2Q+S7G5E/lEahonRVfVOJlvdmjdneEH1NP6VFc6YyZdHNsXgzcPcCWY0hocKI14q1t+yyS6+1IiuZOx9qvaO+24nuzGcH+Tw3rirL11c1McrYXRZtQFUN1e2OOARsXdDcX6GatTgOI+Y0Ze3RmfVyVXlM6AQcQHSsxjo512rFOWRTskHoqi+PmEBl0z/tMnPhhczIzp4WRpHi3GFNudPd4JsK3xb52mm5h2NH5XfctRJxdOwntvXz3FC+xDUCnCk9+1tokflYzatVyfe3DQ/nga+varmHTsvGQgs4AMg9XF+Tipqhk3GlsuTCe5tNM+U8ROYjbArfVuIE7GtOTwPnXvKSwyQu32N4zoWfM4hBNshM0rF1XjTSTWHpRskP/nOFW+hGYVQMJ2q/YldJt+Mjou0NSZJbYrGmuL1l9e17/MOR8mqNu7oluVI2mXlDFGLiui3YlE5MS8dOjMZmPwalF4NAleUIlTOEQsAM0epCYmZUFEx9RbFu0PWK5KqlYwpkDwDpWjulsi5xBgdEU6y0ISrzRZacGF8qVAySJDNOopPOne45StTPgE5+fsW5y5pp/tpaWd9K8RJIOYq2G4PcsygxfF2IuZufi7skEYHTpSee9vg0cFU5btqCj+3AECKlszktBDBGOvmrGlM4bCtMp2g9UydF75jjyca8IQ8xkfTzdZ8lNulyxsaB2gsl9aFyxJgW89cQE8mW4rDfZo8VVywUFKVlvZilFos5Z74uytlsrvninufrPSdGyLWUMR2yXAbzwiQzTKipxxvFqjBsS0tKCas168JS2NwlHzrGc8d4OpNCon84Ym8eMN2e5uqaqje03kpMaxIQcQgJ6yqSq3JnzqJSpDBiXndV+YVl4K2AS0OIFNUGc/sGZZ2AF3VLKlswBpcUV9WzIeSmtOxKQ5GEsg6gyhpV1ujNNardkXybfSmk02y1+DnQHVCXvXjn9OOix1/Wx/x/b2djSJslNiLnmQ9tJe/eFAW6qAna0oUuGwjLzyw+E9qiqxWmkchFrTPLZfFFENPEw3kgpcT9tpSc9FyEu1q6osYp6puW1de3sL4WuvUoSUTWaOrCsKsctdPobs902jMeL/THAWUUoR9RccIaYcBZJ8bDKSa0/Txp5Nem0TJ/n31phhA458z4t4eex27i1foWe/871t+8/4y+mi5HGj3x7bbk//jdDq0V5z7welvyzVY8AZg6AQ+1EaAzj22rJCmi8YZd4xinuDBxxgjOV5jNNeXNHl14MXpc7VB1KwyzLnEcAvthojQy3nRVsLn+HcZV2Ot70jShy5rgW9BiKLwpjPjhzBT6QqP3R5iTO0qPqluCqxmCACsApdfE5Hi1KbhuvJxbfyJeJKpTDGAnxv0Rd/hEexv53bbif/t6g81sy9e7ivs2S13PozAL1w3aaMrrDWZ3S/IN05TNMnODRBnNbl1yVYkEYpYdktdbQLrilxO633NT7/jupubnx479qafNe8QuRGK1xb/+nua0x29qTFFgru5JviHCQrnvNtns08l1CxGSLTDNmng+oMZeJDvTkMGQGkqz7G1qp2G4oFJCFTV6cyXP4FbMQZc9kDNcrwq2jeem9WxKK4CoMejNDe03d9i6RFtD+91r7PVrLspilGLXONpdibHCNv72upb6RIEqaurbHdtvN7jSYGsvDShXQgxsCsP31zX7y8jDeaAtLHfrgsIK2Ovq9eKxEqcJu96ifAkhUFrNymtCWzDkcWszyyr5mlhtSGOWA3qRPAI0XrOL8tk3ZTZtHfulkdjcXzH1I367Rt+8lt9FonKybx9z4+v724ZXTUGZKY66XVPd7XCriupqi1kJC3uu9eYp/zK96S/h+DcHB6qq+jf7XekL37+8fOrFv83/HtNnnoAZmcmFPkAS1F+l+Nz1VxqUydT+zzddOrMP5CvLEV7SNr/w2jmaYl7mf/MZ/sx5/rp3Or/vl475Zzcm8Z/eXPP6as1X65LrTUlVK9zta/zf/j31qpFO1u4W9/pbpqZlZTTfXSeSsTydR9aV5Zt1SVM4MXS7vqf69jtBuYzB3H9HKlaQoHWGN1e10MVi4usryQE1WhYnu7tj9fWRYt3g2hqz3pK0xmtBgr+/qlmVYnx2n7vNYjazobi9y/r0AvPqa2K5Epd/Ddcrz/5SYjTcbUoaN2e0evzuSmg+hVveN8VAaRWvmoK/vm4E1TWCFhdWo5JGr3cUr+7x6yN6tcO++papXBMG2UhvG6EfbmvH6+2s0epJgC08flUQhogpPaBQQbwVbpqCb29qfs4ob+l07nKvsHdvqI9PFLuPqCqbmvgGoizEr7clq8rxel3wqilkEc9dar9paIHyekNxfU0sV3S5uBBzK6HdyzwQxoWqW4pdS7lrGQ+XhXIvCOuW123B97ctj+eBq7agyYVlsgV6c0375lZcy3dXQlXVFqsj21IccEOMfL2rua3lXqZpwBYOv62xdabiba5JRcPQi9bYaIXN2uCZAcKSze6kI59jt4hT3kxbrtuC/WXCW6FXhgSTshSrHeX1mvEiD2WXUWSfmQNvtrImOaMz8i2yEl2vqG7W+TUF9uae6FumvICsK8ep9awqx5tt1toNx6V7bAuHLhxuVaKqWuLY5oIX6fYuMYZ5MRHX5AwqvXBMn2OjrDOkjEaLzjuBL/EbAbBSSOhMsSOMlHmTe7suKS8yl22O1VRFRbFb0dytseWZYrdCVxUkKZo2pRVwL5/fdeMpjSJNk4y3dSNUuqstar0j+Zrh+AychRBZV5ZVIfNZ5VhLZcQ8z9biED9pSx86hulzn4JlLctFtmh6Z9+BkGUFz9T0bgxUOZ95GTMvZQUxErszeuwoK822FBnJGCJVvmZjSKSyxVy/pv36o4AnuxV6cyPMgSBRZk3WzF6vpCPorRLTvlHowLM7/wzwaCVyhFVpCTHRFJYqR/CRsvypLvHTRLFp0e2a5ErGWROPbA6qF9FhSjI8n58HM3PAmCXbfT6MErlAdgvLDuZJ2BRhkDVEiRHeS2BArjUiW/CFzINaQChTSPyfyABSlvKk/PXsq6CywWMKiakfJDru+IjqTzSu5boWZtq5DzSlfZ4PxqOrlmJdE8eAW7eyxtiSLnR0ORqyn0TSMOfCzwB5jJL+EDKdWQ1nateyygVNN8bPvCbQBlUI/R3IEg0rnW4lIK83z/M1koEPmzXr2fF8NkDWKhsCa2F8zJ3rmJI8oLUYSM4RdeIHMGDiQJHXtCn3GiprsEqh4pS9HqSDHMfsA9GdseMFixS2NgMYcyLEEBKVKyXWMMdkqWmQ5AdbMZSGkDyXKWDzfOlDoinXEEa08egwSKRX0YLxmChRXNe1wyhF48VRXp0+SW671qiqEXru7o5Q75hcRXeZJEo0Rmz2OFIxS36mSQxC53mbwad5vZwjJZvSUs0Remmm7Zpn88OqAV8yRpjymjv7u4QkcadDSDhXoKsVrn5c1uAZHL2qPN/d1Euh/7ubhm3pRIKkZf1r7q8odwP1/bU0D5prToN4PggTRrOpRHI4pxwM+yPjeSB0E1NhCJ14EhVa1qQi09lDiPhSfASWAkFrbCnpQKbILDitFynOmL0Szv3Eu6eOnw89b1YrtnffUL/5E1M/MF06kQWdD+jzA6+aG/7upqGwhvMwsS4d3+eINtXvpZgdX+jy4wRhwBtN4w2ts0wmfga0RVejNzcUtyf8+vy8lynW9MnQTSP7YeLhMqKV4jIGoCSWjt3Vd6hqgxovBKVJrsrgQKK2mtKygAPq8ogaLs8+P1Y8KrCOOAp7rS0MN23BWEXeXNW8ajyN1+jhJKaeQyCOEypoMVk97lHnB3bVFX99VeOM+JrsKs+bdSXMgTihfEF5tcbWJfXdFr25IRoPE6xKy82mzF5Nhu9uJE3kJbBUbgqa8yjeS2UGFMeOtja8WZd8f1fz7smIRNNpppDopoRpdtg3f4Vq1sLk3d0RvaxZViu2hV3WmlVhF2luMgWpaDDrHbE7L2CPChNqONMULYXN4E+aUKGXdDJXYL2klKRyhW3W2FGzaTX3UVEUAqJuSsfrVUHbeopxg3r1hlIn0mkP1mGu7lHXr5nKiqu14j98k1C25OE8sKkcf/d6xdfXK1ZNRX1zh/vbv8Kh6T49YQpH+/Ur6vuvoCq5Ni1/Fx2urDgOE6Ux3K88V+uKsnKUm2vU139FaFqRIBY19vae2DYUTUWyBWVuQBilKKyitJrCKdmvZ6lPchVpSqxMxBaRdSuP0NIKUFUng5k2pDe/I7QrMb5t1pjbr5lWW9qp4M2VZlCOm500jd5sS3533bBZlVR6TfnmezEV73rMZot9/TvUekdoGqwVLy4gp3c9s9H+vaGCf3NwYLfb/Zv9ri/JWv/c8RIceHnM+6X5/19MK8gShZRf/6Ui/c++/guv/XOfYf5+/p0vP/d8/JqQ8C+BCQDFGPnfXcNxCOxKy64y7LxC62/Rdcn01TcolNCGVndMm1vCALZec3czcMmux3eN57oyXBcK4ybSuiUcn2QTtLtlWt3j3IbvXEMsGr59FZliYO00325KtmvPpnxNiv+J9Xol2jNXYG/eoK5uqVYNg60o6obHizg970rLttD4eIJ2i/7qd8T1TpDMm9eEag2TYlU43uwarBFjnDfbil3tpWPvK+z1HatvD5RXa0whlCNlLTr0bArHd7kjYLVsdJyW7qyuV0KDGnqhRDY7+iid98ZJV2FTOba1FyTQSteVosxF10lyS3ctyhWQYgYkPN/fNpRZI9g6QVu7KWHqK8xXv5P74UtYS8eSHtaF5a4t2FWJm9qJjCH3VEwjXW7XVMIauL4nFi0ho56lM/jKorPR1ewunlyFWQvt3hReKPDaoMJI4zSv25LDVWDXOGpnFn0WtsBsrkmXI7o5o1Y7KGpQGm9ER/rtToru20YkFyZmKltRUG6l6C5urzC7O3pT0k85Pz2b/LWldIcWSrqTwsSvConEyakCzkhn7XpVcOql49RkBHuMibIWdkLVj9LVrRo5xzjROsNdIx1wo6T7ZfPmXlUt7uoWUxQy5q7vSWWbqa1iTgPy/+taNhyquxCnCeXsQle17ZrkKtk0JXkYmZzi4cxzZJMyXmj+VYl2U47/khzzwkqcXVs6jghdcE4sSL7BtBuKndAvXVOJRj9FvFGsC8tN6zFatMUmU+hUvcZfX1O/fhLU+nqDqTey4dCw9pbbthDgpfa0zgh9EzEI9ZtG7tfdDrO5pteeMZ4prJZ0Cqu5W5fsqswa6QfRgANq6UC7pZlltPgeGCvOx6XLZpQIG0IpibBUJuuzY8AqRWmlkz9nWLtlEdXLNV3YJtOEmgZKK5To61WZGQdz10u6B3Z3R/HqNa6thWq+u2XyNemcDdwKh7Mmd6GsdAHGPL61JBXowkOmjEuBpxfq464RMzZxL4+kzBwAFklQdDXjlOhzB352BC+N6L0Jo+jcQxIwwrlFxvDSkHCW58wmfsQJJpFZxFG+T4NEEorBm1qKkbnwx5aywaoEIMAYmRfWL+P618csl0kvjeFCEoPW7oIaTlTlmk1puWkL9maiyXr+mBLJOFRZ49pKJGz1BnxFnzuC4xQXM8Jhkmv0MqpRa00IgdALY0SPF8pizapwtG7CKJlXJlPykhYARPlCCnVrJWoYcsxqZg4oiTKVbpzDVCtM3eJXvWhlXbkAFNYI3bp0dmEqvOwAKevEH4FJCrBREhkKW7Mq7NL5zHt2KZQzGGELRzDZ+HKOsExR6MRapFEzS2HKfgwzRV/FCFOPHo40bcWUwbHTqJb5OITEaYy0zTXBeDEnU4pkCgISkVlZTWHJkZsaO5zQY/YbsB7VegF0mmtSc82hD5yGyD6v097o5wQNJUCLygajKo+vlE0hnX42Tmy8pK64TMdU2mQaey/RgPWKZIvFmPalxGb2qJiiGNaqqpHUiGmS6zgO2DhwVVneZBlfiInbtuCqcjiNjP/1juZe3ObL+3vc6++5FGue9hdOQ8hMSs0q+y6VVpH6LhejYQF5pl6SJ0orBo/3u4r+MhJCZLcupfubjUZNfv5VV5IQ5NctulrJ+WRD0JBlax+OPe9PA099YLW6w7z+jrY70z8cxYR07NHdgevVK363rVh78auoveG6stKVP+6Jl8OzOe5slDaNeFPKa0oB5yr7Yg0tW8zuDotI3FRZo3evCPWO8xQ59pGnbuLQTzmpxuaxKoDo2m8oq62sVUrAj1kCozNrQfcHVH9ETx0hjFLoWidzZE7T8JareS8I3NYF9yuRvqiTPKtBTCnnI52P2MsTu/aWb9YSmTqESO0Nu9Jg531MvaK83YnB3zozJ63HToqb2vP93Ur8aLzmb+9W3LUFViV0UYpE9q+vKVbCvm3ur9Blg0qRxhu+WlecXiVuVgPOam5rT+EMAYWqr/C34G5eybzxDbG5xriWyQZc1XDTB1BQO8NV5dhWhlYHbKWITSkMOqWwdQu+ZXKlMKVsIYynFNChQoU1Kozy7HWe6CpSucYPkWKI1OuJ8yCm0I03rEvLrjA0qUKXFn33itSfxYuq2RJXtxjd8MY2pKLh7vqKIQhI+3pV8M265Grl8PprSAPbqyvS5SSNoc0N9v47wu4K77f4ZuJ6N3KZAk5rNpnqf1VaXKXQbYW6eyV7PutIZUss16R6QxmEiTGz8tzCmhODU5X926YEforUGWCNMS0gcW01ZehQpUavGhi+lvcqa2K1Ja7uSENC1yvW256/yX4o29Jx33pua0tZBYyLhKsrYb/UK/TmmtBck6oNk/YLqDl728315r/38RctK/j/h2VhvvCaz/5K6X/xFyvFbwpy9ZsfMF/816Uhop4Bgl+DAfPx53CPXw+KL8oMXhzSDbXU2QzFGy0vKCpIV7hSNvjJFsSyRRlLYROrCryzTFEozYVVQoO1Ct1u0Fbjd3ckpUi+xpQbgq640j6jebKpab2g4dvCUPYJY74nrXeyYFiLbrfEekdoW3StWY2R+ymhEAOQ1muq1KBbh3r1CuII2glroL1DnQOq7mm2PcdeUOjrxvPVquCusdQrg64M0/UN6XwA69Cba9i9Jqx3eOVp++ysnaCwUKqI7yMm3qLKUmQktiS2twzW09aG+y1o5xhDZOUN32wq1lWBnzxqd43+3Vf4siCOk3Tyr24xvqQuPK/W0EXYVFIM7EoxchxjIhYrzOaVuOJrSyjFVNCowKqQ7k7MJk6V0xAG2ahsbmjfTMRxxG6vMbdvmHxFOCcqK3T5MUhX6W4j2vEIJFeiNzc09x8Zns4SVVXWkFLurAsi2+SIv232jwADZYve3Qp4kmnQKI0zkavq2YTsOiP1ajpL4VlvKK97Mau6koJ7yAWGN1LolS4KBd7KxjApgy5r/LolDgFXi6YRwGkp6l+tCsZcJGzLDIBEya/Vm2v8NMA0oVthqxAnSmcXaqxWsCucgANaoaoWvbsTamzVotc3TK4kdgK2vDSnedUU1Fajwswa8Nl887kLLBsc6f663E1v5uhMWMwz3aoi9IN0wLQhpYg3ToCoRlg4lZPUjnE5vyvqVzu00YvBY1ICQNTe0DhDqNJiNjaERCxXmNs3rPqLGICtW9T2mmRF71Y5zcoLjXNTOvEcCZMUXlVLeb2RYn53R6rWDBmsKJ1ml4GT19uSXeWl2zK+6PBkl+557bM6u7NnCuU2g1E2P6gTiCbYmueYOYQ1VDnpJLa9zbT0LN8yFl1U2KrE1MUSFxeHjiIzKnaV45Q3j04rMYlUFlMJLVHufUOq1tI1TaOwKiphAKwKuxhUpSyZMYXLngxZI68E5KicYdt4vFWLq7PTaulS2KqQMTDrZouGvpvElBEWDak3mU6dTQJBOoriWeEEjH4BUBudNfNG9PwqCfMijpN098dR2ANxEvMsrXHWME5B2ClZy2+rGlO3uPYo962ol8JfK5E8COsgLeBCvtnP0YIZ0Itjh5kGyrymrEu3xOjNZrIpd/JN3ZJSELM3Kxnrsxnny0Mo+2SWSQaE5hSAlFBhytIO6XjO42d+v5kFILGL2dwRsneAjI8ZqFw60a5AVTW6XeNnv4mizPecbJpnaAuT50Y2JVMI8DDLEF6wW1QKCwjkrV6Al5ifQ6bZYNZbypue0I0CPtcrSYbQlpSmBRiKGTAJKZHUM4AQhw41DbK2asu6uZZbpVgowyFKpxIiZbEik85IsMhrlJF774zChg49HFFTn1kYFdqXxHJFbK/Yj/DYBz5dRo7DhDViDDeGJIyGqkbXK/z6QhpHMWwsqiVeuciGnKskQFs1AzsoAXWKCr8e0aV4vMxrbkpiYOitWgBZuYfIWlfW8poc25Ym6aSuvLAtZyB9WzoxZE2SwqFWO8qvgjAjbt8wrW459EKVH6bMSjHCMGudgF4SAasw5XPnX2mhmhc6cdcUfH/XLhKdr68qoWpnwNq3NfXtFmOFKVjebIRGP7NmmG9xohsij93EUx+4v9pS3LwhnfYo9/75B7sj6vSR2/qa0irGaPFaiVzx9BE9XohDnz0WRFqgAJUChRG/iMtk6UNcEjxCSqSiJdY7tLZiZmoLQr2jtxXn88hxnBaPkjEkQAw0CzsAnpSgNxpvDTrlbbVSOC2SBoYLjDKGU44dfrn+Ga0oveW6VSRtuBnE1O6qcjklI0vJqhputjktDPy6xpYFXidMOHO/3dDUkRDEY6j1mnI6YeoGf3tPzFGL7vqO4tV3hKsbpi4RfMt2N9BNsue6b0u+3RZcl+DC92yHEzc3N/QPR7Sz1Hdb7Nd/hbl7zWZ3i1sFNtcTx2EC5H7cNJ5todkUBtNdo4N0oqPxpGKFx2DKSJvNYWV9kyK29prKJLRNArrFMcv8csSyK0E7mWtKQTKoaCBZeZgqBcqCLwlaY4yidAqlNI1/fq/CqPwsKqBekYxB1RuSMiRfkXyNCtKlv2k9hTWMKVFozVXtsucA4GvM1StJ8uguoBW62UK9RimZy403KK2W4tkbSS9RmTFM2YKxAmpqCzazHxC5T8Gz78/M3obMInsRCa8yqO5NAiP7FYn4VfJ0cAUprVG+FmKetuAbUBqrE5VLvGpL+hAwSs69zsbCynioVjhjxMzWOqJvc7ywXIukZ4D6358t8PL4iwYH/i2O/76LrT777l8mLPz2N37p5/9HIT9KQWFEo2o0C100aUf0NUqL5jFpK7Sj/NlKo9FEIuIu7LWY/4g2uiQWoOIoKK0pRK+ZUqaaCcILgsh5LZvSZBzRVaiVQtetbGJNQco6P2/EUNDp58XGalmocHXuok4k6/OfNc7Bti6xznIZJbN5VVharymcwdJi0g3eeylMtEKVDbFYEQuP9TW+EHq2UnkxdQobKlTforKza3KyySmixbWBejPxdTcRctLCTeW4ri3N6LHu7xmrgvD1J9kM1C3m5ivS9StW6ytME1hvA/t+IsZE5RSVirResbIrdFNJXFUGXkbXEHzAlJGr7LTsDWy8ptUjerohpZG43sg9X21RV18xrna0jNzvYNCW622PUYqvtiWvtjXOGlISeYC7vsfUR9kcVy0ohUkTldO8agoaJ9FYM5UzaSPUwZUgnriCmDfTLptMKe0xClpvJIs4JKEntxtZWJzD7F4JwyFKjmzjRR4QUuI6gxJaKXldjjrSWmNKySSWWELpYN3ULptNwaoQ8CSBsCM216RphDChm7VobqM8lDblM5Oi9s+Oy8vr6hZV1MRCnKhhorafm9OscmdIxSCme614W/hNjWo2Uljm6L1VZbluPd7oRc6ildCYTdPg2kpc2utC7gdpkU7crAqsFgClMOLanqzkKxfXEuPkqkIohzk5osz0zzEKJX6OG4zFGnv9WuL9LgcoauzuFZNvno10vGWMkdbrZ+2r86hmjZ8yULC5EdOeKPOvdianU4hvwVVlKZQkKKQgbv7AUhAZJUDErhEPgG4UGuiqyOZGfQAjRberS0zpFwd8ifrTOWbOSAwluWttS1S7odg0TJcOY+2Sm00YKBbGiSfGtFAqx5jwrkSvdrmTWZJsuRSj3kgHE6BZupc5oaCscauaFKLEopXZoT3K63aNo/KGm1pMsbzJ8gBt0FWFLqKYNBYNQxKjvym7rDtrKI0AtTbTn5d1XuvnglhbIDM8tAbm6L/sexPDc/JHzr0XqkHAZKM5oxQhb/SHTL8sbIlu19j2SYrY7OavVI7ey7GO0jG1WCMMBomwlGgo042o3KVTKWZZiKb1oq8XWUg+qbmTX9Yyr3xBUkbSTJR0bwqrF/r2i4sBzqFLh8ljVBZxiYYqjZgKjlY/O/Pn1ynjwXqe3VnlmTk/GxaNcJ5Dk3IY36CaDXropbuaC1qdX1NambshF7VO62dJoTby+aJ7Fpcmic0SGukMRsCYEpQNtDvM9WsKII09ulqJUVjRMGTTw5iyRMeo34AopAgh548DWhswjqZYE1NCq2cKvjiKa0KMWM1niSkoYQxYrTBxQA0XmCUL2kApz/tYbehVwXGYeOomPl3GXEwmjtawLhKUFck3MudGYcSoZo0qygXU8FYv3enGCXNgkeW4At1uZdiUYoAYbUmYDQyNZlU9m7bN9zEZj65WpKolaslNJwXU2NGsthm4FxC2sgJmECeScZjtzcI0UVvJND+f48L2qLxI42Zqt9QSWthvWQLmVyU2e+AwXNiWnm93spaOIfJ6U2a2giIZh85Ga64W1sCscx+DjJm6kCSVTk1ishrFAPMyRWy9w9y8kX1U30FRi6HlcMYazy7LNA0R1e/R/ZHYd4vBoFw82SPOUaSllefnZYwL+BiTmFn6Yo3xFdZoMJ5UremHiCsMVaVZRwOuYIwCpNTO4EufWTEWl9dWZ1SOHs1JNGFAuYRyEeVA1R6GRmpaX0K5wW7WrHzLeojcjhKHp/NzZuUMdThhuSbyHaGwxK9OAvqUDWZ3i72+JrYtqdkwas8U5TnlNeiuQFcGtWlJ/UXGelET6h2xblibCK5g1Uh06dy82BQWbydsu8N++1f4piZ10jDRjYDRqa7R3rFKBrQVZhRJklKswmhhD+iyIY55XTNGivoooKzn2ePEKAE1jEqZHeUk3jJI/CHZdHKpW1IWPKcokgLsM5BpHeSkpkUy9YxrLqbJIM2cZEtAk7KIOlmf57LMydZZCiOG3Cavk26u1rUjuQa9AZosaXEF0eQ4VJ5rjPlRZrScq5qviSmez0lpknEL0GgUBK2wWYCnEBAgAsSMj6RnrxOjQaXnIl3rbD2vNGgHnsUcGO1IRjwDjCJLY5OAwoDXImMQIMFIbZF945J2JFeQ8t7tJUtgXnn/UgCCv2hw4F8v1P/11788nrvw//Ll///l5nxJgvClv/vtZ/i3OWYKVtSf61WwLjukZ4dPbUj578SYChR6AQ1n9+qkBG0HSFFQWoyRxSNJF5ekiS8KfG9yrrAR9BCtJb4nf46ZaWEykLGsDzpHROaFRXTn84QqlgJGJp2lsvKAnAEJob8LCKLRUAz5XP1yDgYozLPZh5knvbZgS/lsSotjunYQE16Lm3SZu1I+F82l0+hgoWzxr74hrncCDrhCIvCKCmUNbWlQJtKWYgI1m4DVTlNZhW5r0WxC1h0r7JSoprjQ62bNXZF6tAe9Xi2AQrQVqd7RFRtu/EQqW3a7kdMwobKZyldtwa5QtKHEVIq0XZPOR9lU12vi6obYbimTYztFhknAE68VtVVUOqCaAtWvhVmhtJjiVBtMHalGiaGTwkHcb12n0OqOYBTnx0YcWdudbCCTFFzbyj37ZRSWXSnpB1iP2V7jTvfoao+yDrO5EYQ4isnMbV1glGzk1jk5QCEbwFStMTvZFKuiJlnZ5Fj9/JABGX+zrCC6El2tUYV0PpKvl+s/m9OAxHnVOVJLfkmNW7e4WgpMMWp06CRd/FeZquqtEbp+YfKYk6zncrdaNNbKy886o1h7YYCUTmLOqpzkIJFjV5irW8q8WdXtWmjZyPytnMkbFRnn4mBeoZprzCtgEAfzUG7lPId8v41evnReUJKrRPaSaZx6vSO4ihBlA78qHKzlta8anxM1DpJdPknSwdLpjhHCQOM0V7Xn66uabpy4W5dsytxZJ0Km3Yd+xLcV+kVH0Wnpss759ZAN5pxIiPzVljgE8SwoJKZO5CiOVWG4jLLhKf/v9t5tS3JUyRadBrr4JSIys6pW7+7eq/fL+f9vO2Ocs1ZlZrgL9oMBAgQIyeUeHpmaY1Slhy6AEAKzaRcaM2doHjNoe37mpoVqWicUHVtpwjPYG4AFMQ20HCN//PON3eDfvoKOL1Ak3Tt463ie+nJo8NKzkgrF7szU9vzv8Wz2PVe8i4mZ56zXQCsEC/AmRo3shNmwtdtfXyQRpElimExoZC3rxl3YuqRzlmsu6WoTuDUHHtsvJ+jLxSndltx57Rt8O3MOh7NRqngilxD9Ed35yP1+PLDrPaw1kPvh0EqzE4D5Hs1Wc9bNn3MAkNlWkOeL12OLy3VwyUsBFkzR8o4PUIq3xGt7t40eADRSoB04Jtl2iyYT5y5HsYc0E16tIJPLRDhXVK05R0Vrs4C//+AEXt3oOdAI4KVr8OPK1nsbNuFyOjS8TSc6/o6paQGiMVSRCMrsBPF+1fg+EE6nb5D/8T+g7gD9/gPi9AJ6/RPX/g3vg5p4VcTekqQ5vEa//2DBvOmg5b/QiBan9gBA4QeMpwIMkQgNpQlCjZ4olvyQ+gpcfrLSpgZeL5uOjQH9C/ThDX//GPBj4C3evl8GvJvdA94Hthz/GDSO/QvkV0467JIftrzPPQ08T7/2DXqpcGyZCGShXQDdAeL8BpKNI5QgG+e98dI1uJ65Uzi5ozc2Dyeoly+cTd+8exouaNQ73roGUnDeAmuZBAbopoM4vUEeTuxVeP4D37XE+8CKzEsvcTl1OB8afLUZ3AFQf0Dz9Q+8/O9/oXs9QvY9Dn99YS9KdcW5O+B/3g5ohcBVKXw5tPh6NN56knM3HC8/cfz5N+j8Bc0//gl1YDL/0Er84/WAf/0Y8K+fV3w7tTibBNSyO+Ll9b8hWwK+vDE5IHm9weEM3bfQLTNSpACSLYQ8A80AfWiB95+glsM18PoN6vwnroevOL4P+HZReOdkH44MO7WcR6oTGkKyovvjqjFcFPRFAYcrDi8X/PuicB0UK4etxIshU1573rqzlybPh5FJJTSPs/cGNLSgi8mhYcIPtGyh2wN006DtWogGOJkkqYJ4l4uD0BDfeZcPcXqF+ON/Qf38m+eYtoc4v3Kb1QD9/h1tT2jduHhnJa5pAJyBpmfZpz2wkQy8Vh9NOORgwgg7OSq+uj1AvP7B1uGff3Nujv4IOn3hnAXGa1Zpnj9sfrLObCurTQgUOpu/zSi1YGUdAKQ19ps5iOwfQgK6ZXndKrPRzm7uGMDJ042HkxYcZmWd0jg100g+Sho9qxTApLpsxvxtonHKNu/8Agg203MfCeK2gp9PdQez/hoSnMzuI0SAHtBJCWD0rCLbJhilXdpkqYacsF4RNBolYLwFfSgAwiMGbBL60cuAxl0DSHCbrgARjxEtpCMH2FPJkg3kCF+rZ0BIzpHh724n+6Cdz0IGxHhqcmAJSh28VefHin2OuLj3y7YEBJn/pCDnmmVlEo7LBLQys4mzOPFEZCcU++FIP9qCJCvXdpYwmTXtfQAZQZq9FSYsWwNAWJaNWU+yWz/ZiQxwSRpH5Xz8gDRJaCOotJpADTBoI7CQNxGLBiR7qA4g1bhjEC2sJtB4AqJz3fFJDzMxKhhhVnIvtdIQIIagYPd34oXiqCDaDmRiZ3VzZKJBK2PxFbgQC10CNsZXY1AEEiNhMmhOKiVIozdWIIJhSAnQ1EA3R6gDgIEXC90eoExSrU4I47Ir8HNgS/65lTh1vD9zJ79ACAXRm0UWJsSkf4E+9BCiR3vl+Ew7lnrJiz61EnQ6GbczHhO6PaJV4YLMLrKAOHCIB97e8PU/fzJL2p0wnL7iODQ4/Bjw9ifvzwwAbx1nef7zKHG6vkC8dNB/fONsu00LOr1BvfyF4fUvdIPEy9cB/3VRuCjF1vKW2C0eL6CXHvT+B0hd8fOq8BNsRVbUQUuF3mxP2Em2hrQNgfQF1EgmP2QL0RxxFRKHjvAKiUNntimShPNBoNEDRNuj/fINErzdnji9Qb58wbXt0SpOcvX3qzIu87xvriXEtDQW+T9/Qg/vkK/fIPojBrA3xh/HDt+vCi8mU/epa9iSJ1u2uv3xX0DPwrR4/QNDe3DJCw+NxLlVZgFn6873q8LL8QsGAHTgmE3dv+AdDQY9mCR6diG1BB+/Y/H6B6g9cCxf/8oLmoaxJEnnvv3nqeXEUX9/d3HcjXG7J9nxN3294ND0+OvU4ue3I94HFopdckgAkA3aswkjOR/NfuK8+DeSLYMvPbu1CyJO4tOfQec3yG//CweAs3q/vLltn5hga/DaKyit8dIZhdYIRDx3GJdEm2DOuL6/dcY62Bg3SBLsqfD2DY35jsSXv0CnN3Y7/MEWBOsJ88eRtz+UyihUYM8R6jhBmurGnQokcTjBsWUXdUsouO2o2sbkOeigxZhvQNKYKd+6xHNT2e1etA30oFyGfYJ2wmTXCLdziHWh103LuwX0x9EdXitIsPfU10OL//hywPf3wShxNjygBQ5H9qKRhPbl6EIEtFlgOObTyxdh5nmSRmETkidnNUAat+fXvsW30xWXoeFvwlreJSt84vSKTjLZwspi61yvpVVsvTURhhwgIaENOQt1BZntUo+NRN9ICJMd3mb3PzYHE3b0jeOrew6vYm84TtJ3UUzsvnXtaN2C+QYOR5DmnRJY+JWB7DCYMAqbA+Bw/MreBU0PMVygZYvh8IahO+Pnz4FzIZitRFvB34PdvYPXzrFsfX3n7dvaA+jyN/q2h2rYZ/B9gNFEeF2C0GgJgCKQ0J4ld2Crq9lZRJtEi6o9QPdnfDfK//d3hZ+D2ZZPh8/286px6M9Ql1eIb7yrjZYNVMckIA2EhtgD410qHI3yKYmYfGuPEOc36I7zw+juzOToYOehDm0jIAVv23juW5OHowMdzmi//gX9/jeIpAnRkCA94OVwQuOR8p0ULL4cX0FtBygF3fYQxy/AlT0ZX44K/1CEL2eFYyPxj3OHP99e8PXrCY3+J5R+x7c//gC+/5v3kP/2H2j/+f9g+PInDt0XvHy94n/emeQ5dRKvncQfR4n2VaD5eoT+5z+hf/5gRf3LXxje/guN6jGc3nH48hP//N8/8ePCset/nTr8z9cDvr70eD1IXoN/vHHoh3Urb3jLTt0Ya6VWwPUAagmib6BOJyYhG3YrV90L9OEEdehBLdCbbRutzNkYa78QrLQqcBjKu9JsjSYO7Ti1DaQwWz6atebYjARvCG0st9qZim1uAXjyEmj0EqLLdxzaIzrimY3Admz6+W8n61Dbg05nCNmwx0jTcX4oEiy7qQvE+w9HRFuZl41HANCNpIQhECx5KUBOvmut0ctcq7oXCNGAjqfxmDVGaQVJ0sh4AkqNsrsguD4luI3T3bxmZTTnfEW+kQ3cRq1BCqPJ38x9mrx+dwKxGPvZm5dsPVDayevk3Wbd8YUYjT12HAAsT2gaPZmFMAZIZyYnQLRGbrfkgHBrPrSCIA471N6EZqOmbXi4lq3zHOC/G9dWYYgWlRhulhiw+o+/Kx2HuPj9JlgOsuNSNpEuRcEGdtaLj+yDUwMt2cMP1DhywdWH7Y3GW+CXIQdqkXsJtR4Kt3gyrMHcgLFsmsY4oPm3WcTJpsL0XIvAH4OEdoKEtTopRzJINyF7az0nORHaTcZEoycATNZx7uPROmQ/MJiJdGrgIu8aTCcpYhbBsqV2yy7ndWAsCG6CtyyiEG6SSXUkCzm2Iun6UBoCRHoESGuZQBJsdZQDL7zafPAtx4OydU4GbCJg+5TcrhbBlpbaWP2EdpO+FOHzAUdAWvcpJj+s11gvCaKXOJlFphGETnh92RygezUKxNZLAhzf10u4JGHSeKDYrcY0es9ty1gpBNAaKwK/DzthEyeAIrb0wHhniPaAjjTOPUFIgbfjqLydGo67lfIAMbyCGgn6+hd3S3uE6l8gDwe8aAnRcOIYbZK3dYLY3Zw46Q+GF96+y7CzqjtgEC1+XnnnBuWSvgG9IIjhjZPEaN4eTckOP5XA6wD8GFgIF8SuhqdGoBt+QBwF6OsLJ9FRA+h4xnD4AnX+A61u0Z4HfPl6wf/777+hlcKfxw7fjg1OPaF5/Qr89//BcD5z1tuXLxBf/4Hr+YxBnHCVA2TX4e/LFQ0J/HXuOPFfLzjJZtuAvnwFSEJ1Z8jTK67U4aQE/iCJrmuhNXBsCE0joUlgkA3kSXDIhSDo5oDLhV0ZCWytAQxZCHJWEqXGuDjVnaDbHnRhz5I/ji2uHUxsN7tDwmyHJfoTurefICkhTmdWxvSAgxT469Rh0MD7VeGtb/DWjYKiOL1Cvn0D9aw8i5c3E3/O3hDHlpNG2aQ9GrwzhDi8Qv7xn/ZjYwtve+Q8HYpDXi6Kw1Fee95StTNKaDgZKLd914sJ0QDA7oHEc4U223e5cAmTN2CgBhxTK0wSQg5nODYCuHx34QHUcY4CceAt2EYrCxMffcP5H6QgwH6rgnj3joYtplqOngN2azRgdAfXPJ24nQfU+wDR9/zujTuq9fZ6b0ZrvAIAybsTuD3PAU5sd/mJY9vi27HB90uHn73iHSoau2OMhHj5iubrnxD9vzjB49s3qPbgdmIgazXyiFqnrDcdZ7JXGqQGdMJkiz5I/Lx2uCh+d0ezQ40WDUTPeQB0xwnnxPkNQ9O792Yx8aaw64KxrJEaOPma6PDSCfz9LvD9CrdbiNKa3V27E7unyw6iO2AwQj67Awu8dS0GrVmptYqCIA47Ob0ykXj+wlYk0QQkBgBcFO9z3knC//9OeD19YzJRD+wp0Z/x4xLGGh8w5qcI12DOq6CvTIRAswBOwzv05Sfa9ojerEv+jqsCLEiQCPuNhWLNfacUrwtNC9GfQYcX6HcF0RDalvBy0BBSYQArg299g8OBtwNu+iMnaL2cOQ+HbJg87k44SA3VaBwUyxatILclWa8ERDOAjj1v02k8FtTxFWqQkAfgz79a/LhoCAEcGomXXuCtlzgOPyFeDxB/fIGw3nrGS0z3r9D9CQOZb1EzKS/UBTR85bEPQLcdrqJHf9Ho3wecv17x3+9DEEv9pWNXeqn/gmw01NsXjqWWzWiN73vIY88hHkftQiLGLOovICiI7sjWa9lCHd4gDmd078DXE3AF5265mOSXrz2HvgkiJoGbA3R3NUq0cm+Wv2VLiCmQ0Yq0bEG9FQIbJvrkqCg3JFiWAQUymQ1rsTQY714FF67SmpAgG84HsDdP13CYmKRRoXWlki3djGOAxwgG9h4BRgVXD8b78jukUXDJJFKk4d3NnyQFEwSWXDChTFy+4rwu9l5fJhPSKM2GcpCjKzkRzLqlIUEm9A1uBx0tWp4ziEDG9V0LXled27sAGm0JPfPI5J7eKZr+bGaNUz61KARNd0EjDguFJpZtKOrTJDEgJnK+gA4JBXjGRw0Mpu0+gTFa40eZUtAYtuUrzVpIpleCdo1eDgSNxpAMvjHUwnotQFH4LIGeE3oJxLCeGkG3eM8JkCfnT3UpIvZO5iSPpj7YeV27nZj4JbOXsvu+8LzEAPAbkgPAfV7GPUiDUhv9c5ZtdFZxe0XgTkTu4x8nIXLX20ENc43y6tDeNZYQ0N6HEEzyQhhLrAgYPS5IjZN0/ByJdsLUJQWzyrZO6TN7GNlCRxEmkk7S5DdN6gTGCZjEOErYOmd6gogV7rYfY4Its2w9IjB6WFjLGVFIiji21ZuYhDfhjMsUsReHddEWwsS3w1mN2R1NYxDaMZlSjGQENS20PgLSxjDzxKyNa6wUZJKYkceaGssqAFjKwnODasW4gDm1RJiFkV1WeIEyoSx2cThIgcELSXEeEhDsfQGEISmGxJDEipoY4Iipka2XTM54M72WbA0m8/7srrI+meW8a2CsmIKTAXakIYRwC1srOXRCXiRbEIXghJ8AIDqI/gTVH3BCC00Kx0OPf3w5O0vUaydwlgqyvUC8HoH/+E9WTtsOqn+DOn3DsTnh+Drgjwu7GBOxlf7cSpxbQvPSA+9/m4zinMtDHV5xGAj9ReHtYjLzag4X6AX3V0tsTREm9u6qNOSg0Q7K7FlvF2EmmY4N0BwayMsL1MAZtdEdQcc34KIgDwNeBs6L0QiOyT+JK8TxCPr6DYO6QJ1fACFAL98gXt5wbSTObYuvWqCREt8vVw7TaWycroQ4nqG//AW6vnMCsdc/MLjQEA7XsN+Kdcm8KI2+f4N8/Y6maTjR2PEE1RpiysY+diykHhuB3rrsG4sxj3sjJA7v6CW7JL/10gjgPOYHDYj2CH36Amk8E3R3hupssk1wEiXdmG2T2AOHLu+sZBh3dlbwjeVBje7sJ8Xxy6eucZ4DADhPRc+5KdD2bLHVI0HaGQue3RJUaQCSk7C15yNUf2WXVufmz/13aqVTTqSZzzVJR2DQ9coC8vUddP2BQ8OZ3N+vHN98bIRLtGn319Zf/gKdOMkcvXyDNnuRX4yS5SxuZJRPKzj5yvpwAd6/49h0jky6Dgovpl+kuY+O1tWfd5rRhxdWNC/aWfEFGY8YT+EgW58lktUVpC5oJe9Gc+qY6LHbSTJp0rFS3x05gZYw2xmqKxrBe5vbsdlJtoDb+UU3nM2fB64Zm00LfYEh5wRaMXpwXJTGj0FBXICuPTvi/3LVuGhASokWEm+ygYLGoWnYzbtrcOwFhDpB0BWib1k5JUB0B6A7cjbv7gB9eEH3fsXPQRkyn0MbbH6PRhIrclKggQINR2B4Z2XMrumygTicMcge8qLRXxVerhqv71f8uHDuB0uWvXQNzi0nH+6JrdqklPHC6zGgwWHQnE9B8zwtYVzEG0KrLxA/T5wMdriywtgcofoTDlri+0UFW8iOYUiEVmkQTkxKKRPbbMh8LQiaNIS0PjVWceG4aS3hvCGtRbQRhNeet+D1Y8WdNVz20N0rxBcBnC4gKZjklGyBFgAOLUEOozzTGtuFdSVXRnnQsuOQBk0gYjLg26FBL8klkj620nkNKQ0OHR1s3pXrqPkAY/C204YEtAAbksx3pUXr3MsBJlukFiDJa4VV9LUevU6ZRAMGG31OTHh2JgxUWY9PSWiNh5blAqxI5OSdeCcwM2lpwBEaUApEV3NMuXWedxIbTPiLcooxhyuN5ACkHMtWChA2CB0ehCOBtb3HsxYrsPzhrMXOmEMst2jNMpYaPWhBxkPKyl3EnaV1GBdvX1FKoWX5bBQkrTdu0GdWVkToReSTAgACYsDKwBG3mjDkAVprKKMMq+C4vWc0PErvu7LeEbZuIraq+6VY8oS04nWZxISY8l8Uu+mHhsgU7DtLwX9GEf1tpMZk2eb1uTAF0PiMQbcZnSFoc6adz4TfkhwAHu8BYLEVKeG33w7SadkUXB+zkCl3m1Qd8X22aP9D4HnRMLgSPDk5ttb/EEa2OdXWuJ1EAGnjHeGREz6RQSbsgdykiJFJjOoM3/uUQLBMoPIUfSnMc9uFy3pIZBlPO/HzIurz91aAF1EX+O/Dn6ACLxDBdWuMcWBE3L2tMi60IF7QBbn1TosGaMFJamLCxvPm0P67tGfJm3ijXnMxWt61vvuVJTL4GQg29N8y5ixEmL6gZnQpkzZWbnS/kuTlizB1+smzxjAaz/XLiz2zLpCWzOI2SePuxU/hCCLBSjULb9zucdwbImIQsOEo7PZokui0nM1XGXatMzGVNhmNag7GmqcA0THJZOo4GIXkajrKkSeCWDEhwZYzIg67kA1vAaYJJ2FipU3ntIKVFJfB3rxvqTXEoNEqI8yZsWhDdQ6S0JJiQXoYePw0HTQ16JTGiyeESyOEd+oHRDtAnHvob984UzoJ0IF3AVDHb7j0L3h91/h+uZoYe/ZwOEsNHAB6OQJ//gU9DBDHE4b2BZfDF2jVQPVAc7ji//vxDghu49dTh8uPfwOHM9TwDUK2gLpCmRAMTbwVWyPG0IBDY7wc3v92idW04i2haOC46q7r0BtBuBHGdR+c56LpTlBqYGuQ4NwM6M+4XIw3C5GzHPcN/0tOyTc7ZhxOPM6NVGGTgEriTOkvneD97rV2Vi7qTxyOcHpl4d30fy/HxInWtVHDWAOPvIuGuF457rY7YBANxMC7DhzMfUeTZZ2nMI75pO4AXH6yUK4U6PoDp+M3nFsOk/n7fXAWa/72WrO12T9cAr3h8Mp98/3q5qqJsg6we3fTsmcLwMr69QdO/QHnK+e0eL9q9vgwiT05jpNj0PWRt5Ya+hcMosO7ugYxsr4gzRY19lSAIT+gFaAGdB0rwy+dgKQGbltIMDHUNP0YO2qJDZMAtBME1XDy0E5ynLx16VbtAV++fOUQrO6IoT0B56/Au4L4ccFREb4pgiKOtz620oxT3iqUM2YTBsVk2ADi7O9WFxWEXnAM+LkVoFML8X4CXX4Y12rN67DsoLsDK9XdAS/U4mp2qQBgkkDa9YNc/iIBze9kuIYxzCYh2LsCWmj0QgFCQzYNfg4DlGLlqTPJIaUUUGA3YJINtCE5iVh9kABa0mj06OHVCENL++7GZq7ldYHnXJt7xoYd2kRqThwXLXSrAGU9HxrjVWnkBbqChCcKO69LVpoGjIpFSwQtiGP7zZjuhHBrG4dKHNgY0Jr504bkEQF6QGdyY7gy7eIiJbTuEOSJantoGutRDXsmKi1dGJRNJu3aLlsunUTgLTCBZzFmRdIotmJUnkcrKAGekcaOGQ1jRdbhbgoEoCUB2YwHGyHc+7Hzqr3Wt5pP2ggbZuBrbdbqPz4X2W3GhwHQo+GGhPYUYmJLsFcWK6LCNMS7zn7rdp33lVRjiPDXVsDIl6JhL09FcHHqRDxv+e7k7plDI10JAQ/gT23ecTZ0mD/89+6TAqZvfGLAGay8Mq27PBDKrNZdX2QUKds/9rcz6oUXZTwcrPA7yttjD/mDLFKwE89ii4vzDixH+sXYPnL8c+pqEbXzk+DpyQGrDNxy/2dEqd2p/oivr+mz0pDN3R+wbNEHwX8Io6h7ZU1YstEqX6rTkNcQwrDs3vFwEqVxkYuyU6fYvlK9jtX2JsSpwmyyvMaMp6dwE2gkNDKd6XsNaD2+j6mHATmPC21q1V77pPF0sFPoGHJh7icJu/ZZkclnL+MJzVWfnHynfehfH7wDb7J2Qoa3wljG3ZUijcOc9jwVxNjOyf3wFX0vjCZyL7Psbuiz4rHCGEmpsN/GRQ3OM0ICaJ0VgfvWxBEK6cJPtLEGNYLQENh6TILJgKuV7Btn0RAYQ1es0mX7h2zfNi2grbujdU1mpVSZLlQE52aoYdw8Bb8FE17sulsYYdqSfILYVVCSgJA9IAa3MCuYOELB1gDbzlYANGig6YF2gBAS4mjcd2ULdAeQlGilxLkHhztouFCdTmgI/QrqGtCFLay6aaDbM/rDK+iq0VwUDieFb8Z81wi2aP49XPBzuKLvz1BCutAG3R5wsZY+SS7BmrPmv184O74ye3sLCW08CaxLuwLh6kUeKJMAEf2Zw4pIAG2Pn4owGAFMmr6x2dJJsaVVEzgxnUlKaBUPAc6s/9Y3+DFw/PKhMYrGld236fjC84JsQP2REyeaug6txMlowsfWvCcNY63+Av3+g7emPL8Z7yNORsb5OqTzpji2YzJKiMYlwrNb/UENaPQV55a9FqzHgIutbzi3CL88jaFhj5jvg8Z10Jw7hrjRlsSA+b6YkGgceUKGjOiPGudWgohwkRzudJCs7GtweAyM845qDuyloMYs/K1ghbt1Xl+Ac7lvezNWjAKgrmhN+ZdGOmKgMS67voJH4PlfkwDMbgw2b4YCE3LSfFRaNOjOX3D69gVkQrl0d8BV9sBFozkqE/I0Wg7tdxEkNYQlgFlZF2IUum0yxaYRxkDV8LeotVEyjQXRI8tJK/bGk2z94wz25OYh8uYQnjDMPBxYHKVxIzZEITjcECAIkkGiY0uyaLDnUiNM3h1zjB3y+Lg2ngOOTLYTmVsblLcu8LhqYZIpm8nNkhujlZL4GycBthJ75LjWzkrpxoj718TUa7jnEQLoIDAYXwMbb07Guq0l50DSZly5/jKkRhBLbYcl4K6bxDabfibYugmDeVb7/m0cNj+vJa/YmKDN+3bChfIVbTkqZVYJJoFYMrRKrC/H+MRArHgR2NNBiikBwHlS4NYdNmKM18DmtsiATL28PayaynNa8+4w7gb2jhiNIt5/iJRl9x7IjRFnZCDpxsLYL+OYA8aQXLJzhWLvBufxGcklQGgU8o8lnz2+LiN/A/57H0ubGHoSynSq631SIJCDddrAaOVZ31vWfo9uJog9HBCFdfiIQz5SqLDE+4Rc7nxQrV985lxWFvbaNenSSC+xU9yz4enJgVtQUrC3xNYvdmm7/cGVuzeleE8mdXNzyrINpI9l65v9WEOCQEf/ujphY/TDY5NS7AeXcksr9OikX2wdHingJjQ72WoNDQVyiwuFk1MUPpHqN3vcJwhKbfT7J2borcXHlmPddoV3j1OeYyHIKydJ2WTeY7K5CTIhIF6EDV8YhVt/qXRhDM6FwhNoMTf+COGkS2HdNB3X/vnJtUgTQ/Bd4UiMghUQJPq0YLZcj/cK6XbS8AUU6AGNYGXIZ+PH3E2sSFmyaBwHLIgJI2XYuixRxAQBvJwivgujKZnG8wArCzBCjt83Vti3HhiN8J+NTIZnALLlz0U2ZmtI83zE5jx7v81tYXNqaGGtg+z26+KyjQAu3Fgg4+3CVlTZdGh63m/bWv0Gs3VpayRb69KO4d15DQTQmu8f3tGKFi0RhOSEU9a1+33Q6JoDJ5kjgatml3een0aFhJPv0ViHiZHXSgHdwcvdQWYLS4nuKozXgWDCjAQgO4jTC5QQY4Z2YT1pOIHeteU6jo2EFBi3vjy9QAzvgNIcsmGs3gJMJLz1DbpGmW3/hHv/HIN8hLBJFM18h8tPdM0JR80eGQBbbIW1xLXHcc5vevYaeOfkdCTMDgnAmKeAjMItWw558D9ONZg8B6z9X4R5ly6Wv2GSDYDz4OiOGK48tjkZIbelb8ZdHFx9XQ/oAXbPdDJWyM64ottxxnlfrHQr3Za8pmPMe+Bvwn6Pkrz1qWlBjeT22RAr2TsCw1eobRYfT2d13kc+CNYjAs5LrJVedm3BioxuOh7P/nZm9v0Ya7kQrfk2zGGdWPcMQ69NqNhobWbvNW1c3q2iB2gIF0Q9ttVi0LwG+PMwzwdM5pA3l/rekOyGPHojWnKGSJodDeDy+zhPP3/eNXlBRvfeKEHbRAEZlaaYiIch4t378LgG69VA4PE2kjNT40FWkZDj+/JnKT/3kg0BtN4DwRaUQkAr4jh9Gud7J7941mTXB84LzngNeH0jCIH3z2TrzLGn3TVmaQqszmTGqyQysfojSTBZ2+P5GXBhBS68IEkiGO+BWA70FGJtntEmo+bj5B2ToTJv8lHZsWBL1lH9HJplZQc5htb65KQnlzg5I/EYOXkw7qeJfOI9c1IvSchI9r84pMCWX9JvLGk2uc8OK4zvNyviEiFFiZA21GMs1/vPErX2Xkp2Sb+Kjzl9IYVojnlm/NLkwCOwZDDecyjkys4pQAACgmDOnSlXZ1ZJjD9m+1HUsIBRG3OuSxbG1hDWE7Ryen2yLoSTQPB8wWLDk5lGKCjGtaTCJybkB6Un5cCCPQMRvYjJOgvTPwlPCh+bjM/M5GffYywABuPOt/4nyiPkiZZgDMRNMudT96bIIXttMAbMdj1EyrnCTZ5XDxBmWztbFqBHId0+tcC4qpJRvrSCIN5TPmbqbZt8L4eU94h1+0xBRYIMZcaL1oZQQIaMIfbAcIu9U5YaaKmDb5/fpXTHhJCcYGjsCb7OuloaAdom3HQCqTDWQYzEglUELoMGkYISAkIwETEM/BCCYLJnj9ZYuoyu0VoI3mnAI/doGNC0HTrJOyLE/X5RgCAOG1F63FLO5viQhoSQgkBKm7jzfnyPsnOeA5I4T4HSEodm3BJLGsJJNz3o9AbZch4A3Z3htm+TnBfBkkdvh8Z5nHCitzPEq3mhsnV5GKRgpf7LocHRuOsfjHeFdUkWh9P4wo0STlA4SIJSo/I8hiMJUNOPilvL7ubWVb0VTGSQAI7GVZ4AJixNfWSt0jbbtLqgE0fohiCtF4jxOuDtCFvTjwQ0Pa4QGBTviMPhAdwXnXk27lKO/6buCCE51l7LjtuvBrSyQa8A0WgTTx57HciR7DJEptYK0iZ1tJ+0GeMkGhMf37GXkEl8p8wX7SvUExsosVVeRN+zAH94lpNshO1L8y2ZdrpEXyJet3hMsLV8MO+SJvNjUKv9pj3LZ2odk5pAIlQkCTaUZCQfUsqlnVf88ibyRcI9l+AlOfbmXbJkPmy/GG+/WP5ICj5p12TStp3huhaoNjQm7rXzuj3utz8rN3lt00E9Y+6lwbgS2ERvlpCavDOyK4WYEgTRtaNVO1KaDQS4D7X5pnOCieGoIUGOLANGGcXupiPMfGn7zs6wFCv2ExTO2fuSBiJ4HgG8G5bLPeA/t3lPdms+nvlG5dmuuz4xYL1dFHHzpMC420CUYyseV0BZ9s7JO/Hh7Pc6uXFKDKyB9VzJwdWSkGVcGWTCH+x2DdnKEs9SkPPXPFdJI3Hfjldu/AnQ5A6E3/5CvecZ8CnIgcJcVLzn3rgHS1XT7tr+yF1TY7HOeQ/Y+kt/80GB2MqyFeI2h6xevgdr+oySvytYQLOguj1fzX0UlRJPMkBouSnBnrfsNfcDTRh0353LLtCh8pyf1tZjWo6dpAlplty3GAQERlDsKDoEC0uixiXfY+p+V2X0bwDPFS64x7LcYCWEK2FBx20DFtwQiJRBAh6ZYcB19G9cHGUeqtQvkz5MJBuy78h3Y5wu9CwIaemNRyeMjeNuSuAQW4KDb0liwKhEEIxAbuVdsGjz8vICwonDDEJjF38jnpLSCM4jQZeD+e+HSbBmvQ1a6O7IO3t0J1w0u0D736SgUdi1QuJVceiGPwfZ3A1SXyB+HkHX7+wGC7D12CRTO2uBH1cmOBQ4+eWhIRwlQV4PoNcTxPsP08bGJJN7xYk6HC4ar1dOKglT56nh7T17fQb9fAFdfhhyQEK3Z6jDK7qrxstF44dSJqEpK9PnjnDAFeLUQvz8wsnfABP3bLY36854BbmM+QDHSzdERv3g70KB8FNp9FeN46A58aXWzqvi2AicbDt/HPgZ1bvZNaTlZHHtGao7QFHLWbFNTgdBAOmBQzZcgtYe70rjMADnK+/Jbrk4+y5OLaHDFeLHEXT5bjKdMxmh2yNnrRc93rWG5Y/YKgt0RBAYQJefbltKF0PcdNDOxd7ch1G5FQRAckI0ZcZ08HloGG+hsU9dUjLAbZU2nhv/tf3hb2XGJz1LeUrsNRm+CVenFJKnNCRnjIJSYUk4bZRX4bXbkhg21M0qFSmLY4oUzc1e8XxL8epglcw41t48x8TbrwI2gzso8rIIGW5HELhM6kBoiXbPNS9Jjc9oiCFwAkX/DiHIkRT8bAIEk5tGC5h97bJr3mghH5XnbB+YfwWRyz0Tt9wSBIEzA+C8qyxZZLe1dm2feHNliIDK43Gm/YAYsJ4ChsC23gS8vfWUGBjUlBgIFMWIIJizls/JKjVeukXJLSt/j1+VL0/Y0JlUz9oZoUZSDGry5Ia1UqaTp4vKdWmmmIpeWyH9TDW6wucgCT4FObAUn5UY2BK3tq+GGLg3KWBJjCKpiKw4cxPmiYFSo8Ln9yfXkMhIkwQpxMSBtaJyU8Ibc+TJWG/tF+K3ctlXlXsfftuyz1sxbuaIglIb4vOlJ8suO4n37wRW8/7JCqe+BQnARGD3hXUx7rIQt6xEClgBXUWCSw2sBcrVo8dkQ0QlotBq3+z9wF6s3si0Lpx+exMlMCkUbps6qFDBt8/pb9nWHQ5OSbJxt6lvQcAkvoQGNQC1ElB9qGCaxJK66aDbA3qw54AVCFOfuxUUfUuoTX7ZCUDojrefHI6A9pNsMhHRaEI7aKcwSmETzAFiEKCuBdTFCUZadrydIiTElZXvwbyDILs7HUFdZxLSKdjs7Er2IAV0V222BOVXZ5NmthhY8Tj0oOv7SCyYrOm67dGTnCi4gjwvEJidHRTQDBq90rjqMPFl39j6erMF6U+uD3DJ4rQ0yTpFwxZ+U76wtXhzrAJ7FzRKox30ZE92//moEaDh4BK1uffedtCyxwGjIiAwuqiTHkB9O37Phgy2yoVVIvwx7g8ZSwwMnnLBz8MDm7/d6RiLx7Idh9JTqiazJVGkGI618ViSsHELJDDOWaV5N3MutqgPxiOC9DinEMZ2p6yNaVKgcsVJKYr+/OsfDsyYdbLJJHu7+Vd6z2PfiyPDyY3SMAfSAkwIGNh8MtP5zc+vEJzQGOUxQ0Ynh5gjcMcwuVRGdaJQ0YrlLjYAcENissv3IrGhEPx35IXmtlkMvQCCY66TSh4G8fP53gHkJaX0CBG7EwkJN+fYuc4nBuyTTRL1eQRBilxPoXQOSH8D1SRBxrruvzNLDPhIKdNLdaqYGBi/61gWAuJQl4U12VKDf4F5Y1uytIoHzV/iVVg7Np8YvxQ58AhSALgfMbCk/fdQiGvqfGYsV2HTmBADayczJ3CFWfa9kqveY2mSmyzYdlJGeqJb10fbEAN1OSvKhESuv1J9O9ee1L35dplrfVc4H0bJdAKpv21UzUJhhXXPmhcz/rlnt4mRRutSGEaQJWrmWzVRjMOFPmgE4BILeQklEy6qkzq8f62wwsJY2PJYMPbh9oU2FmrbJGuxIluB218ZYYIyY/HjhphYZrLjLWyH/zZtHa6Nws/KLFwiNVKe26rkveclYAiVsSx/m01IFupd0rCmNYodP2srCdIJqL71mDh5pZ0ciEy2bX5D1mLH99lEirZeCdIttEuhTnDJN+GRADQq0NChMjPmFDHlY8zH4KzdtjVBfLYe6yPhedPEqUQJAZmk7S+bnHX8pqUI6+Ot+7pgjDoCS7P3BmjsD/LGf5AF3PzttWjyoWl3YmynDduxCXbJfNSE6fzo/zn5Bq1SRaHVOCxAeG0aRy2ZnDmAMHOOcTUPvN5QrUBbi7qCdSfXnnIwxsaX5htK/mvmTut95R4lmmu9dk+ucyxWwmhRmJti5dxePjdrjmTnesNIdv1EmADO1hCEYMQu9Xqwd7o5OoAbWKk1J9MOQrBbEgAITcb7KS7XjG1MvUisx4OlUpIedkB4LBU6kMJkHJv514QSjMRA47YqzBEDltDzFWm/SQEJoE3iXxpDJoZoDZ0jBIA6eaReKptItJPxnfMaWAK3YkTEQBK3KM+ZMZoiCHzkarzdjv9oTewx+DTkQEmJeqTS+qsMg1ysuz03h3gxr8bCRbPUTouSYuiqrayv+nligqCoADmRIUkKzLV9DhP3zGIrpvVuiVL/T4StxL2UPVsuK1d3bZ/OkiZ+qACQJoj8v13SJM/ykVkQJ8J6bM0jkWwhEVsoBozKhbVwCM+LoPRcIh48/uOgbuEMCRNfKGPhO7evb2zBAPhbt0KZf94paJFQGsPIZ4GFUniTld1f2RlVYyVRjN4+LtzHF670+IT+1qPucVP1SUwTf5m/JdHoaEH+vUZxFoITGZr7NKxCz8kn/f3ZbVIyDYBsqEYwhrhfWhEK95JGJZW3U1NsdbYeC840yn/7OUNcv9g+0Z710Li0CK8uq9DCKFpaNo7AsInGAuulKT0OR/EFQfOFcd95eTcCt2+vPgKivrFlKxBkIvbeI9pipcN8m6wQTuebsF/SEGDFKjWkXTw9MHoKeJbY8DuwTJHx5LFJc3UqDMqbcwA3d7lpLlamI88CT6XkPDJ6nH9k9HHOWU7niIEAdo6N5l5K9e4klCuam+xlARmbDuky6vUEMTloWr6aIEjWTZ4C6l3gky65LmYl1SOJKH4KS5R437m3Q1AObr7w22IIgrB0CtoqjJeXTZg8yV1j37nJi7EKJLx/p8/l58JJEQMK0TrkEQPszTZlAQXRhCQAaFwjvDkwtTUgcD9CwDQx+O3PS2vc7nP5BnxiwG9JPI9ug3ypKRLnPkiRWYVx+0lCCoBPRA4AoRL1SELA4tmIgRJhUoOU4r06nGAV8m/Sf7YcQeC7O88pvHOK6SxSH7xVEFPEgBWmnFBVJghSf88hJbDELSkJZlt+RzXtjp8did+1qOmrpd9GbX9oY9VMEgQJKwdNVihPKPeFbivEW4JgYu0alaSp4kyAsZr7BAGQEGYMSsRAzpU+e33Ko8LbbWJyffSvH/MYxHXG8j1NfyutjYI1tVYkn0FKYABvcZUrHGNGcT8niE9S+CRBbDUxfxmBE6F7sRduNDkV3G4TY4X3AeaQoKB/RlXaU07cPaPCzBbesb1+qAa/R8n9r20ZocIQ9tKIWNB0fUfj33aHkqAvpASUty3YjLeJP3bi74Cjzw0pRon9tUmM360lhoJx6tMt0RP632MG/ryUEsBjbxjf8grAKVcp93FLDNjfFCtYtbAkjyMIuEZuQIYkSHzHTmm1ZJwed/YI2u6eYbQUB0SYfw1MgV4/J72xYsTsYQ0q9x/3vfPm5sRwPU+MIe9s6d5YRkiFWE7Xdn8ysGuTKJJEqRwMOpozgJEM8LfvcwQ0jeuFn0AzRWqN4V9wY8G975Q35hJ384AUAGJiwBIAkxwDNu8ATPiP4n+VmpICudFl1yCYMnyCwPK/Avl1tSQPlYfc/NgqEQOu/fZ8Zp7Kwc1f3rE4N1HYmMR3vQHiOfdeyPcsZteGz4ZPRQ5Y/IrEwEc8E7DOxSmNZULUVihtT1dq97wimLA62Iz1OlSA6nEfgiCFnBATP/cWBEGuvXUi0fSeLb6F/CI+/q4nTry3UhrbJWLA3RP/y+WRFWQigiB4lshy5yd5HBLHbZNSJIFPDCwhASbwiI2s27VnlfNRIgasUBZURZiSBYWmJb8Np+xQ7opAGfLLL5EEWVfKWKlKKFl2dFF8NBEz6uYNgtv9A5gqXONMM/5t6/IVdr8N44OWlOd024PbYdsVvjA/Ptu10RESYRm1pNKkPbZe+MqHf0G6Pi40JOImx6NyahCP7aCd0d88lsrKlf+O/b5cDDs/OfXMm4+IAtf9uW2Jg/cNTD5St4994n34Q3FCDPjhBCVioHQ8hZTXwAZIySLmyTcpPxeWl1TCIjgPgsy5SQhYoU+CtQcjQQCM49iNXdf2kRgQwiYmNOe9pL0ut8AS+TERQuCey4YRkACEBGA9xKRHGIw5QwY1hhG4fAMeKZAdZjSurz5RnSIIUv0599vUPtcTxTtiIhdY9tlYxF4DKWJ8+hwz82lQYM33OCnVoRT6cTf8YsQA8EnJgUfj3sTALViqTG5d9z3KTD1PKbwglzAtZ8Hwz9+VlJl4D4RtqSUI4mdPKUlB2Qsfam0/fPR3sXTsx+Mn5d5XJE88YqDsPTBHDAStQIkgcAulp7iUvAe01qPwpsOxkvIUSLkB+sfLmJImyZhl75hvuQBucWtcfo8TKFJeDkCoBFvrqtfX9mlTJAEw7UOnoCeU/HTLykcn8xmF7qqla0t1xWSGBtIkT+K+VJtCKyt5vz1B0i9FNNCxC3li7JTg90XsyTFN1pZJzGaxJJ75BqQsr5OqKHw/fqiE35fBrVlrq388Guc2r4WdezyCwF0HBN+EbY8lKMd4+PBBJu+eEh4+XMl4oEQMLBXEU+EEie38gHRIQQlJjskWGf0uISWr5OQDv7zZadCSoFpNs/e7a0ZiICZLavrDD2FzVXrn/PctROztYsggZcMJvHebI+VSniwZb4GAGKBm3GVEjl4ECn6yUFby7bo0mBwCwDj8/NCJwMPHrQs6SxDkkCcFtpGyUqTq+Dzh3yX4xEDqeXLJRbmC5Qq0jteBxNw7RxjfB9vV9tFydA47OfCLIregLB2IRUHyiVBjEU4t1HnFON9bE++BRQjtCbcQBK7EjGBZ4xUybVXdtVshVWdKQV+CEpucQmnbzhFTRfgecEI6gCCjeMbiPBXOQ4IAmGfNfTfAdY3Oux77bu2xFSN2a0zFd06KS47zPOmRa0+sAKfb7B3COC5ts+oSbKaPlr57YH7M17kZl1FSMCbjbaFCLABvu9XxWFJZz5UfuTfP9clofR//ThJ/QRhPhNw4rvje16yv9r7cx2cP+zuK+B4YgZK9aE4KPZdKBEFu/rHw5yAAQdI8U8P4PJRTIDzFf0tioIA57xT3tyVXkZ9LU2uwv46VSIKaMVP6tHPfryNAS15SwKhIz7TLeohYR4EgF0KK8LQ8TEQMuLAYIHzXruKZHkm+N89bYBJGQHCJB8nkOfF2QbHEgA0jGNToLaAtYWB6I26ZCwMy4RRLSesqUmAlWRkrzfbf2RxeFSxBjvADEqRA4lkmiUNXoCTn1XoNxHMTMJWHZom4VXPSs2pSI3ZyYAbPyur4WCuUPBO2IjOAeaIgpXwu/VQXEwSB0Jmuce55c94TtxIDronJVo3nlpa1FW4d3zVb2sT5K2Jl0PVLynughKoxMnoPBLHAdrz4SQpNG8rWu5Eg0Agt3T6SMb/eYCqpg5OxkiJMErGrGlPrRexyXYtAsPKfJfFBpMZ2/P7SygLnHkiNhZw1b7bexHWl63P3+fNBzTyXa+MEkffE5HiiTDvOfG+Vib9Eto2mhEoCotQPuXheCv6aIfke5CLKbvYmu7+t2p4z/1riKyYC0l8WCvNR6XiCIAAyGm/oUWNrDnKdZJ4VmCoQQemx5bhADEzzuJhLiuZZ24hoTBdCnnxUzeRmHUmuHZly1yL7pP64diFC3jt114X9ESdmzBZPft6BKUlp4Xu52JASIj8HiB7b6UIKSrDvbeoBk/QWMJ4BQeJBEo4YUAjzC4y7E+iAFCgp1SMBr8d8CxR6D8hM31iE38ECUsC/bkGYE4CbvQbC495vxL8XknoLQgq80j/Oa+AXDCew2MmBXxi3KtyrBMsnQ054zgnhRaIgEiZTyuFcfOakSITvw/879a5qdm+Yy4Jbwq2T7JL7n208lQgCRkaxuGmfXlc7fCGdG+FZ8CphrTuu1TaxH/KEUUwMhIr29Lrp3V6fZEqfWFwSA8XfQ7pQSxZzidmcIur1b+33GpNF9lgN1hBrtYTCGhLQx0TM8sd1khioqzAOfcoTA3FL4tlwerR0zEexb3xvl6UC3gJhPKjSfpc2cageCQIAAUkgom8xVrRiS51r1ypk5p4UOZkIjwNCgiCHomUxl6hsATFgzwUEQc6qmsg1EBOXVaQyyiSqLXfNZ1qa82pklCD0DQhJAiBQxJbmXiDvAy95UKWSULr373uHlELvyJCz7r377aaQ5EjlFyCRTTw46DGMYLAJCNVICozKdPpNKJAjgyxBUPIgifsoSUnNhVa4Aurf161yXSqcwK+9KpxgoddAKaQgSd5FxAdw51wD2dxTifUz9feTYycHfhEsUfpry/uVMBdfnp7ATa/GAvOstTGDjPfAnBCQIghq8cj3uBUxkFtIU+XPjfu0EhqV4VXoj5O0MkiBYsFCixoLmhS+LgQhG17glZvyHrCWO+f+SaMXQbG+WBnxzq1XQENiIH4V1mtgWWkhSjsuzBc4827c9xrYt7OeA2uQK6NU9iql4ZZrF8xxc1b8eQ+H6QU68ztVbhwiVPWMt4QJRWPE1hlQHGS8ehJtDjwtog7LEQM+TZMlBrSqsMSmMes9wCcw7gsxPnPspZTfkSCeHWybfYVxGTFQhKdATvOiJFU0/r2gOttVsfeALXMtQeC3adE365GfAUngtzmpgJVzL9jxWlpb4iSUlhgYe1uP7zsXMkLCLGbKEQSThgAJbwGCn18gTjw4eggwMWDDCMbkoX5om86uUQL2PIVyZe6TySD4DiJFGkDeuy1H5nlIkqrmYK3XQIkYuCmcYBXGGnJyhcUi2SJ6X+m5qlQbVq0hpfX/o3WwnRwoYEtl25b30S8c2IZImH2OopvxfNmp9pWs5iWFz0c+o3D52CMxES7Nv0vfWU7J3hpbfyc5bDFuUwthmECNMSvgxRaaOL7TJIAKhVmB8pI1Y8FzDR6JqjmCwFzoPevYnthNMLXw1yH1ZtI3l4QVixqLHTC1rm6GgmV4ShZlngnlb+0e38xmxMAaqzjGZ8rN02u2VV3aT6uJrDvlEUn1hbW6Bsp05l5gSgxM8zZEFcxJ+6kJL2UDn5l73PNgSqTmvNemwrYps8KauJgYiNsehxP4TUDYi5Pktctq3hyLhjVN15CiESNhmQUyMhjGXCKWIEgWSVMFclQePWLAbp1ZerdxaIR/nOKQCC+MwOYXMMctMRDnF7BhBINOkAKFZvmJT0vwWx33xYQYmFGiJ0TBipCCJSglICyHExiU5tREQuB8Q5Z7DaxB9fqRIGOT16xYS33S4yP1kJ0c+IWQE9FT30tJ0XoGAsOiRiEsKXzAdFIr7W4wPWxaUPAeWI+CtQnpd4nE8Ri597e5DrVxecB8G7cgCHKIZWafIPDrnsRIp8ILNhgvS5MTAqFrr7VWhkbAxAj3DsXEQC45T6K1SH1BKXa/JiwmzBsSZsO2x+J7Vo3vhd4DQD15F/fGluO25lm3n8ezs+MEJSErd2p2np85X4/EnL4UGcEvJo8m1KCvVM2E/LhvjqauyqFyYY55ylbQziVYKNDGxEBpzE3nEB20L6kQLWx/MueAdyzlNeC/o+D3BgMuSy7fBd6Iy4UHZW8d/VGyciF5xDOmcpUP4Z0PiQFMyaA51/mU18OEFCCuNSYGRAOAJsRAnF/AJwYG58mQX6uE6WpFgDDeA3O5BeK3MEsM5FzuxegNkiMIcmPaYu6rypE+QG04gfdtLwwnADD1aHE1uNKDf2PUzBq1s9y01giL15B8387JEI/ETg78xigpoKlrnxE1C3jKzSsVXx7ckziWXHA3tDbVEAT2+Jqyt8K9lPO1qCUMaoU9f7zUEgQaCLc2tIK/9R5wY8cuSQvGTYX3gN++IJ5Zj7XNCXMWMTGQQvpU/SirS4A0XpcLH4itqLkY1+mNaxTDPEGQO/Zs3wpwv7l8DXFXK/ys6ceHrVkzBNLakJ9UqM/UawBTZWsOyW8pbT0ObptYoMO3V3r/SWLA/UyRAmFJq70GUuEELr4+LfY/m9fAHLJvIXZBj5FRvOKyg1s8gsAi9jlJEcuj4sglOiKr8F5dzoSUu3yKFCCCyy9AAn7iQRURA3F+ASYLRm8BZ4lOjGgCFXc4KvFTE6IEcN/vLClg4W8xGpczQwTF3Z3eEShBAntzkP37YbsTLPQa2CpwIbt+1BJbM3h2WeG3IAfuZb15RtQKrf65+zWmRgAvC9xboeQ67rciLaxmGHn7N1Cx+K7DFn3yWYiB2nZuNU6SrrzmX3+8rCYI4vCCYOykSIKK8ZL0HtAgT/SyBIFfuqjosMCDILII+P/WYovFL5XGwR4P/p4rZ0XdDhVW4tKxj8Bykneu5XU9uE0pIVLlbdbHd/AI8/sg+O0pVqmQn2RZCWIgpWzlC7jhmVaEAaYI7ixS7bohsavzGkgQA2ODBGJlw7dCrlE0EgEZldvjbocpQeCfQeFdptW6eFTFuUT8OTkVhuaTssFYrSWyopwJk3OuQo8YCPILCOR2JKghBiwpkNrhR3vrrX980kz7rRIFnhSp/shu3Zkq1F4nRIKwS2NNSEFcZeo9+48dzEe5d1zxfae9Brzz0b9AnbEhh5IxJE0f/h74pcmB1Nz80cJbraXkd8dHvqc0UVAgCOyxDZBTOJA4PlfO1nim6TElhOYE1CWIVfdUkim/DorGRZIgAKChRoIASJAEFYhdYCIvFn+c2FaltpqayyI/Rwzcc/6K2w2k2wgkQh6ihG2psh3mBNSsFeb5Z/D1rct9OctKzM1XuVJKPXq/OWeDFWbGUuevIaltHmNvnhSBHVvq1r9bW2Pu3DyW7OxRPp6wxs58j9P8LeG5saA0MTDNxj8fTnALTfRIYsDCX5tG1DUk1xc5VM/J7nekCFuvgaRRxXwkufGW8haI8gtoYJYYGKDH/AIzpEC5Lzwp0SmaY5LCtNdAoj+AcfDljE1Lsx3eiLn3DPjPZFAKJ8hhdgvDdENqvHzWdFn28rVeA3MeHTPnPkLi+GXJgVJnbql43i5Kra0pX0tOwfwQ5W5h0pRkERjbXrOVXwnxRLEsvGCGIFjXokmt24jo2+LeY2fNs21BAsydF6gkCCJr1CTEgARs3uM0SeA/2Py3ElgM3Pc12jP8USWi8T5HCNhnm/t9C3zrU847oPSt54gBv/y0MrVyxNw4h30ezL/h2rXllrEyJyzdUu6kXVt4D0ShBT4xEK9dsWu2rS1FCtjjaWE8YXksIkUQRFZ1xMr2Nl98lbA9gxRBsJgYiPIMaIzvx2arT9YdHV/TLfOkydimW1DzLebqKNVdk2g0JpODcVoFM0azHTy+x0kYQYIYsF4BS4mB2vctgt/keQvY+0avgVmiBCj3k51jnECSCS+wl2eOr5FaHx5OkPAe8L/VGjKvmOMy/juSJ6KSzD8LiYGkvOBGwNPjlyQHaubteyrLj2F6PtaCVa/S4q5CdU6xKKFEELhrMD5fkSAA6he+T6pczHVv7vx2ozNtE7FHYmXdxxIyKZmbAiNBYP+25YbtMLWXchA4V0m+mUrWkRJ8oSBQWkfFBMGR8fecRatEBBQXzsIV/tnJ+4GvHIUx2HPt9YkBv7xFIQdVyQgnJ1ypa9aRKsvcwjJr7vtIcnEO9xaW0qvlBlJAcoyEBIFfUxzuE8dvu5b5REFWGI8QCd/lcKa4wogYcPHcmLrlPxIRWZNMOGivA6qIAVcWQmLAh9+Tc/JFqUfWfI81o3LpmrumvNSxbJx94vdEDYqt5FnEJFY4/nxvAZdLwks8qLGOGChlvPdlA4LxCrBDLSIErNeAPRaHA80RA0UPmYUkdUqJzv0d49ZwgjXEQNo7KU1BlOS61LOWckGkanvUevmsRMEvRw4seaG3igZz1o3tlaNfH/ckbXzkJoscKZAlCIBwsl5sCU6Pki37oTQO72Gl8M/d9g3EpadJglRfLek/fyFJWQxKXgShAuAJ1v5xAW9xHJX6gCSI21Rhmkp7D4SKSXr8zpQ78/dYYupY9itxSG/vZvuW3HaLftuzbfOStgVWHCoQHRsmEY0x9z0sKWfpt/ORyv/D5u2F16b6JHl8U++BqOhE/aUtDC1yrrsTpasGFaFwk5h9IFSyJ/etGXEbj5KgXXXEgPb+A8p5BrbYsQBIzFsV1+eq3mqOKaG2nDwp4JWSyjOQTCSTIbFyxJWXX6CWGFA+MYDQYyDXLCAtKzIRzWtt7DVA5pxAOpwgFVoRyAGJvFaT3YvuGF6wRTiBwxwxkPN+yHgNAPf5ZotyzkZJCDOlPyWekhxICfq/ElLCyTpFKn/XrQpTfU33Q6h4jb9vDS1IIRdeUE0QuMPbWVZSylHtPUuuXyNsVCveWDtualo1Lbn0PGu9TOy9vheBTxDE9QM0WdjcnwWSIIu5MeXcDdMEwdiuQt9UH5/rwPo3noq/9rdbjEmC8N6RFADSbo/23omw6v68H0kQVHPn8mt6e6u5+5mFmTmkR2ZhHq8dHz4pMPMNamCylpUQK1zVJJfnpeSUjlyCr5xrfkwMBHH72a9qBgli3X8Of0/7mXaPZXjt34gYWKNgxInN6ufUetzr+1tabo7sSBID9txKV+wkKeDCCKbEgMJIDGiNgBiIkw9alEJKwpwBo9cAGQ8BnxhwXgPEWxu647ZPEsSA+z5z/ROTjjnvgcx3slRWzuU8cecRv/8pqVG984JfSjIRYbamdBkV5E4upCC4PlvBCpkhmjM/yxr6lOTAI7FWYa655yMU6o/FLb25vqfWKH3AOvJ1ShDYo2tQqUStLH1JK5Za5JZg7u0uV0CnJZeE8C3IJCc8WkHBEyb9PAQWqTwEAEYvAjfwoqUqtROG+7tiJCSUk6D++RIWeArUI/dOcgQBMBIAyfIyAsxsPOSDCIGo1rvhkevL3LMsnUdSBPkt9efuSfVR8nisqN6cV2b6DfrfgX9V0IzM30l1PKVYuxvDMKYiSm759vzNxEAebtu6oE0VC3upve7f+xMDxSZmftfcVytnPgq5sRn+jubaCvfy4hiNCCufGNAg907j5INaA4PW0JqJAY2QGIjDCUqIiYHAI4Ds2kOQgv+1xyR5o08rkLrOEAOZnCDV4QSUHA9rkmzGxMCsN94NxMAEK70GFlUxSwrMywz2WWuTtX4mPB05kBzYuEWoXY+1qu5j8XEUxL1qTil68e+P8h5I/V0W9VL4vSij+yJNEKwuLSMZjtZshKEGei4PASYLXeBF4LsJRtdGDZhpeD72GUiPuLrv9zaVbMk78QmCoLQMiZcSXmydU4UqbuI2JIHO/H4EameRLWab2mfL0aW16/c9+jA3lydH6VqCIOk9kK6lvJZ4VWd+zyJldZ8Ld4us72klO2zJ3Nivfc4JfJKjhtiYITJs23LEwC0uyaU5yP83/r0VSs2dk4+W7qhwCzGQ9RrIfV/x2Iw9QgrEAJMAgDLEgPMe8PqjRnbMeQykwgmkIQYsWSDJDyfQo/IcEwNZUgDe8bEvgtCCAmKFenI+c7I2nCCoqdrDKrGQxyEFlV4DW4cAVX2n0XP6Y7p2S8mguIXXPlpreCpy4PkV8eVYZLl4ctS1+WMolbXeAyUsIwhcS7ZtxINwbyvFzeO9GC+bFsD9f2NLdbKKwgByLu5E01ADb6FKu6jRhCCYPMISln1u25+JcsKtmLYrW0C57BQKxIRfX+6dAEhmcAcivSWutooYKFiy7oh7zoKPmmXWPsPa9j1i9UjPRRsQBEEleYLAHvH/LmGRNct3yweWkY5F6/vYklpCrLxG6rFfnYeD5z1g57jcvOjNgaX25oiBGuXCn/OD1q8Y3NNbcj1XPyvHfy81lsztPODjLsSAK2BmbCbCCOz7TBEDyhIDgPMa8PMMuGZGPZgkoDPEgCQmBoRgYsCFD4gxz4DzWbEJCIdrghiwfVXS1kOCYAkCQmTBfblwgvC3V/ic18CMcJ7OaTIlOXJjfKnsH8sNwMw8WyAG0hVkQriqW/jxeCpyoIR7KtMfo85uiVlxp3jslprqa15acro0/3fsPbAFQRDHkc8RBMD9xuVtSHXEspZ+zDcRS2iFODwgK4D7SmgK1kq9uHUJkkDRmItgqReBO19LFJSIgaz1Mq6NW5Q+nim35prMgpj6fmOCAEiTBMnyfH3GIwVS/9YSA8uY/zrLzS0o1VD7Fa+dlz7jWhgLjaXdZ/LHbyQIirHB4WqRWkdi1CuUmCrWtZb3SiU7rr12jJTWzwApgiBq36TslEKxghjIkQL+36kQp1qvgaTSkUWdpLuFwpQaGrasml1iwt8VIyIIeckIa6X8EQViwPcOsL/9cIKlGN9lmRgg02RJIzEghU8MDGViIJWEsLAOVYUIxfdUdsBNSQixnhgYC1jnNbBE5k/1bHo851G3bay9eOpxBXyONfbTkAOfGbXERp16/Hy4B3FT+8T3IAhKSBECgZJ3v6orUCN4AGtbmSt9iQXCL2uTvspY6HykFNHZYgvnCFOSIJeLYHovASQnNbg3o9W8Z4C9pzZRYfpkRQW3WEttHSFh48N/L8CUJChhfm9tWz+Kz7FooY+QU5buOVPfixh4ptUlN/cvWQWXbE97d4LA3utqs/XEv4oFpw97bUpa3udKnVGw45qXjPNyX5t+9vvUIwiA/LdZ22afHADmiYGS51gtbiMG/Ovy86aPeD1b8gj+tbd5QyQU3Bqvgaw2mgsTCYkBpT1iQGv3fv1wAtcs6zUQtJ+gobPrtPBeIiv9YyiB7zFwMzEQ91HwPehpP5FALjGj3z85zI2ROa8BU8q0vUsrK+6EMn2OtV4Q2eqLz4fJWAZukxdyeB79IcTTkAM1c9o9lFCL51a/nwt17+H2Hk1ZHFMlpwgCYD1JUPIeKB2zx9di/dheWmtZiV6CnLI9J5xXoTqWzRfAuRbCWJ//LzASSKu9B2w58AVKfrIaLwLYFias/EmlKOqHRbFtFdaI5PVrUUEQ5L5lv5/mLMH2Xv/f8HdC8LrFNfAJEg5VWTUWlPfM691SIqB0vMYT7K4EQfLYEqJ2picigsAdrpk3kmP8NlLAv24tQZBtb2W7fWJgLvHgElIgtTsKUCYrJz02F2M/g1xrU4+RGqmpmkrJmVPza1GZWovYiyUgfqbEgMsnoKM8A6YM6zVQMghQ4kliUsDuSkDwCYEVxIAaEIQRJJTOLRPb1XjJzGHWa6AUTrCksoVeA0uqmHArGVIg+73a86vHdziflubSe+q4S/E05MCvjiUK5kciHqy59sVt30bdLPfIEoIAmCcJlrDlufeHxPG1WMcgrhXxbx99c1b4FEFwE+aEKieApwkCID9OWDiiRYJiTBKs8iKInyGoYKHAULouVnDiY0tQ9Egon/ffCZCeR4C62NfZhX1tvGARRRtK9musITvyNcx/qb8KKeBjK8K+NlTsIQSBvT9ozQZIfNOzZMDk7zohtja7u39f/N2HdSYIAldxgdzMkBlbEwOlXVOAaThB+DsxH6VQCJPLwX8P/mPMzW6OtJ4pu27tTvTfXD6M+Jh/azK0JU0MsNfAlACIvQZcVSgT9g4JUsAmHhQEtysBgYkBm3zQtVSHuxKQGpDzFojXokl425yQWvCqsKhZ7WoVaEbYubcQA7d4DaxNHlrXsHIYYhETb6ZMFctLfih2cmAGWwkonwGp5ywpwPchCOrvriEIgGUkQAm55XprkuBeZaZruW8NqwmCnKtd7rqJFT4kCICIXKJli0spdMIRELd4EdiSsjkDPKQU/SVYs+CVXB9z12cE3RLJVzNUcgTB3YiBxDPWWAGAZZ41a7C0iI9ey0rzZ+39a57hLgQBMK/wpb6Ppd48KeQIirkyJ+dDxTr3OzWO4/nTX2djrw2fpJ0SBR5BAMzPbzOERtzmLTwGAGS9BsZWILKuVhIDN2IJMeAjJglK3gNA+IzTRlTWnAl3mSiJUe6INDHg3a9Dr4FJ2w3xLzCS95OmedfacSsxbktI4NACSxBYzwG7XeGEGFDDNIygJtwi1TISnG8gDikoYI2V3S+x1mugGol8Enx8nddAjFwC0RRmExFGmHtfs++iWPpz4tORA/dUZ56BCMg/331bN1dybb/fThBMS5hTJmKCAFieubcWpX4okRj3qO8jsbZ/U88z+4w1i5AviEcEARAKpH6WfLsVYew9UDNi460vXT0VXgSpsgMXx5zVMXXu3lijAE0vRIkg8K+KkRobs6RA/BvlBX6yuCefaapIlbDmG5l/1vnjW2Gu+bX1z11Xev9brno5hbX0u0gQ5I75mCP5biUIlt8UNiH6N/6ds06nkIphL4WXFft5FmlSo0QMlPILLCYo7bxOOaXZNiA/H4UFVpDCM0iVPpfzL4fNvQZyJczkjygRAymvgRjhej8SBJPrTKfEngJuFwKPDLBJCV1YAT8JoK68xtQSA6U1fU7ZLOQa2CKcwDVjWnN4/kFeA0uTiLpiKwi9+PdNXgPTFiSPlnroWWT+T0cOfGasUoyeCLe1/zaCoFRSquQlyeeWYuk7u1XIvu8Yuf8IzFlJN685SRCEgqh9F/748N0NlyJrIfMIArflIUbhxr8nBnn/zwrMd7RE3a+ePEHgHyuhKKzckl8guDgfz5ypefIcW809S8iCOdQ0aUmza77fpW3NjYktp/IsqYcbCAJg3beyhRdBFnOifXoMzxECuacMgiX0lCBI9e+0n1Ot9DFeHRMbJWLAR4kYmNRmHiJWMoBSnoGFxIA9v2AMxM84Ka7wUHMeAj7qOILl4z5LxiaIgTVg4p+goB1BYE/44zsOCcmRAr63gM0vwCQCEBADg8k1kCAGqGI8TEMK0l4D3kUBMeBjLTEwCTGYNHKN951XygKvgZp11P+eP8JrILw4H1JwJ3XkbtjJgQi1wsnWAstnQQ1BcA91c44QSIkVpQRnOWwaI1+JGqvFo0gkv1+fdYwXE21lEuLlnssPLyh5D8yRTbHCMUcQEE2F5rSiHH9Z9uSDwgnmFJ8blZpl6oCP2HSwnhjIugSuDCdYSwzEz7klMTCHtd/5I+b6ufNriOBcmEE1QQBsSxKsxnzv1xACwPoY9vi6lJt6iiDw2xAeKz9Tqv1zxEAulGApOQlgYn0MiQFbcF1YU3LuSXi+zcEv9R67NSWfsQKz+XImRGxAr7jfvtdAsTjzPzv2hObylFei9PVU/wvPkAIETLwF3Huv2ZHAJwZqQoEsCWCph1Q4QRB6MSLup5y3jK9EzxFfQOKtLFKYp8RArdcAkP+Wa6u9xWughhioDSnI/f2seApyYGlnPUpR+ijkn+92dS119xb9X0cQLGl/WmSYIwRyNWyt9N9rDPoKbF2dz6rCh0gpz0XUJP2yl8ZJfKxwlcg/4Ne/NLxgTchKDUHgl+0rKNOxnvrqFiCV6GvNvTchP4rr7/f/zORCqCmpJmEbH0zVnDx2TxLy2YiBOdzS3jkyeAuUCAK/ziRBAOTnqLXE3QJ3+mJRM8dqCAFgvZu6nePs9TljXp6IyeMWYmAOE3Iu4TWQCicI79VIEQM5JSNYu24NM3kobvwaC95Z/nu1xEBQc6ZqQS02HbQAABK4SURBVATl4s7DsSdt2YnxSN67TJECLnzAEge2dVHiwRwxUNsPo9JP0/MVWxfWEgPF5mSIr7GgxJiOk0zmCpycm3pAuGqwnPC9h9fAsgZMvV/i0p9fUh/xFOTAVvgMpEEdc17CcyiDjyEIpkjdXUMafDbkxsRnGONrMD7XuvFRSxD4NawhCIA6xS75fWQIAiDvRRCP5SldFtdaiVuIgqXlb4Z1xECw/zsKTH+FwJpohcMtoQQTxWTm76XINW2LOXLdnJSaxadHcgRB6ptc0/81iQqnBIE9i0UkZhHF76Xcu7XvNkcKAKEiMXXDL1a/yE3dtiNFCswR46W/1yLX7KXhBKVWzVkfJ2vXB8EnPoDx2TaVN7Kx9WliwKI0BgWNeQgmBEFcffRsfD9NSB9LClhCKPAWgA7zC8wQA8H7T3mj+Uql+5CicIJKYiDVX0sTb6a9BvwGzxEemREz4zUAFNZWez5JTibWjui7vVeugaVeAz5S4S3PhF+KHNgKterJc6jpwEdRCzVC4W0EQf3duWN+SVtg6Tdcqrem7+rqvPWtPoZyKCWnKqJSAM8KWZX5B+YIAqC+l+eeqYYg8OtL1Z/+MmJUtHjLfAazQu6acXb711u9Z3rw97StNSTBHOYEgWXEQP0skbtzybltZolU6Xn6q9SWLeb1mp0jpvOUV/ut4QQriYFSL5aOLQkfuIeL+hxyBFB83v+9ZX6hHDFQDicwDVjhlvxoBF7eS+5zv/wBlAitqXWdj0r2iQGLufdqx4glCIAwVCB7n98H5L3LiBRwZAGMOm6y9M8SAxWYbttIKO5MUJmAcAkxkCK/gLmVbwViYmDGa8D9XlFtyjMEeHSugXIP3isf2pb4tOTAY9SZEY8mAsrP9zy0RIz693LbM9QSBP45H7co7bWYe7qyohdeFxMd6wmXbXBrwsdbSIHYEpyvpJx/wFe4Y4IA8Lc8MsKLRxL4JYZXbYPUO4/rqKt7BWGQU1Zu2jFh49l6K6E7a8WYisIlYmBLr4G6c3GFy0iCXHNr5qzb3uTyGvyZrTTL3TIn5cKecr+TrVlKEqwk0rYgBYB5wfsjiIGg/juUacne3LnxN/8bEwP5cAJMiIEklEJuO7+t4OfRSZ0rHd/Ea2BJnoEMMVCUzxLEvV3DgXJegmQSSd9zAClSwLRolhhIY9ZTLectUEkMWMwl3nTVZgbBXRIRAnliwMsxAWyjPM8RX9lvdwV+xe0LfXxaciCHR5MGH4fneMqa/s5fs71C6wtyNdfdE0uebk60fyRBkBPG700/jM+UqCkiCqoJAnfDNP9A/Fw+QaD1uIuBL4y44qzrYqHKeBGusdjM5WbIfUvLSIolVJl/2wcTAkHRCeKoVjmbzTWQFlhyWCLIzLls1gkv9/kKl8xVteNyuxpGlOakrXapWU0QANPxtZhUqycFcseXEgNrqbaUniFmzt8DpfceK8tzscklYsBdE9yxgeXxRti1ytU9eeb0PblzMTZ5jZOxHxIDq4qMPPuAMOFg7h7+l/9O5ZIIyZE8MZCpwAgMcyRJSAoAWEUM5PIMlJ49fn6L2ZCCFIRI5x3wSLA0MWDOebfcNha8qqNjs9/uwpCCuS04J9d7v7fa4vje+OXIgUfj3grTZ8QygmZ9D5bufJb3srQdS/rungRBDe4hiI8wz+ErgQmC4FbY3ioRBIDvRTAlCmbriC5d0uqcIobE8fi8q3+2lpVkwWw5W2HhmF4yLjICK5AXWtb2ztJwgjSW1x7fUWt5fiYsmevvsY3tPEFgzySwaJ7anhioQaxcAssV+8mX5AvrGeH8nkKv/0y2LSXlqUTexhb1+Hd9owox5yuwxksgR97UeQ2s0WyWzbGlGnzCHli2Fs8pj/5zB7RFTAwUYVo426ZQoQxIAWCWGLBYkmegxjMGmFNtc4+TH8PZbStnvAZSW5HmxnsNMbD0200ZoGq24ATqxvKz41OTA/f0EkgJI/dUuz7S4+ER6uS8Lci/Mj62Dr8aQVBvsbvfk29ZcvXzFAiCW2qOiYEUQQBEJAGWC80WSTe3mDhYUHbtnLHMq6D+qrVIjZ86AiNjob1li8ZMKx5BDJSeeTPBvAJrSr3/elXvPZDCFgRBqQX5edeeXYr8s96DGEgJ2f4ctwRz81rearcO/rv3f8fErt+2mCQoYc7zoZq8X+rdVlCiY6TGd4rgmdznl14gBupaMYOVc6xF7vtNkT5zSD13igwJWudZk2ffY7AW1YVVaJcdMUMKuGtHYsAizjMwqcKUZ3dLCs/F15qqF36nNeM7n3wwVKLj3z5SXjE55LxhyoRXHotyFVWgZk36KD0wxlOQA1urMo9WtO+lin0kYfBx2PaJ17ybJS2oFsYWtuOZCIJSSQ/xHgCmBAEwrxQumLxTBAGQJwl8pFpRqjlr0Vkx9JdSacuJgvVYOt4tFquEN4+HsMYtyAAfNcTA7zHP3zYnle5OndvagyCeo/Lrcy1JUH7rpbu3eKycNf0Wf6wS2Vk75lOmgmKd3nUpYheoIz7WKM63on471TqknrOWvPGfL61MVY66inl2Kfkak1mLfHFmiKrps/om+NI2fSyTaK8CKrTMv26Sb8CSAvacZ4n2iQGNZXNabWjjltZ1e3wsKEcQmGsr6qlBihgor72eZ8hSJJ8pJDw+u/fAU5ADt+BZFOh7EQS3ItWu2mNbY+t3tYVifmt7lggyS+1KjyMIlvVCXKqvSG+B8FkyBIH9uxaZa+e+hRRJ4NoZCZ7ZqktM90zXL1X6byG2bvkWtiZ3gRWK1wY5EdY8R04JfcbtiX4lxN9ujiAAynPTLe9p3r9hfblrzuVm/FI/5Oa1GtQSnWuIAf/vOXklRRD47audq/17bFmL4a1TvpJU3LJw49CCWnJ6qUfT9OLads8TA7MleA2bcy33MRfSkiRAcgqjja/38wX4dxPmZRSPEOB7UvH4o6JZq2TmyL5SWGMqnGD2/S8J76xQomuQ84qpCWWqfi5gKmOmzif/Xj/XP6uc8OnJgRzuRRo8Kwnwu+HWd3CvsQHUkQSPG0NLKYnxrpLgnRPEs66ACzu8SBAAy9jeSndN/5niXvPbHwueS1DTD1so6WvKqCULHjV2V5MEs0iXGJe0SHhZ0OFzitL6978N2XFf3IewnCt9jQB2GzG7HlusbSVPLx81ZEEtcn28lhiIzy0lCID0XF2rWJaszOlGlsPfqrwEFihQMQkyn4xuer87l7q+XFwlkqp3EkvkiSWEe2n81RIDgYXcxtcHJIFfqMw0LCYSUqTA2KoUiZIkoVHndj/nGbMINyrRVStANKaXGGEWEQMpo1Mu2fHMsVu9Be73HS7HL0sOfARqxJ6lL/qRnhFrlNaPGLhL2pi69t5trlFbbiUIlgupqVZt3xP3tcJ5bU9N1pOtC3PllM/WWiO3wj3G4xbzxrMolsuss+t8hB7xrLe/59KsUVf6Vs9ZU1v+vc3NfvU9VaM0rsFHrNNbjsFa6mxuLrvFI+YRssHcfJ3ymKjKO7Co8RF5HYe/AauVjUWtSBAga63pU9xOwt5CvpawhpQq0qiZEMaY3FnyuvJJ+fzfY6tySmbWS837rRLHgqq3VKJrUJnFP3nrjaTX5NqZ+sYL6/JG+KWmmnnr/PuR+CXIgdzC/BHeA7eLbx+LJYLVmue55Z3cSgps0YYlqBWBtxQK559t/ZPXKM5Lyyth+iwzPbaCGFhqw9ySEb43HkkslrCFnbjeI2LZE+fatmZ+LyHXquXvZ/s3uoUyva7W+5e+5buaO7fWa2erdS2FnFxUi6XC69zlt7z13DhNrUuIjqU8v1JY72afIQjc6SWJzep7Kacsrgn3qCMJarGMjK31dFlTa4kkyBc0owiXQkTicmaPT0mB+HeyiAQZBCxPfLyMB5vxGIivXYF4TNeGS9h73fklldY+V8W3WuPt88ykgMUvQQ6U8BECcmpxuqUN91Co1xIc/jWPRK1As+S6ZyAI7DVIXLdceS4fvwfWCuG17Us/yxJ1fbkt5LMTfM+CpUpPTd9uObZvIXq2IFDvPZaWPN+9SOFHvK/a73UbX4V5LBnLH4GPmsPWrmdLyp4jCYDbQoD8NqbJa48gcDdllI6ZbP6lNsXER02+n1V72Gdrnbs2xL3Heg0pkDtWbWxYajUvXrOsj/zeX+sNY7FcMY3e/VKPGFeGuaWixtSYnnvGm7dLLREEC3bemEOtp0vu2KPwNOTAx1gv7ovPrEikhKra59n6uWvGxaPGTkpYqLlnC+vpI7FG2b+Xx0lZaFzXa7/aXPNsWNO/S5WqrQnTJbjnt/pRLupz3/At/f0RzxPj1jYsJUV2LMet33ZqDC+hknP35VAkCNyh5Un7bNm1yHlGPD4EZF7p3fLbyLV7maJVKb1skPA2hSVyU84bBliX76n+vWeotqo+qavl8aTXNt/qM6xN98DTkAP3xD0sqY8mMz7SRfij6t3aWyB135Jnyy04WxIEW+Fe42Wtla6mLc9kSb0Vz6AMfRQe1falisQz9em9yYVSvY+yoPu4h/ebj1/RuPArYQ0hfGtduRCEmnpu845ZSkcs/zJK4/1+SW8/avZYVts6C+xj2n6rN1dpZG0dAlT22lw3rpd+17eSXtujXPEjiK9H4bcgB4CPVa4/Ch8hLG3Vx/cmBrbEswqma8f8MzKhay1Kay3YtbjXnLJkCZ4r4zNhzZh9xm+vhHt5R3xkP9zjme7pvbQUz/ItbfGMtzzLZ/rWaubQtetjjmTIK1PL65jD2jVinUdE6u752frR3+OjXbMfFS5RQ3RZzLXpNuIrV0oqoGce8Xy2NelVRwp9bLjMs6wtMZ6KHLi3krVE8HzGRXBrguOZldpfER/R30vHzEf1/ZLvcu2iWFt+CY+eyJ/1G/3Vca9+v5X4+BXGwz3bv3X/PKvgtgRbywwlPOPY3IJorcU9jVC5sX2benMLtitti2f4lTwPY9R6vKSuXYJlxNdWtaZLehzpNVdjuuQtPNo+aizX4KnIgUegZvJeGwP0CNQuPs/sNXBvBe9eyLX7Vlexe+OZxwzwHJbiZyMFbsVHtveWMf7Z+rkWj/aoKuFXV6C3er5ney6Lmuf7qLY/a58B25IENTLMI/tiGzvutIxHepmsU9Hujy29WLd6hiVkwVLMyblbv4fnIb3uM8JSz/HM86TF05EDj1CechPnMyumPkof6Wd7hs+Gz97uey4qa/DRk+SzCtm34Bna/CtYuD/ahfueuFVRetbnsvhdng/4PUMmb8FWJMFcv69V0OcsjY9UQu8xttZaU+fK3Bo1/bx0DN1TwY7ruAWPJr9KBEFcb+58LbYY0/fwalhz7T3xdOQA8FjBcgvh76OsFM8kfD/LgP4M2MfMc4yXz0IMPFog3ApLx/mztX8tPtNzfKa2rsGj3HE/Ep+13R+NR4cbpOouXZPDo4nXNcrUs8gZwP3a/0zP6OPR5NeW3hCPmp9vIQie9b1vjackB4CPjKNajs9sJfuVrWNz+KztBj6v27i9/xlQw1Y/C1JKzjO2M8Y9mP9HolbQevbn2MHY39OOGI8kCSyexShVi1oviGcmOGy9c9f8KnjUuK4ZG8/Yt0tlqEc8wzOtT09LDgB1g/tZOnPtZPcM7V87iextX49bJu6Pbjvw61iFn7Vdc/iM7f6Mbbb4zG3fsWPHPJa6Zn/0nLCV8vdRXgEf4UH5jErqvfE7emLbsubwTOPho+eTGE9NDlg8W6fl8FnamcNnbv9nbftnbTfwudu+Y8eOHTt2pPCZ1rY18ebP8nyf2Ujymfr9MxFft+ZPeIa2P/t4qMGnIAd27NixY8eOHTt27NiRxjMrGyV81nZbfKb27229Pz5ru32Q1vqZPCt27NixY8eOHTt27NixY8eOHQ+G+OgG7NixY8eOHTt27NixY8eOHTs+Fjs5sGPHjh07duzYsWPHjh07dvzm2MmBHTt27NixY8eOHTt27Nix4zfHTg7s2LFjx44dO3bs2LFjx44dvzl2cmDHjh07duzYsWPHjh07duz4zbGTAzt27NixY8eOHTt27NixY8dvjp0c2LFjx44dO3bs2LFjx44dO35z7OTAjh07duzYsWPHjh07duzY8ZtjJwd27NixY8eOHTt27NixY8eO3xw7ObBjx44dO3bs2LFjx44dO3b85tjJgR07duzYsWPHjh07duzYseM3x04O7NixY8eOHTt27NixY8eOHb85dnJgx44dO3bs2LFjx44dO3bs+M2xkwM7duzYsWPHjh07duzYsWPHb46dHNixY8eOHTt27NixY8eOHTt+c+zkwI4dO3bs2LFjx44dO3bs2PGbYycHduzYsWPHjh07duzYsWPHjt8cOzmwY8eOHTt27NixY8eOHTt2/ObYyYEdO3bs2LFjx44dO3bs2LHjN8f/BTVhJheyYCijAAAAAElFTkSuQmCC",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
"source": [
"# Reset the simulation in order to run it again and visulaize the fields\n",
"sim.reset_meep()\n",
@@ -402,7 +527,7 @@
")\n",
"\n",
"# Runs the simulation for a long time to ensure that the fields have reached a steady state\n",
- "sim.run(until=300)\n",
+ "sim.run(until_after_sources=100)\n",
"\n",
"# Gets data\n",
"eps_data = sim.get_epsilon() # Epsilon Data / The Geometry / An array that holds what materials are where\n",
@@ -437,7 +562,7 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 48,
"metadata": {},
"outputs": [],
"source": [
@@ -485,9 +610,25 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 49,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[32m2024-02-21 10:05:12.347\u001b[0m | \u001b[33m\u001b[1mWARNING \u001b[0m | \u001b[36mgdsfactory.config\u001b[0m:\u001b[36mshowwarning\u001b[0m:\u001b[36m281\u001b[0m - \u001b[33m\u001b[1mCasting complex values to real discards the imaginary part\u001b[0m\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/tmp/ipykernel_902/2590562574.py:37: ComplexWarning: Casting complex values to real discards the imaginary part\n",
+ " s_params[index] = [port1_coeff, port2_coeff, port3_coeff, port4_coeff]\n"
+ ]
+ }
+ ],
"source": [
"for i in range(n_ports) :\n",
"\n",
@@ -530,9 +671,26 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 50,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "S-Params:\n",
+ "S11: -0.0212\tS12: -0.0262\tS13: 0.4334\tS14: 0.1200\n",
+ "S21: -0.0262\tS22: -0.0213\tS23: 0.1210\tS24: 0.4326\n",
+ "S31: 0.4340\tS32: 0.1208\tS33: -0.0244\tS34: -0.0296\n",
+ "S41: 0.1199\tS42: 0.4332\tS43: -0.0296\tS44: -0.0224\n",
+ "Transmission:\n",
+ "0.0448617 %\t0.068502 %\t18.7843 %\t1.4403 %\n",
+ "0.0685165 %\t0.045354 %\t1.46314 %\t18.7135 %\n",
+ "18.8369 %\t1.45937 %\t0.059546 %\t0.0874323 %\n",
+ "1.43704 %\t18.7687 %\t0.0874329 %\t0.0500182 %\n"
+ ]
+ }
+ ],
"source": [
"print(\"S-Params:\")\n",
"for i in range(n_ports):\n",
@@ -582,9 +740,99 @@
},
{
"cell_type": "code",
- "execution_count": 36,
+ "execution_count": 37,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[32m2024-02-21 09:59:20.737\u001b[0m | \u001b[33m\u001b[1mWARNING \u001b[0m | \u001b[36mgdsfactory.config\u001b[0m:\u001b[36mshowwarning\u001b[0m:\u001b[36m281\u001b[0m - \u001b[33m\u001b[1mUnnamed cells, 1 in 'Unnamed_0da7224c'\u001b[0m\n",
+ "\u001b[32m2024-02-21 09:59:20.743\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mgdsfactory.component\u001b[0m:\u001b[36m_write_library\u001b[0m:\u001b[36m1959\u001b[0m - \u001b[1mWrote to '/tmp/gdsfactory/Unnamed_0da7224c.gds'\u001b[0m\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/home/andeloth/miniconda3/envs/photonics/lib/python3.11/site-packages/gplugins/common/utils/get_sparameters_path.py:23: UserWarning: Unnamed cells, 1 in 'Unnamed_0da7224c'\n",
+ " gdspath = pathlib.Path(component.write_gds())\n"
+ ]
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "5c2126c96cca40f5a15ba7133658d834",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ " 0%| | 0/4 [00:00, ?it/s]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[32m2024-02-21 09:59:20.925\u001b[0m | \u001b[33m\u001b[1mWARNING \u001b[0m | \u001b[36mgdsfactory.config\u001b[0m:\u001b[36mshowwarning\u001b[0m:\u001b[36m281\u001b[0m - \u001b[33m\u001b[1mUnnamed cells, 1 in '_container_6ef2acaf'\u001b[0m\n",
+ "\u001b[32m2024-02-21 09:59:20.931\u001b[0m | \u001b[33m\u001b[1mWARNING \u001b[0m | \u001b[36mgdsfactory.config\u001b[0m:\u001b[36mshowwarning\u001b[0m:\u001b[36m281\u001b[0m - \u001b[33m\u001b[1mCould not connect to klive server. Is klayout open and klive plugin installed?\u001b[0m\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/home/andeloth/miniconda3/envs/photonics/lib/python3.11/site-packages/gdsfactory/show.py:47: UserWarning: Unnamed cells, 1 in '_container_6ef2acaf'\n",
+ " gdspath = component.write_gds(\n",
+ "/home/andeloth/miniconda3/envs/photonics/lib/python3.11/site-packages/gdsfactory/klive.py:49: UserWarning: Could not connect to klive server. Is klayout open and klive plugin installed?\n",
+ " warnings.warn(\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[32m2024-02-21 09:59:21.016\u001b[0m | \u001b[33m\u001b[1mWARNING \u001b[0m | \u001b[36mgdsfactory.config\u001b[0m:\u001b[36mshowwarning\u001b[0m:\u001b[36m281\u001b[0m - \u001b[33m\u001b[1mCasting complex values to real discards the imaginary part\u001b[0m\n",
+ "\u001b[32m2024-02-21 09:59:21.027\u001b[0m | \u001b[33m\u001b[1mWARNING \u001b[0m | \u001b[36mgdsfactory.config\u001b[0m:\u001b[36mshowwarning\u001b[0m:\u001b[36m281\u001b[0m - \u001b[33m\u001b[1mCasting complex values to real discards the imaginary part\u001b[0m\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/home/andeloth/miniconda3/envs/photonics/lib/python3.11/site-packages/meep/__init__.py:4436: ComplexWarning: Casting complex values to real discards the imaginary part\n",
+ " return _meep.create_structure(cell_size, dft_data_list_, pml_1d_vols_, pml_2d_vols_, pml_3d_vols_, absorber_vols_, gv, br, sym, num_chunks, Courant, use_anisotropic_averaging, tol, maxeval, gobj_list, center, _ensure_periodicity, _default_material, alist, extra_materials, split_chunks_evenly, set_materials, existing_s, output_chunk_costs, my_bp)\n",
+ "/home/andeloth/miniconda3/envs/photonics/lib/python3.11/site-packages/meep/__init__.py:4439: ComplexWarning: Casting complex values to real discards the imaginary part\n",
+ " return _meep._set_materials(s, cell_size, gv, use_anisotropic_averaging, tol, maxeval, gobj_list, center, _ensure_periodicity, _default_material, alist, extra_materials, split_chunks_evenly, set_materials, existing_geps, output_chunk_costs, my_bp)\n"
+ ]
+ },
+ {
+ "ename": "KeyboardInterrupt",
+ "evalue": "",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
+ "Cell \u001b[0;32mIn[37], line 19\u001b[0m\n\u001b[1;32m 16\u001b[0m mmi_comp\u001b[38;5;241m.\u001b[39madd_port(name\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mo3\u001b[39m\u001b[38;5;124m\"\u001b[39m, center\u001b[38;5;241m=\u001b[39m[port_xpos, \u001b[38;5;241m-\u001b[39mport_ypos], width\u001b[38;5;241m=\u001b[39mport_ysize, orientation\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m180\u001b[39m, cross_section\u001b[38;5;241m=\u001b[39mgf\u001b[38;5;241m.\u001b[39mcross_section\u001b[38;5;241m.\u001b[39mcross_section(width\u001b[38;5;241m=\u001b[39mport_ysize, layer\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mWG\u001b[39m\u001b[38;5;124m'\u001b[39m))\n\u001b[1;32m 17\u001b[0m mmi_comp\u001b[38;5;241m.\u001b[39madd_port(name\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mo4\u001b[39m\u001b[38;5;124m\"\u001b[39m, center\u001b[38;5;241m=\u001b[39m[port_xpos, port_ypos], width\u001b[38;5;241m=\u001b[39mport_ysize, orientation\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m180\u001b[39m, cross_section\u001b[38;5;241m=\u001b[39mgf\u001b[38;5;241m.\u001b[39mcross_section\u001b[38;5;241m.\u001b[39mcross_section(width\u001b[38;5;241m=\u001b[39mport_ysize, layer\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mWG\u001b[39m\u001b[38;5;124m'\u001b[39m))\n\u001b[0;32m---> 19\u001b[0m sparams \u001b[38;5;241m=\u001b[39m \u001b[43mwrite_sparameters_meep\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 20\u001b[0m \u001b[43m \u001b[49m\u001b[43mcomponent\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmmi_comp\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 21\u001b[0m \u001b[43m \u001b[49m\u001b[43mresolution\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mres\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 22\u001b[0m \u001b[43m \u001b[49m\u001b[43mextend_ports_length\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 23\u001b[0m \u001b[43m \u001b[49m\u001b[43mport_margin\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 24\u001b[0m \u001b[43m \u001b[49m\u001b[43mport_source_offset\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m4.5\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 25\u001b[0m \u001b[43m \u001b[49m\u001b[43mport_monitor_offset\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m4.5\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 26\u001b[0m \u001b[43m \u001b[49m\u001b[43mrun\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 27\u001b[0m \u001b[43m \u001b[49m\u001b[43mxmargin\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 28\u001b[0m \u001b[43m \u001b[49m\u001b[43mymargin\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 29\u001b[0m \u001b[43m \u001b[49m\u001b[43mzmargin\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m2\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43msim_is_3D\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01melse\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 30\u001b[0m \u001b[43m \u001b[49m\u001b[43mis_3d\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msim_is_3D\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 31\u001b[0m \u001b[43m \u001b[49m\u001b[43mtpml\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdpml\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 32\u001b[0m \u001b[43m \u001b[49m\u001b[43mclad_material\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mSiO2\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 33\u001b[0m \u001b[43m \u001b[49m\u001b[43mwavelength_start\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m1.5\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 34\u001b[0m \u001b[43m \u001b[49m\u001b[43mwavelength_stop\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m1.6\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 35\u001b[0m \u001b[43m \u001b[49m\u001b[43mwavelength_points\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m100\u001b[39;49m\n\u001b[1;32m 36\u001b[0m \u001b[43m)\u001b[49m\n",
+ "File \u001b[0;32m~/miniconda3/envs/photonics/lib/python3.11/site-packages/pydantic/deprecated/decorator.py:55\u001b[0m, in \u001b[0;36mvalidate_arguments..validate..wrapper_function\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 53\u001b[0m \u001b[38;5;129m@wraps\u001b[39m(_func)\n\u001b[1;32m 54\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mwrapper_function\u001b[39m(\u001b[38;5;241m*\u001b[39margs: Any, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs: Any) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Any:\n\u001b[0;32m---> 55\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mvd\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcall\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
+ "File \u001b[0;32m~/miniconda3/envs/photonics/lib/python3.11/site-packages/pydantic/deprecated/decorator.py:150\u001b[0m, in \u001b[0;36mValidatedFunction.call\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 148\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mcall\u001b[39m(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;241m*\u001b[39margs: Any, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs: Any) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Any:\n\u001b[1;32m 149\u001b[0m m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39minit_model_instance(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m--> 150\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mexecute\u001b[49m\u001b[43m(\u001b[49m\u001b[43mm\u001b[49m\u001b[43m)\u001b[49m\n",
+ "File \u001b[0;32m~/miniconda3/envs/photonics/lib/python3.11/site-packages/pydantic/deprecated/decorator.py:222\u001b[0m, in \u001b[0;36mValidatedFunction.execute\u001b[0;34m(self, m)\u001b[0m\n\u001b[1;32m 220\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mraw_function(\u001b[38;5;241m*\u001b[39margs_, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mvar_kwargs)\n\u001b[1;32m 221\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 222\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mraw_function\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43md\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mvar_kwargs\u001b[49m\u001b[43m)\u001b[49m\n",
+ "File \u001b[0;32m~/miniconda3/envs/photonics/lib/python3.11/site-packages/gplugins/gmeep/write_sparameters_meep.py:562\u001b[0m, in \u001b[0;36mwrite_sparameters_meep\u001b[0;34m(component, port_source_names, port_source_modes, port_modes, port_symmetries, resolution, wavelength_start, wavelength_stop, wavelength_points, dirpath, layer_stack, port_margin, port_monitor_offset, port_source_offset, filepath, overwrite, animate, animate_center, animate_size, lazy_parallelism, run, dispersive, xmargin, ymargin, zmargin, xmargin_left, xmargin_right, ymargin_top, ymargin_bot, zmargin_top, zmargin_bot, decay_by, is_3d, z, plot_args, only_return_filepath_sim_settings, verbosity, **settings)\u001b[0m\n\u001b[1;32m 559\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m port_source_name \u001b[38;5;129;01min\u001b[39;00m tqdm(port_source_names):\n\u001b[1;32m 560\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m port_source_mode \u001b[38;5;129;01min\u001b[39;00m port_source_modes[port_source_name]:\n\u001b[1;32m 561\u001b[0m sp\u001b[38;5;241m.\u001b[39mupdate(\n\u001b[0;32m--> 562\u001b[0m \u001b[43msparameter_calculation\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 563\u001b[0m \u001b[43m \u001b[49m\u001b[43mport_source_name\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 564\u001b[0m \u001b[43m \u001b[49m\u001b[43mport_source_mode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mport_source_mode\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 565\u001b[0m \u001b[43m \u001b[49m\u001b[43mcomponent\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcomponent\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 566\u001b[0m \u001b[43m \u001b[49m\u001b[43mport_symmetries\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mport_symmetries\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 567\u001b[0m \u001b[43m \u001b[49m\u001b[43mwavelength_start\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mwavelength_start\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 568\u001b[0m \u001b[43m \u001b[49m\u001b[43mwavelength_stop\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mwavelength_stop\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 569\u001b[0m \u001b[43m \u001b[49m\u001b[43mwavelength_points\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mwavelength_points\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 570\u001b[0m \u001b[43m \u001b[49m\u001b[43manimate\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43manimate\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 571\u001b[0m \u001b[43m \u001b[49m\u001b[43mport_names\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mport_names\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 572\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43msettings\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 573\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 574\u001b[0m )\n\u001b[1;32m 575\u001b[0m sp[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mwavelengths\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mlinspace(\n\u001b[1;32m 576\u001b[0m wavelength_start, wavelength_stop, wavelength_points\n\u001b[1;32m 577\u001b[0m )\n\u001b[1;32m 578\u001b[0m np\u001b[38;5;241m.\u001b[39msavez_compressed(filepath, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39msp)\n",
+ "File \u001b[0;32m~/miniconda3/envs/photonics/lib/python3.11/site-packages/pydantic/deprecated/decorator.py:55\u001b[0m, in \u001b[0;36mvalidate_arguments..validate..wrapper_function\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 53\u001b[0m \u001b[38;5;129m@wraps\u001b[39m(_func)\n\u001b[1;32m 54\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mwrapper_function\u001b[39m(\u001b[38;5;241m*\u001b[39margs: Any, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs: Any) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Any:\n\u001b[0;32m---> 55\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mvd\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcall\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
+ "File \u001b[0;32m~/miniconda3/envs/photonics/lib/python3.11/site-packages/pydantic/deprecated/decorator.py:150\u001b[0m, in \u001b[0;36mValidatedFunction.call\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 148\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mcall\u001b[39m(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;241m*\u001b[39margs: Any, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs: Any) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Any:\n\u001b[1;32m 149\u001b[0m m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39minit_model_instance(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m--> 150\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mexecute\u001b[49m\u001b[43m(\u001b[49m\u001b[43mm\u001b[49m\u001b[43m)\u001b[49m\n",
+ "File \u001b[0;32m~/miniconda3/envs/photonics/lib/python3.11/site-packages/pydantic/deprecated/decorator.py:222\u001b[0m, in \u001b[0;36mValidatedFunction.execute\u001b[0;34m(self, m)\u001b[0m\n\u001b[1;32m 220\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mraw_function(\u001b[38;5;241m*\u001b[39margs_, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mvar_kwargs)\n\u001b[1;32m 221\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 222\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mraw_function\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43md\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mvar_kwargs\u001b[49m\u001b[43m)\u001b[49m\n",
+ "File \u001b[0;32m~/miniconda3/envs/photonics/lib/python3.11/site-packages/gplugins/gmeep/write_sparameters_meep.py:488\u001b[0m, in \u001b[0;36mwrite_sparameters_meep..sparameter_calculation\u001b[0;34m(port_source_name, component, port_symmetries, port_names, port_source_mode, wavelength_start, wavelength_stop, wavelength_points, animate, animate_center, animate_size, plot_args, dispersive, decay_by, **settings)\u001b[0m\n\u001b[1;32m 484\u001b[0m animate\u001b[38;5;241m.\u001b[39mto_mp4(\n\u001b[1;32m 485\u001b[0m \u001b[38;5;241m30\u001b[39m, \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mcomponent\u001b[38;5;241m.\u001b[39mname\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m_\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mport_source_name\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m_\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mport_source_mode\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.mp4\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 486\u001b[0m )\n\u001b[1;32m 487\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 488\u001b[0m \u001b[43msim\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun\u001b[49m\u001b[43m(\u001b[49m\u001b[43muntil_after_sources\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtermination\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 490\u001b[0m \u001b[38;5;66;03m# Calculate mode overlaps\u001b[39;00m\n\u001b[1;32m 491\u001b[0m \u001b[38;5;66;03m# Get source monitor results\u001b[39;00m\n\u001b[1;32m 492\u001b[0m source_entering, _ \u001b[38;5;241m=\u001b[39m parse_port_eigenmode_coeff(\n\u001b[1;32m 493\u001b[0m port_source_name, component\u001b[38;5;241m.\u001b[39mports, sim_dict, port_mode\u001b[38;5;241m=\u001b[39mport_source_mode\n\u001b[1;32m 494\u001b[0m )\n",
+ "File \u001b[0;32m~/miniconda3/envs/photonics/lib/python3.11/site-packages/meep/simulation.py:4530\u001b[0m, in \u001b[0;36mSimulation.run\u001b[0;34m(self, *step_funcs, **kwargs)\u001b[0m\n\u001b[1;32m 4527\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mUnrecognized keyword arguments: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mkwargs\u001b[38;5;241m.\u001b[39mkeys()\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 4529\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m until_after_sources \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m-> 4530\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_run_sources_until\u001b[49m\u001b[43m(\u001b[49m\u001b[43muntil_after_sources\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstep_funcs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 4531\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m until \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 4532\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_run_until(until, step_funcs)\n",
+ "File \u001b[0;32m~/miniconda3/envs/photonics/lib/python3.11/site-packages/meep/simulation.py:2871\u001b[0m, in \u001b[0;36mSimulation._run_sources_until\u001b[0;34m(self, cond, step_funcs)\u001b[0m\n\u001b[1;32m 2867\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m cond[i](sim) \u001b[38;5;129;01mand\u001b[39;00m sim\u001b[38;5;241m.\u001b[39mround_time() \u001b[38;5;241m>\u001b[39m\u001b[38;5;241m=\u001b[39m ts\n\u001b[1;32m 2869\u001b[0m new_conds\u001b[38;5;241m.\u001b[39mappend(f)\n\u001b[0;32m-> 2871\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_run_until\u001b[49m\u001b[43m(\u001b[49m\u001b[43mnew_conds\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstep_funcs\u001b[49m\u001b[43m)\u001b[49m\n",
+ "File \u001b[0;32m~/miniconda3/envs/photonics/lib/python3.11/site-packages/meep/simulation.py:2829\u001b[0m, in \u001b[0;36mSimulation._run_until\u001b[0;34m(self, cond, step_funcs)\u001b[0m\n\u001b[1;32m 2827\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m func \u001b[38;5;129;01min\u001b[39;00m step_funcs:\n\u001b[1;32m 2828\u001b[0m _eval_step_func(\u001b[38;5;28mself\u001b[39m, func, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mstep\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m-> 2829\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfields\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstep\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2831\u001b[0m \u001b[38;5;66;03m# Translating the recursive scheme version of run-until into an iterative version\u001b[39;00m\n\u001b[1;32m 2832\u001b[0m \u001b[38;5;66;03m# (because python isn't tail-call-optimized) means we need one extra iteration to\u001b[39;00m\n\u001b[1;32m 2833\u001b[0m \u001b[38;5;66;03m# be the same as scheme.\u001b[39;00m\n\u001b[1;32m 2834\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m func \u001b[38;5;129;01min\u001b[39;00m step_funcs:\n",
+ "File \u001b[0;32m~/miniconda3/envs/photonics/lib/python3.11/site-packages/meep/__init__.py:3040\u001b[0m, in \u001b[0;36mfields.step\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 3039\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mstep\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[0;32m-> 3040\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_meep\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfields_step\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m)\u001b[49m\n",
+ "\u001b[0;31mKeyboardInterrupt\u001b[0m: "
+ ]
+ }
+ ],
"source": [
"from gplugins.gmeep import write_sparameters_meep\n",
"\n",
diff --git a/pages/directional_couplers.html b/pages/directional_couplers.html
index 95d8d0b..c60f80d 100644
--- a/pages/directional_couplers.html
+++ b/pages/directional_couplers.html
@@ -566,8 +566,8 @@ Coupling length and the gap between waveguides
This cross-over length \(L\) , that gives 100% power transfer is found with:
-
-
(2) \[\begin{align}
+
+(2) \[\begin{align}
L_{\text{cross-over}} = \frac {\lambda}{2\Delta n} \nonumber
\end{align}\]
This is found from determining what length when multiplied by the propagation constants makes the phase difference \(\pi\) :
diff --git a/pages/scattering_parameters.html b/pages/scattering_parameters.html
index b22bb2d..3685b8c 100644
--- a/pages/scattering_parameters.html
+++ b/pages/scattering_parameters.html
@@ -379,6 +379,11 @@
Step 1 - Import Geometry
+
Next we’ll define a whole bunch of variables so our code is more readable down the line.
@@ -444,6 +449,16 @@
Step 1 - Import Geometry
+
+
2024-02-21 10:01:43.073 | WARNING | gdsfactory.config :showwarning :281 - Unnamed cells, 1 in 'Unnamed_0da7224c'
+
+
+
/home/andeloth/miniconda3/envs/photonics/lib/python3.11/site-packages/gdsfactory/component.py:1604: UserWarning: Unnamed cells, 1 in 'Unnamed_0da7224c'
+ gdspath = component.write_gds(logging=False)
+
+
+
+
@@ -507,7 +522,7 @@
Step 2: Run simulation for a single source
@@ -716,6 +775,15 @@ Step 3: Run the same simulation for each port
@@ -733,6 +801,20 @@
Step 3: Run the same simulation for each port
Above, we can see all of the S-parameters from the simulations, and we can verify that the S-parameters are in fact the same for every port, which is what we expected. We also calculated the transmission which is also the same no matter what port we use.
@@ -789,6 +871,152 @@ Using gplugins.
+
+
2024-02-21 09:59:20.737 | WARNING | gdsfactory.config :showwarning :281 - Unnamed cells, 1 in 'Unnamed_0da7224c'
+2024-02-21 09:59:20.743 | INFO | gdsfactory.component :_write_library :1959 - Wrote to '/tmp/gdsfactory/Unnamed_0da7224c.gds'
+
+
+
/home/andeloth/miniconda3/envs/photonics/lib/python3.11/site-packages/gplugins/common/utils/get_sparameters_path.py:23: UserWarning: Unnamed cells, 1 in 'Unnamed_0da7224c'
+ gdspath = pathlib.Path(component.write_gds())
+
+
+
2024-02-21 09:59:20.925 | WARNING | gdsfactory.config :showwarning :281 - Unnamed cells, 1 in '_container_6ef2acaf'
+2024-02-21 09:59:20.931 | WARNING | gdsfactory.config :showwarning :281 - Could not connect to klive server. Is klayout open and klive plugin installed?
+
+
+
/home/andeloth/miniconda3/envs/photonics/lib/python3.11/site-packages/gdsfactory/show.py:47: UserWarning: Unnamed cells, 1 in '_container_6ef2acaf'
+ gdspath = component.write_gds(
+/home/andeloth/miniconda3/envs/photonics/lib/python3.11/site-packages/gdsfactory/klive.py:49: UserWarning: Could not connect to klive server. Is klayout open and klive plugin installed?
+ warnings.warn(
+
+
+
2024-02-21 09:59:21.016 | WARNING | gdsfactory.config :showwarning :281 - Casting complex values to real discards the imaginary part
+2024-02-21 09:59:21.027 | WARNING | gdsfactory.config :showwarning :281 - Casting complex values to real discards the imaginary part
+
+
+
/home/andeloth/miniconda3/envs/photonics/lib/python3.11/site-packages/meep/__init__.py:4436: ComplexWarning: Casting complex values to real discards the imaginary part
+ return _meep.create_structure(cell_size, dft_data_list_, pml_1d_vols_, pml_2d_vols_, pml_3d_vols_, absorber_vols_, gv, br, sym, num_chunks, Courant, use_anisotropic_averaging, tol, maxeval, gobj_list, center, _ensure_periodicity, _default_material, alist, extra_materials, split_chunks_evenly, set_materials, existing_s, output_chunk_costs, my_bp)
+/home/andeloth/miniconda3/envs/photonics/lib/python3.11/site-packages/meep/__init__.py:4439: ComplexWarning: Casting complex values to real discards the imaginary part
+ return _meep._set_materials(s, cell_size, gv, use_anisotropic_averaging, tol, maxeval, gobj_list, center, _ensure_periodicity, _default_material, alist, extra_materials, split_chunks_evenly, set_materials, existing_geps, output_chunk_costs, my_bp)
+
+
+
---------------------------------------------------------------------------
+KeyboardInterrupt Traceback (most recent call last)
+Cell In [ 37 ], line 19
+ 16 mmi_comp . add_port ( name = "o3" , center = [ port_xpos , - port_ypos ], width = port_ysize , orientation = 180 , cross_section = gf . cross_section . cross_section ( width = port_ysize , layer = 'WG' ))
+ 17 mmi_comp . add_port ( name = "o4" , center = [ port_xpos , port_ypos ], width = port_ysize , orientation = 180 , cross_section = gf . cross_section . cross_section ( width = port_ysize , layer = 'WG' ))
+---> 19 sparams = write_sparameters_meep (
+ 20 component = mmi_comp ,
+ 21 resolution = res ,
+ 22 extend_ports_length = 0 ,
+ 23 port_margin = 0 ,
+ 24 port_source_offset = 4.5 ,
+ 25 port_monitor_offset = 4.5 ,
+ 26 run = True ,
+ 27 xmargin = 0 ,
+ 28 ymargin = 1 ,
+ 29 zmargin = 2 if sim_is_3D else 0 ,
+ 30 is_3d = sim_is_3D ,
+ 31 tpml = dpml ,
+ 32 clad_material = "SiO2" ,
+ 33 wavelength_start = 1.5 ,
+ 34 wavelength_stop = 1.6 ,
+ 35 wavelength_points = 100
+ 36 )
+
+File ~/miniconda3/envs/photonics/lib/python3.11/site-packages/pydantic/deprecated/decorator.py:55, in validate_arguments.<locals>.validate.<locals>.wrapper_function (*args, **kwargs)
+ 53 @wraps ( _func )
+ 54 def wrapper_function ( * args : Any , ** kwargs : Any ) -> Any :
+---> 55 return vd . call ( * args , ** kwargs )
+
+File ~/miniconda3/envs/photonics/lib/python3.11/site-packages/pydantic/deprecated/decorator.py:150, in ValidatedFunction.call (self, *args, **kwargs)
+ 148 def call ( self , * args : Any , ** kwargs : Any ) -> Any :
+ 149 m = self . init_model_instance ( * args , ** kwargs )
+--> 150 return self . execute ( m )
+
+File ~/miniconda3/envs/photonics/lib/python3.11/site-packages/pydantic/deprecated/decorator.py:222, in ValidatedFunction.execute (self, m)
+ 220 return self . raw_function ( * args_ , ** kwargs , ** var_kwargs )
+ 221 else :
+--> 222 return self . raw_function ( ** d , ** var_kwargs )
+
+File ~/miniconda3/envs/photonics/lib/python3.11/site-packages/gplugins/gmeep/write_sparameters_meep.py:562, in write_sparameters_meep (component, port_source_names, port_source_modes, port_modes, port_symmetries, resolution, wavelength_start, wavelength_stop, wavelength_points, dirpath, layer_stack, port_margin, port_monitor_offset, port_source_offset, filepath, overwrite, animate, animate_center, animate_size, lazy_parallelism, run, dispersive, xmargin, ymargin, zmargin, xmargin_left, xmargin_right, ymargin_top, ymargin_bot, zmargin_top, zmargin_bot, decay_by, is_3d, z, plot_args, only_return_filepath_sim_settings, verbosity, **settings)
+ 559 for port_source_name in tqdm ( port_source_names ):
+ 560 for port_source_mode in port_source_modes [ port_source_name ]:
+ 561 sp . update (
+--> 562 sparameter_calculation (
+ 563 port_source_name ,
+ 564 port_source_mode = port_source_mode ,
+ 565 component = component ,
+ 566 port_symmetries = port_symmetries ,
+ 567 wavelength_start = wavelength_start ,
+ 568 wavelength_stop = wavelength_stop ,
+ 569 wavelength_points = wavelength_points ,
+ 570 animate = animate ,
+ 571 port_names = port_names ,
+ 572 ** settings ,
+ 573 )
+ 574 )
+ 575 sp [ "wavelengths" ] = np . linspace (
+ 576 wavelength_start , wavelength_stop , wavelength_points
+ 577 )
+ 578 np . savez_compressed ( filepath , ** sp )
+
+File ~/miniconda3/envs/photonics/lib/python3.11/site-packages/pydantic/deprecated/decorator.py:55, in validate_arguments.<locals>.validate.<locals>.wrapper_function (*args, **kwargs)
+ 53 @wraps ( _func )
+ 54 def wrapper_function ( * args : Any , ** kwargs : Any ) -> Any :
+---> 55 return vd . call ( * args , ** kwargs )
+
+File ~/miniconda3/envs/photonics/lib/python3.11/site-packages/pydantic/deprecated/decorator.py:150, in ValidatedFunction.call (self, *args, **kwargs)
+ 148 def call ( self , * args : Any , ** kwargs : Any ) -> Any :
+ 149 m = self . init_model_instance ( * args , ** kwargs )
+--> 150 return self . execute ( m )
+
+File ~/miniconda3/envs/photonics/lib/python3.11/site-packages/pydantic/deprecated/decorator.py:222, in ValidatedFunction.execute (self, m)
+ 220 return self . raw_function ( * args_ , ** kwargs , ** var_kwargs )
+ 221 else :
+--> 222 return self . raw_function ( ** d , ** var_kwargs )
+
+File ~/miniconda3/envs/photonics/lib/python3.11/site-packages/gplugins/gmeep/write_sparameters_meep.py:488, in write_sparameters_meep.<locals>.sparameter_calculation (port_source_name, component, port_symmetries, port_names, port_source_mode, wavelength_start, wavelength_stop, wavelength_points, animate, animate_center, animate_size, plot_args, dispersive, decay_by, **settings)
+ 484 animate . to_mp4 (
+ 485 30 , f " { component . name } _ { port_source_name } _ { port_source_mode } .mp4"
+ 486 )
+ 487 else :
+--> 488 sim . run ( until_after_sources = termination )
+ 490 # Calculate mode overlaps
+ 491 # Get source monitor results
+ 492 source_entering , _ = parse_port_eigenmode_coeff (
+ 493 port_source_name , component . ports , sim_dict , port_mode = port_source_mode
+ 494 )
+
+File ~/miniconda3/envs/photonics/lib/python3.11/site-packages/meep/simulation.py:4530, in Simulation.run (self, *step_funcs, **kwargs)
+ 4527 raise ValueError ( f "Unrecognized keyword arguments: { kwargs . keys () } " )
+ 4529 if until_after_sources is not None :
+-> 4530 self . _run_sources_until ( until_after_sources , step_funcs )
+ 4531 elif until is not None :
+ 4532 self . _run_until ( until , step_funcs )
+
+File ~/miniconda3/envs/photonics/lib/python3.11/site-packages/meep/simulation.py:2871, in Simulation._run_sources_until (self, cond, step_funcs)
+ 2867 return cond [ i ]( sim ) and sim . round_time () >= ts
+ 2869 new_conds . append ( f )
+-> 2871 self . _run_until ( new_conds , step_funcs )
+
+File ~/miniconda3/envs/photonics/lib/python3.11/site-packages/meep/simulation.py:2829, in Simulation._run_until (self, cond, step_funcs)
+ 2827 for func in step_funcs :
+ 2828 _eval_step_func ( self , func , "step" )
+-> 2829 self . fields . step ()
+ 2831 # Translating the recursive scheme version of run-until into an iterative version
+ 2832 # (because python isn't tail-call-optimized) means we need one extra iteration to
+ 2833 # be the same as scheme.
+ 2834 for func in step_funcs :
+
+File ~/miniconda3/envs/photonics/lib/python3.11/site-packages/meep/__init__.py:3040, in fields.step (self)
+ 3039 def step ( self ):
+-> 3040 return _meep . fields_step ( self )
+
+KeyboardInterrupt :
+
+
+
diff --git a/searchindex.js b/searchindex.js
index 4c73f1e..069301f 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["index", "pages/adjoint_optimization", "pages/advanced_components", "pages/analyzing_circuits", "pages/compact_models", "pages/component_convenience", "pages/components", "pages/credits", "pages/directional_couplers", "pages/drc", "pages/edge_couplers", "pages/gds_to_meep", "pages/git_and_github", "pages/glossary", "pages/grating_couplers", "pages/introduction", "pages/klayout", "pages/laboratory_tools", "pages/layer_stack", "pages/layout_demo", "pages/meep_to_gds", "pages/mmis", "pages/mzi", "pages/mzi_layout", "pages/open_source", "pages/optical_io", "pages/optimization", "pages/passive_components", "pages/pdks", "pages/phase_shifters", "pages/phase_shifters_heaters", "pages/phase_shifters_pn", "pages/photonic_devices", "pages/python", "pages/ray_optic_model", "pages/ring_resonators", "pages/scattering_parameters", "pages/shape_optimization", "pages/software", "pages/vscode", "pages/waveguides", "pages/waveguides_mode_solvers", "pages/waveguides_modelling", "pages/waveguides_polarization", "pages/waveguides_tir", "pages/wsl", "pages/y_branch"], "filenames": ["index.md", "pages/adjoint_optimization.ipynb", "pages/advanced_components.ipynb", "pages/analyzing_circuits.ipynb", "pages/compact_models.ipynb", "pages/component_convenience.ipynb", "pages/components.ipynb", "pages/credits.md", "pages/directional_couplers.ipynb", "pages/drc.ipynb", "pages/edge_couplers.ipynb", "pages/gds_to_meep.ipynb", "pages/git_and_github.md", "pages/glossary.md", "pages/grating_couplers.ipynb", "pages/introduction.md", "pages/klayout.md", "pages/laboratory_tools.ipynb", "pages/layer_stack.ipynb", "pages/layout_demo.ipynb", "pages/meep_to_gds.ipynb", "pages/mmis.ipynb", "pages/mzi.ipynb", "pages/mzi_layout.ipynb", "pages/open_source.md", "pages/optical_io.md", "pages/optimization.ipynb", "pages/passive_components.md", "pages/pdks.ipynb", "pages/phase_shifters.ipynb", "pages/phase_shifters_heaters.ipynb", "pages/phase_shifters_pn.ipynb", "pages/photonic_devices.ipynb", "pages/python.md", "pages/ray_optic_model.ipynb", "pages/ring_resonators.ipynb", "pages/scattering_parameters.ipynb", "pages/shape_optimization.ipynb", "pages/software.md", "pages/vscode.md", "pages/waveguides.ipynb", "pages/waveguides_mode_solvers.ipynb", "pages/waveguides_modelling.ipynb", "pages/waveguides_polarization.ipynb", "pages/waveguides_tir.ipynb", "pages/wsl.md", "pages/y_branch.ipynb"], "titles": ["CamachoLab Photonics Bootcamp", "Adjoint optimization", "Advanced Components", "Analyzing circuits", "Compact models", "<no title>", "Components", "Credits", "Directional couplers", "Design rule checks", "Edge couplers", "GDS to Meep", "Git (and GitHub)", "Glossary", "Grating couplers", "Introduction", "KLayout", "Laboratory Tools", "Defining the layer stack", "Layout Demo", "Meep to GDS", "Multimode Interferometers (MMIs)", "Mach-Zehnder interferometers", "Laying out a Mach-Zehnder Interferometer", "Open source software", "Optical I/O", "Optimization and inverse design", "Passive Components", "Process design kits", "Phase Shifters", "Heaters", "PN and PIN Junctions", "What are photonic devices?", "Python", "Improving the Ray-optic Model", "Ring Resonators", "Scattering parameters", "Shape optimization", "Software", "Visual Studio Code", "Waveguides", "Waveguide modes", "Modelling Wavegudies", "Polarization", "Total Internal Reflection", "WSL (Windows-only)", "Y-Branches"], "terms": {"sponsor": 0, "googl": [0, 7, 15, 24], "thi": [0, 3, 6, 8, 11, 12, 13, 14, 15, 16, 18, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 42, 43, 44, 45, 46], "intend": [0, 11, 24], "those": [0, 6, 22, 24, 35, 46], "experi": [0, 22, 31, 38, 44], "electr": [0, 6, 8, 13, 14, 15, 18, 21, 22, 27, 29, 30, 31, 32, 34, 35, 40, 41, 43, 44], "engin": [0, 15, 22, 24, 32], "ar": [0, 3, 6, 8, 9, 11, 12, 13, 14, 15, 17, 18, 21, 22, 23, 24, 27, 28, 29, 30, 31, 33, 34, 35, 38, 39, 40, 41, 42, 43, 44, 45, 46], "interest": [0, 15, 22], "learn": [0, 3, 6, 23, 28, 33, 35], "about": [0, 6, 8, 17, 22, 24, 33, 34, 36, 38, 39, 42, 43], "integr": [0, 13, 15, 16, 18, 28, 32, 39], "applic": [0, 8, 13, 22, 24, 30, 31, 33, 36], "cours": [0, 8, 12, 13, 15, 24, 27, 33, 38, 39, 44], "wa": [0, 22, 36, 45], "creat": [0, 6, 8, 11, 12, 13, 14, 15, 17, 18, 21, 22, 23, 32, 33, 34, 35, 36, 38, 41, 44, 45, 46], "collabor": [0, 12, 15, 24], "between": [0, 11, 13, 15, 21, 22, 29, 30, 31, 32, 34, 35, 36, 42, 44, 46], "brigham": 0, "young": 0, "univers": [0, 18], "s": [0, 3, 6, 12, 13, 14, 15, 16, 18, 23, 24, 29, 30, 31, 32, 33, 35, 39, 41, 42, 43, 44, 45, 46], "skywat": 0, "project": [0, 12, 24], "introduct": [0, 22], "credit": 0, "open": [0, 6, 8, 12, 13, 14, 15, 16, 17, 21, 28, 33, 35, 38, 39, 42, 45], "sourc": [0, 6, 11, 12, 13, 15, 16, 17, 18, 20, 21, 32, 33, 35, 38, 39], "softwar": [0, 6, 12, 13, 15, 16, 17, 18, 28, 33, 36], "what": [0, 6, 8, 11, 12, 22, 23, 24, 43, 44], "defin": [0, 3, 6, 8, 9, 11, 14, 21, 22, 35, 36, 41, 42, 44], "layer": [0, 6, 8, 13, 19, 21, 23, 28, 36, 40, 46], "stack": [0, 13, 28, 33], "compon": [0, 8, 11, 13, 14, 15, 18, 19, 20, 21, 23, 24, 25, 32, 34, 36, 41, 43, 46], "waveguid": [0, 6, 13, 14, 18, 21, 22, 23, 27, 29, 30, 31, 32, 34, 35, 36, 43, 46], "optic": [0, 6, 14, 18, 21, 27, 30, 31, 32, 43, 44, 46], "i": [0, 6, 8, 11, 14, 21, 22, 29, 33, 35, 36, 38, 44], "o": [0, 6], "optim": [0, 3, 14, 22, 32, 33, 46], "invers": [0, 32, 44], "compact": [0, 13, 15, 28, 46], "model": [0, 3, 13, 15, 18, 28, 41, 44], "rule": [0, 13, 28, 33], "check": [0, 11, 12, 13, 18, 32, 36], "process": [0, 6, 8, 11, 13, 18, 30, 33, 36, 42], "kit": [0, 13], "mach": [0, 21, 32], "zehnder": [0, 21, 32], "interferomet": [0, 6, 13, 27, 32], "lai": [0, 6, 16], "out": [0, 6, 8, 11, 13, 14, 16, 21, 22, 33, 34, 35, 36, 41, 43, 46], "layout": [0, 8, 11, 15, 16, 22, 32, 33, 35, 38], "demo": 0, "advanc": 0, "phase": [0, 8, 21, 22, 32, 34, 35, 36, 46], "shifter": [0, 22, 32], "analyz": [0, 15], "glossari": 0, "repositori": [0, 12, 38], "pdk": [0, 6, 9, 13, 18, 19, 22, 23, 28, 32], "document": [0, 15, 17, 22], "In": [3, 6, 8, 11, 12, 14, 15, 18, 21, 22, 23, 24, 27, 29, 30, 31, 32, 33, 35, 36, 38, 39, 41, 46], "section": [3, 6, 14, 16, 18, 25, 27, 32, 33, 34, 35, 36, 38, 42, 43, 45], "we": [3, 6, 8, 12, 13, 14, 15, 17, 18, 22, 23, 24, 25, 27, 28, 29, 32, 33, 34, 35, 36, 38, 39, 41, 42, 43, 44, 45, 46], "how": [3, 6, 8, 11, 13, 15, 18, 21, 22, 23, 27, 33, 34, 35, 38, 41, 42, 43, 44, 45], "interpret": [3, 33], "data": [3, 13, 18, 23, 35, 36, 43], "collect": [3, 22, 23, 36], "from": [3, 8, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 23, 29, 30, 31, 32, 33, 34, 35, 36, 39, 41, 43, 45, 46], "our": [3, 6, 17, 22, 23, 28, 31, 34, 36, 38, 41], "whenev": 3, "obtain": [3, 30], "import": [3, 8, 11, 14, 18, 19, 20, 21, 22, 23, 24, 33, 34, 35, 41, 43, 44, 46], "rememb": [3, 35], "renspons": 3, "chang": [3, 6, 8, 12, 13, 14, 21, 22, 23, 24, 29, 30, 31, 32, 33, 34, 35, 36, 41, 42, 44, 46], "wavelength": [3, 8, 14, 18, 21, 22, 32, 34, 35, 36, 41, 42], "well": [3, 6, 11, 12, 16, 31, 32, 33, 34, 43], "being": [3, 8, 16, 21, 22, 24, 32, 34, 46], "test": [3, 11, 12, 15, 17, 18, 23, 33, 43], "order": [3, 6, 13, 14, 27, 30, 32, 34, 36, 38, 41, 46], "properli": 3, "must": [3, 6, 8, 11, 13, 18, 22, 23, 24, 30, 35, 46], "first": [3, 8, 11, 12, 14, 22, 23, 27, 29, 35, 36, 41, 43, 44, 45], "deemb": 3, "depend": [3, 8, 18, 22, 24, 29, 30, 33, 35, 36, 41, 42, 43, 44], "can": [3, 6, 8, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46], "done": [3, 6, 20, 32, 33, 36, 39], "varieti": [3, 6, 14, 21], "wai": [3, 6, 15, 21, 22, 24, 29, 30, 32, 33, 34, 35, 36, 38, 39, 42, 44], "includ": [3, 6, 11, 12, 13, 15, 16, 17, 18, 21, 22, 24, 28, 29, 30, 31, 32, 33, 35, 39, 41, 42, 45], "consid": [3, 8, 14, 21, 22, 31, 34, 42, 43, 46], "follow": [3, 6, 13, 14, 20, 22, 23, 27, 31, 33, 34, 35, 38, 42, 44, 45], "via": [3, 12, 17, 18, 33, 35, 40, 45], "sweep": [3, 28], "numpi": [3, 6, 8, 12, 14, 19, 22, 33, 35, 36, 41, 44], "np": [3, 6, 8, 14, 18, 19, 35, 36, 41, 44], "matplotlib": [3, 6, 12, 14, 18, 19, 22, 33, 35, 36, 41, 44, 46], "pyplot": [3, 14, 19, 22, 35, 36, 41, 44, 46], "plt": [3, 14, 19, 22, 35, 36, 41, 44, 46], "poly_ord": 3, "4": [3, 6, 8, 19, 21, 22, 23, 33, 35, 36, 41], "load": [3, 11, 16, 36], "file": [3, 8, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 23, 24, 32, 33, 35, 36, 38, 39, 45], "oscope_data": 3, "npz": 3, "power": [3, 8, 13, 16, 21, 22, 30, 32, 35, 36], "here": [3, 6, 8, 14, 16, 18, 24, 25, 27, 33, 35, 36, 38, 39, 42, 45, 46], "raw": 3, "oscilloscop": 3, "plot": [3, 6, 8, 11, 18, 19, 22, 23, 33, 35, 36, 41, 44, 46], "titl": 3, "xlabel": [3, 8], "nm": [3, 14, 18, 22], "ylabel": [3, 8], "dbm": 3, "show": [3, 6, 11, 18, 19, 21, 22, 28, 35, 36, 41, 44, 46], "The": [3, 6, 8, 11, 13, 14, 15, 18, 20, 21, 23, 24, 27, 29, 30, 31, 33, 34, 35, 36, 38, 41, 42, 43, 44, 45, 46], "parabol": 3, "shape": [3, 13, 25, 32, 36, 41, 42, 46], "graph": [3, 43], "due": [3, 22, 27, 34, 35, 46], "respons": [3, 22, 35, 36, 46], "which": [3, 6, 8, 11, 12, 13, 14, 21, 22, 23, 24, 30, 31, 32, 33, 34, 35, 36, 38, 40, 41, 43, 44, 45, 46], "obfusc": 3, "try": [3, 23], "remov": [3, 8, 14, 21, 30, 31, 32, 33, 35], "effect": [3, 8, 14, 30, 31, 35, 41], "parabola": 3, "subtract": [3, 6], "function": [3, 6, 8, 11, 14, 20, 21, 22, 23, 28, 33, 35, 36, 41, 42, 44], "want": [3, 6, 11, 12, 20, 21, 22, 23, 24, 33, 35, 36, 42, 45, 46], "case": [3, 8, 14, 16, 18, 22, 23, 29, 33, 44, 46], "def": [3, 6, 44, 46], "model_parabola": 3, "x": [3, 6, 8, 11, 19, 21, 23, 36, 41, 43, 44, 46], "b": [3, 6, 8, 44], "c": [3, 6, 8, 11, 22, 23, 33], "d": [3, 7, 15, 33, 42, 43, 44, 45], "e": [3, 6, 8, 11, 12, 18, 22, 29, 32, 35, 36, 38, 41, 42, 46], "return": [3, 6, 11, 20, 22, 36, 41, 44, 46], "3": [3, 8, 11, 14, 15, 18, 19, 20, 21, 22, 23, 24, 28, 33, 35, 40, 41, 44, 46], "2": [3, 6, 8, 11, 14, 15, 18, 19, 20, 21, 22, 23, 28, 33, 34, 35, 41, 44, 46], "now": [3, 6, 19, 22, 23, 25, 33, 34, 36, 39, 41, 46], "just": [3, 6, 8, 11, 13, 14, 15, 17, 22, 23, 29, 33, 35, 36, 41, 46], "need": [3, 6, 11, 12, 22, 23, 24, 33, 36, 38, 42, 43, 45, 46], "paramet": [3, 6, 8, 21, 22, 23, 32, 35], "do": [3, 6, 15, 18, 20, 23, 24, 35, 36, 38, 39, 43], "curve_fit": 3, "scipi": [3, 12, 33], "take": [3, 6, 8, 11, 13, 20, 22, 23, 30, 32, 35, 36, 43, 44, 45], "y": [3, 6, 8, 11, 21, 22, 23, 27, 29, 36, 41, 43, 44], "an": [3, 6, 8, 9, 11, 12, 13, 14, 15, 17, 18, 21, 22, 23, 24, 30, 31, 32, 33, 34, 35, 41, 42, 43, 44, 46], "initi": [3, 6, 8, 22], "guess": 3, "It": [3, 6, 8, 11, 13, 14, 15, 16, 18, 20, 22, 23, 24, 31, 33, 34, 36, 39, 41, 42, 43, 45], "covari": 3, "matrix": [3, 22, 36], "start": [3, 6, 22, 33, 34, 35, 36, 45], "end": [3, 8, 13, 14, 19, 22, 24, 33, 36, 42, 44, 46], "argmax": 3, "1560": 3, "1580": 3, "help": [3, 6, 9, 12, 13, 16, 18, 22, 23, 28, 31, 34], "term": [3, 8, 13, 22], "speed": [3, 8, 30, 31, 32, 42], "accuraci": 3, "add": [3, 6, 8, 18, 20, 21, 23, 33, 36, 42, 44], "especi": [3, 11, 24, 30, 31, 33], "true": [3, 8, 11, 14, 18, 19, 21, 22, 35, 36, 41, 42, 44, 46], "more": [3, 6, 8, 11, 15, 16, 17, 18, 21, 22, 24, 29, 31, 32, 33, 34, 35, 36, 39, 41, 42, 43, 46], "complic": [3, 6, 34, 42, 46], "initial_guess": 3, "1": [3, 6, 8, 11, 14, 15, 18, 19, 20, 21, 22, 23, 24, 28, 33, 34, 35, 40, 41, 42, 44, 46], "optimal_paramet": 3, "covariance_matrix": 3, "label": [3, 11, 18, 22, 23, 44], "legend": [3, 44], "simpli": [3, 6, 14, 22, 33, 34, 36], "offset": [3, 31], "make": [3, 6, 8, 13, 20, 21, 22, 23, 24, 25, 28, 31, 32, 33, 36, 39, 46], "easier": [3, 6, 39, 46], "see": [3, 8, 11, 13, 14, 18, 21, 22, 23, 24, 28, 29, 31, 35, 36, 41, 43, 46], "power_correct": 3, "max": [3, 36], "correct": [3, 11], "ones": [3, 6, 33], "len": [3, 41], "averag": [3, 14, 42], "gdsfactori": [6, 8, 11, 13, 15, 19, 20, 21, 22, 23, 33, 35, 36, 41, 46], "them": [6, 8, 11, 15, 21, 22, 23, 24, 27, 31, 32, 33, 36, 38], "togeth": [6, 8, 12, 18, 23, 32, 33, 34], "larger": [6, 8, 13, 15, 22, 32, 46], "design": [6, 13, 14, 15, 16, 18, 20, 21, 23, 24, 25, 27, 35, 36], "simpl": [6, 15, 18, 22, 23, 30, 32, 33, 40, 42, 44], "complex": [6, 31, 32, 33, 36], "construct": [6, 13, 14, 21, 22, 29, 32, 34, 35, 46], "exampl": [6, 11, 12, 13, 15, 18, 20, 21, 22, 24, 27, 28, 29, 32, 33, 41, 42], "contain": [6, 11, 13, 18, 20, 22, 23, 32, 33, 34, 36, 41], "other": [6, 11, 12, 13, 17, 18, 21, 22, 23, 24, 29, 30, 31, 32, 33, 34, 36, 39, 41, 42, 43, 46], "thei": [6, 9, 11, 12, 13, 15, 18, 21, 22, 24, 32, 33, 34, 35, 42, 45, 46], "usual": [6, 9, 13, 15, 18, 32], "have": [6, 8, 11, 12, 13, 14, 15, 18, 21, 22, 23, 24, 28, 29, 31, 32, 33, 34, 35, 36, 38, 39, 41, 42, 43, 45, 46], "allow": [6, 8, 11, 12, 13, 15, 16, 22, 24, 32, 36, 39], "you": [6, 8, 9, 11, 12, 13, 14, 15, 16, 18, 20, 21, 22, 23, 24, 28, 32, 33, 35, 36, 38, 39, 41, 44, 45, 46], "factori": [6, 28], "when": [6, 8, 11, 14, 16, 18, 22, 24, 29, 31, 32, 33, 35, 36, 41, 42, 43, 44, 46], "align": [6, 8, 19, 23], "each": [6, 8, 11, 13, 14, 16, 17, 18, 21, 22, 30, 32, 33, 41, 42, 44, 46], "taken": [6, 18, 36], "care": [6, 36, 42, 43], "automat": [6, 16, 17, 18], "made": [6, 13, 24, 25, 35, 40, 41, 42], "up": [6, 8, 11, 12, 13, 14, 18, 21, 22, 24, 30, 32, 33, 35, 36, 39, 42, 45, 46], "option": [6, 11, 15, 36, 39], "most": [6, 8, 11, 12, 14, 16, 18, 20, 24, 30, 33, 34, 35, 36, 38, 40, 42, 43, 46], "basic": [6, 14, 16, 21, 22, 23, 33, 36, 44], "build": [6, 13, 22, 27, 32, 34, 35, 45], "object": [6, 8, 18, 20, 22, 34, 41], "gf": [6, 11, 19, 21, 22, 23, 36, 46], "seri": [6, 15, 33], "conveni": [6, 22, 28], "visual": [6, 13, 14, 18, 20, 22, 34, 38, 41], "jupyt": [6, 15, 39], "notebook": [6, 11, 15, 36], "For": [6, 11, 13, 17, 18, 21, 22, 23, 28, 29, 30, 31, 32, 33, 35, 36, 38, 42, 44], "plot_holoview": 6, "plot_jupyt": 6, "plot_klayout": 6, "plot_matplotlib": 6, "plot_netlist": 6, "plot_netlist_flat": 6, "plot_widget": 6, "some": [6, 8, 11, 13, 14, 16, 17, 18, 22, 24, 27, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 43, 46], "alias": 6, "default": [6, 22, 23, 36, 38, 39, 45, 46], "could": [6, 11, 13, 18, 21, 22, 34, 36, 43], "keyword": [6, 11, 22], "argument": [6, 11, 22, 23, 36, 44], "below": [6, 8, 11, 14, 18, 20, 21, 22, 23, 24, 29, 34, 35, 36, 41, 43, 44], "format": [6, 8, 14, 15, 16, 17, 21, 22, 35], "ll": [6, 12, 15, 22, 23, 24, 33, 35, 36, 38, 41, 42, 43, 45], "explicit": [6, 22, 24], "But": [6, 24, 36], "recommend": [6, 8, 12, 17, 33, 36, 38, 39, 45], "displai": [6, 16, 35, 44], "interact": [6, 8, 14, 27, 33, 34, 38, 42], "klayout": [6, 18, 19, 23, 28, 32, 38, 45], "widget": 6, "lowest": [6, 13], "block": [6, 8, 13, 14, 20, 22, 27, 32, 35, 45, 46], "list": [6, 11, 13, 20, 22, 23, 32, 33, 42], "vertic": [6, 20, 23, 32, 36, 41, 44], "adjac": 6, "pair": [6, 18], "line": [6, 8, 12, 13, 14, 17, 21, 23, 32, 33, 34, 35, 36, 41, 43, 44, 45], "doe": [6, 8, 22, 24, 34, 43], "cross": [6, 8, 14, 15, 16, 18, 41, 42], "ani": [6, 8, 11, 13, 14, 18, 23, 24, 28, 31, 33, 34, 36, 38, 39, 41, 44, 46], "within": [6, 11, 13, 16, 21, 22, 29, 30, 31, 32, 34, 41, 42], "although": [6, 13, 18, 32, 38], "overlap": [6, 8], "parallel": [6, 8, 11, 41, 43], "lie": 6, "upon": [6, 34, 44], "point": [6, 13, 34, 35, 36, 41], "exist": [6, 8, 13, 18, 24, 32, 33, 36, 41], "geometri": [6, 8, 11, 13, 14, 18, 20, 21, 23, 34, 35, 41, 42, 46], "instead": [6, 11, 13, 14, 21, 22, 24, 31, 32, 33, 35, 42], "new": [6, 13, 15, 16, 18, 23, 29, 32, 33, 45], "one": [6, 8, 11, 13, 14, 15, 18, 21, 22, 23, 24, 29, 30, 31, 32, 33, 35, 36, 38, 41, 42, 43, 46], "That": [6, 24, 43], "parameter": [6, 22, 32, 42], "call": [6, 8, 18, 21, 22, 30, 31, 32, 33, 34, 35, 41, 43, 44], "even": [6, 8, 32, 33, 42], "hierarch": [6, 13], "nest": 6, "save": [6, 8, 11, 13, 14, 20, 21, 33, 35, 36], "memori": [6, 13, 32], "becaus": [6, 8, 12, 14, 18, 21, 22, 24, 30, 31, 32, 35, 42, 43, 44, 46], "core": [6, 8, 11, 18, 34, 36, 40, 41, 42, 44], "onli": [6, 11, 12, 13, 15, 17, 21, 22, 23, 24, 27, 33, 34, 35, 36, 38, 42, 43, 46], "onc": [6, 16, 32, 33, 36, 43], "referenc": 6, "mani": [6, 8, 11, 12, 13, 15, 17, 22, 23, 24, 28, 30, 32, 33, 35, 36, 42, 46], "time": [6, 8, 11, 12, 13, 14, 16, 21, 22, 24, 29, 30, 31, 32, 33, 34, 35, 36, 42, 44, 45, 46], "These": [6, 8, 11, 12, 13, 18, 22, 24, 32, 34, 36, 43, 44], "place": [6, 8, 13, 21, 23, 30, 32, 38], "anywher": [6, 33], "independ": [6, 30], "all": [6, 8, 12, 13, 14, 15, 17, 18, 21, 22, 23, 24, 28, 32, 33, 34, 35, 36, 38, 39, 42, 43, 44, 46], "appli": [6, 16, 18, 31, 36], "base": [6, 8, 12, 17, 21, 24, 30, 31, 32, 33, 36, 44, 46], "instanc": [6, 11, 18, 22, 32, 33], "had": [6, 11, 22, 32], "same": [6, 8, 11, 14, 15, 17, 18, 21, 22, 23, 24, 30, 31, 32, 33, 35, 46], "taper": [6, 14, 21, 34], "its": [6, 8, 11, 17, 18, 22, 23, 24, 30, 32, 33, 35, 36, 42, 43], "input": [6, 8, 13, 21, 22, 23, 32, 35, 36, 46], "output": [6, 8, 11, 13, 14, 21, 22, 32, 35, 36, 44, 46], "repeatedli": 6, "would": [6, 11, 13, 14, 18, 21, 22, 24, 32, 34, 36, 45], "good": [6, 22, 36], "requir": [6, 8, 18, 22, 24, 28, 30, 31, 32, 33, 35], "higher": [6, 18, 29, 30, 31, 34, 35, 41, 42, 46], "level": [6, 14, 22, 33, 36], "By": [6, 11, 14, 22, 31], "draw": [6, 23, 35], "bank": 6, "without": [6, 13, 22, 24, 28, 30, 31, 32, 33, 34], "much": [6, 8, 11, 22, 34, 35, 36, 39], "pattern": [6, 14, 18, 22, 32, 34], "where": [6, 8, 11, 14, 21, 22, 23, 24, 30, 33, 35, 36, 43, 46], "across": [6, 13, 22], "compos": [6, 32], "interconnect": [6, 13, 36], "compound": 6, "intermedi": 6, "specifi": [6, 8, 11, 13, 14, 20, 33, 36, 42], "direct": [6, 13, 14, 19, 20, 21, 23, 27, 32, 34, 35, 36, 41, 43, 44, 46], "face": [6, 13], "either": [6, 11, 13, 32, 35, 43, 46], "also": [6, 8, 11, 12, 13, 14, 15, 16, 21, 22, 23, 24, 29, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 43, 44, 45, 46], "width": [6, 8, 13, 14, 18, 20, 21, 22, 31, 32, 35, 36, 41, 42], "attach": [6, 11, 13], "your": [6, 8, 9, 11, 12, 13, 14, 16, 18, 20, 22, 23, 24, 28, 32, 33, 35, 38, 39, 43, 45], "convei": 6, "inform": [6, 13, 15, 17, 18, 22, 24, 28, 29, 31, 32, 36, 39], "otherwis": [6, 22, 35], "seen": [6, 8, 11, 24], "A": [6, 8, 13, 14, 18, 21, 22, 24, 28, 30, 31, 32, 33, 35, 36, 38, 39, 40, 41, 42, 43, 46], "add_label": 6, "pass": [6, 11, 22, 23, 29, 32, 33], "text": [6, 8, 18, 22, 23, 24, 28, 33, 35, 39], "locat": [6, 14, 20, 45], "should": [6, 8, 11, 15, 18, 22, 23, 28, 36, 39, 46], "shown": [6, 8, 20, 35, 36], "posit": [6, 18, 22, 32, 35, 36, 41, 43], "center": [6, 8, 14, 19, 20, 21, 22, 31, 35, 36, 46], "passiv": [6, 25], "sever": [6, 8, 11, 16, 29, 30, 31, 33, 39, 42], "than": [6, 8, 14, 18, 21, 24, 29, 31, 32, 34, 35, 36, 44, 46], "mai": [6, 8, 11, 12, 13, 18, 21, 22, 23, 24, 29, 30, 31, 32, 36], "part": [6, 8, 9, 11, 22, 23, 24, 28, 36, 40, 41, 43, 46], "track": [6, 12, 33, 36], "number": [6, 8, 11, 13, 18, 21, 24, 33, 35, 36, 41], "As": [6, 8, 11, 14, 15, 18, 22, 24, 30, 31, 35, 36, 43], "let": [6, 13, 22, 23, 29, 34, 35, 36, 41, 42, 43, 44], "tupl": [6, 18, 22], "coordin": [6, 36], "circular": 6, "fashion": [6, 13], "repeat": 6, "last": [6, 23], "infer": 6, "close": [6, 8, 35], "script": [6, 8, 18, 21, 32, 33, 35, 45], "complet": [6, 8, 12, 13, 15, 18, 30, 35, 36, 38, 46], "run": [6, 8, 11, 12, 13, 14, 15, 16, 18, 21, 22, 23, 24, 28, 30, 33, 35, 41, 45, 46], "final": [6, 22, 23, 35, 36], "t_length": 6, "10": [6, 8, 18, 19, 20, 22, 23, 33, 35, 36, 41, 44, 46], "t_width_in": 6, "0": [6, 8, 11, 14, 18, 19, 20, 21, 22, 23, 33, 34, 35, 36, 41, 43, 44, 46], "5": [6, 8, 11, 14, 19, 20, 21, 22, 23, 35, 36, 41, 44, 46], "t_width_out": 6, "add_polygon": 6, "int": [6, 41], "assum": [6, 8, 14, 21, 22, 35, 38, 45, 46], "ve": [6, 15, 32, 33, 36], "provid": [6, 12, 22, 24, 33, 38, 39], "datatyp": [6, 18], "poli": 6, "45": [6, 8, 14, 18, 20, 21, 35, 36, 46], "move": [6, 12, 19, 36, 45], "come": [6, 8, 11, 24, 31, 34, 35, 42, 46], "manipul": [6, 20, 32], "easili": [6, 11, 23, 33, 45, 46], "differ": [6, 8, 11, 13, 14, 15, 20, 21, 22, 23, 24, 25, 29, 32, 33, 40, 41, 42, 43, 44, 45, 46], "combin": [6, 8, 13, 21, 22, 29, 35], "mean": [6, 8, 11, 22, 23, 24, 27, 32, 33, 35, 36, 43, 46], "merg": [6, 12], "xor": 6, "To": [6, 8, 11, 12, 14, 15, 21, 23, 25, 30, 33, 35, 36, 39, 43, 45], "two": [6, 8, 11, 13, 18, 21, 22, 24, 29, 30, 31, 32, 34, 35, 40, 43, 44, 46], "group": [6, 18, 41], "piec": [6, 13], "involv": [6, 32], "itself": [6, 22, 24, 30, 33, 41, 42], "target": [6, 22], "result": [6, 8, 11, 13, 14, 15, 21, 22, 31, 32, 35, 44], "components_a": 6, "components_b": 6, "accept": 6, "equival": [6, 8], "t": [6, 8, 14, 15, 17, 18, 21, 22, 23, 30, 32, 33, 35, 36, 38, 39, 41, 42, 43, 44, 45, 46], "linspac": [6, 22], "pi": [6, 8, 21, 22, 35, 36], "100": [6, 8, 23, 36], "co": [6, 22, 44], "sin": [6, 8, 14, 44], "circl": [6, 35], "triangl": 6, "pacman": 6, "precis": [6, 13, 21, 22, 30], "1e": [6, 36], "6": [6, 8, 22, 36], "origin": [6, 19, 24, 33], "boolean_subtract": 6, "add_ref": [6, 19, 22, 23, 46], "talk": [6, 42], "later": [6, 22, 34], "dimens": [6, 13, 36, 43], "redefin": 6, "everi": [6, 11, 22, 36, 46], "write": [6, 11, 24, 33, 35, 39], "addit": [6, 11, 29], "calcul": [6, 22, 35, 36, 41, 42, 44], "cach": 6, "correspond": [6, 11, 18, 22, 30, 32, 34, 35, 42, 44], "so": [6, 8, 11, 13, 18, 21, 22, 23, 24, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 42, 44, 46], "subsequ": 6, "rebuild": 6, "enabl": [6, 8, 17, 24, 29], "decor": 6, "If": [6, 8, 12, 14, 20, 21, 22, 23, 24, 28, 32, 33, 35, 36, 38, 39, 43, 44, 45, 46], "re": [6, 13, 15, 18, 22, 24, 33, 36, 38, 39], "develop": [6, 12, 13, 24, 32, 39], "modifi": [6, 11, 22, 24, 32, 36], "content": [6, 24], "again": [6, 31, 33, 36], "code": [6, 11, 12, 13, 15, 16, 18, 20, 22, 23, 24, 33, 35, 36, 38, 44, 45], "won": [6, 15, 18, 22, 33, 36], "clear": [6, 34], "clear_cach": 6, "librari": [6, 22, 24, 28, 33, 42, 46], "reusabl": 6, "circuit": [6, 8, 13, 14, 15, 16, 17, 20, 21, 22, 27, 28, 36, 38, 40, 42, 46], "anoth": [6, 8, 11, 18, 21, 22, 24, 29, 31, 35, 43], "fantast": 6, "benefit": [6, 38], "type": [6, 18, 30, 31, 33, 46], "hint": 6, "valid": [6, 9, 13], "name": [6, 11, 18, 19, 20, 22, 23, 24, 31, 33, 36, 44], "abl": [6, 8, 12, 21, 32, 33], "taper_compon": 6, "length": [6, 13, 14, 19, 21, 22, 23, 29, 30, 32, 35, 46], "float": [6, 22], "width_in": 6, "width_out": 6, "like": [6, 8, 11, 13, 14, 15, 17, 18, 20, 22, 24, 29, 30, 31, 33, 38, 39, 40, 41, 42, 44, 46], "quickli": 6, "rectangl": [6, 19, 41], "ellips": [6, 14], "ring": [6, 13, 23, 27, 28], "bend_circular": 6, "bend_eul": 6, "know": [6, 15, 36, 38, 43], "outward": 6, "awai": [6, 8, 30], "match": [6, 8, 11, 21, 36], "respect": [6, 8, 35, 42, 43, 44], "expand": [6, 29, 30], "earlier": 6, "note": [6, 8, 14, 21, 22, 23, 24, 35, 36, 45], "common": [6, 13, 16, 18, 21, 22, 27, 30, 31, 33, 35, 42, 46], "toward": [6, 36], "o1": [6, 11, 19, 21, 22, 36, 46], "orient": [6, 23, 36, 43], "180": [6, 8, 23, 36], "port_typ": 6, "o2": [6, 11, 19, 21, 22, 36, 46], "add_port": [6, 19, 20, 36], "And": [6, 15, 22], "convent": [6, 13, 22, 31, 32, 43], "clock": 6, "wise": 6, "bottom": [6, 39], "left": [6, 8, 14, 18, 35, 36, 39, 44, 46], "corner": [6, 39], "prefix": 6, "index": [6, 8, 14, 18, 20, 21, 22, 27, 29, 30, 31, 33, 34, 35, 36, 38, 40, 41, 44, 46], "previous": [6, 18], "essenti": [6, 9, 16, 23], "pointer": [6, 33], "There": [6, 8, 11, 13, 18, 22, 23, 30, 33, 36, 39, 42, 46], "limit": [6, 21], "gdsii": [6, 36], "specif": [6, 8, 11, 14, 17, 18, 24, 33, 36, 39, 44], "built": [6, 24, 28, 33, 34, 41], "around": [6, 12, 23, 33, 35, 36], "previou": [6, 22, 33], "2x2": [6, 11, 21, 36], "multimod": [6, 27, 46], "mmi": [6, 11, 13, 20, 27, 36], "wide": [6, 13, 35], "therefor": [6, 22, 24, 30, 32, 33, 36, 38, 46], "side": [6, 31, 42, 46], "four": [6, 36], "redraw": 6, "individu": [6, 45], "right": [6, 8, 14, 23, 24, 35, 36, 44, 45, 46], "off": [6, 21, 32, 33, 36, 44, 46], "bat": 6, "mmi2x2": [6, 11, 21, 36], "gap": [6, 23, 35, 46], "125": 6, "determin": [6, 8, 14, 21, 41, 42, 44, 46], "taper_length": [6, 20], "taper_width_in": 6, "taper_width_out": 6, "taper_c": 6, "bodi": [6, 21], "rect": 6, "size": [6, 8, 13, 14, 19, 20, 21, 24, 32, 34, 35, 36, 46], "none": [6, 36, 41, 44, 46], "port_width": 6, "port_cent": 6, "o3": [6, 11, 19, 21, 36, 46], "o4": [6, 11, 19, 21, 36], "mmi_ref": 6, "shift": [6, 22, 30], "shorthand": [6, 22], "taper_ref": 6, "_": 6, "rang": [6, 13, 14, 18, 30, 36], "enumer": [6, 44], "destin": [6, 19, 46], "alon": [6, 22, 41], "expos": [6, 22, 32], "ref": 6, "f": [6, 8, 15, 35, 36, 41, 44], "auto_rename_port": 6, "consist": [6, 18, 22, 40], "simpler": [6, 36], "find": [6, 8, 13, 21, 23, 28, 35, 39], "math": 6, "fit": [6, 32], "yourself": 6, "often": [6, 11, 24, 32, 33, 35, 36, 42, 46], "swap": [6, 22, 34], "redo": 6, "inlin": [6, 15], "rect_ref": 6, "figur": [6, 29, 31, 36, 40, 44, 46], "put": [6, 8, 15, 20, 21, 23, 34, 36], "manufactur": [6, 9, 11, 13, 15, 21, 22, 30, 40, 42, 46], "share": [6, 8, 14, 35], "tool": [6, 12, 13, 15, 16, 18, 28, 32, 33, 38, 41, 45], "potenti": [6, 24, 32, 36], "lumer": [6, 36], "fix": [6, 23, 24, 33], "write_gd": [6, 19, 20, 23], "suppli": [6, 30], "path": [6, 8, 12, 14, 16, 18, 22, 32, 36, 45], "current": [6, 30, 34], "directori": [6, 8, 14, 21, 23, 35], "sometim": [6, 8, 11, 14, 33], "necessari": [6, 11, 13, 33, 34, 41], "perhap": [6, 24], "meep": [6, 8, 13, 14, 15, 19, 21, 33, 35, 41, 46], "Or": 6, "were": [6, 11, 14, 32, 33, 34, 35, 43], "given": [6, 8, 11, 14, 22, 33, 35, 36, 42, 44], "fab": [6, 18, 32, 46], "while": [6, 8, 12, 16, 18, 22, 24, 27, 31, 32, 33, 34, 35, 36, 38, 39, 43, 44, 46], "ha": [6, 8, 11, 14, 16, 18, 22, 23, 24, 32, 33, 34, 35, 36, 40, 41, 43], "convert": [6, 11, 13, 32, 44], "step": [6, 8, 11, 15, 18, 23, 25, 28, 32, 35, 45], "after": [6, 20, 22, 23, 33, 35, 36], "convers": 6, "get": [6, 8, 11, 12, 18, 20, 21, 22, 23, 32, 35, 36, 44, 45, 46], "branch": [6, 22, 27], "siepic": [6, 22, 23, 28], "ebeam": [6, 22, 28], "ebeam_y_1550": [6, 23], "github": [6, 15, 17, 22], "import_gd": [6, 36], "filenam": [6, 46], "splitter": [6, 11, 22, 23, 32, 46], "read": [6, 8, 16, 18, 22, 24, 32, 33, 36], "manual": [6, 32, 42, 45], "hover": 6, "mous": 6, "examin": 6, "themselv": 6, "midpoint": 6, "7": [6, 8, 33], "75": [6, 8, 22, 36, 41], "separ": [6, 19, 22], "straight": [6, 19, 34, 36, 43, 46], "bend": [6, 19, 23, 32, 35], "radiu": [6, 23, 35], "recal": [6, 22], "canva": 6, "straight_ref": 6, "bend_ref": 6, "pick": 6, "recreat": [6, 33], "racetrack": [6, 35], "coupler": [6, 11, 13, 18, 21, 22, 23, 25, 27, 32, 34, 35, 46], "camacholab": [7, 15], "sequoia": [7, 15, 18], "ploeg": [7, 15], "ph": 7, "candid": 7, "ryan": [7, 15], "camacho": [7, 15], "associ": [7, 13], "professor": 7, "elis": 7, "bangert": 7, "undergradu": 7, "research": 7, "joel": 7, "kartchner": 7, "chandler": 7, "parkin": 7, "noah": 7, "bailei": 7, "kevin": 7, "richin": 7, "small": [8, 13, 16, 30, 31, 39], "transfer": [8, 30, 32, 35], "light": [8, 11, 13, 14, 21, 22, 27, 29, 30, 32, 34, 35, 36, 40, 41, 42, 43], "multipl": [8, 11, 13, 15, 18, 35, 36, 43], "eigenmod": [8, 21, 35], "mode": [8, 13, 19, 21, 22, 32, 35, 36, 42, 43, 46], "field": [8, 11, 14, 21, 22, 32, 34, 36, 41, 43, 45, 46], "outsid": [8, 24, 27, 41, 44], "evanesc": [8, 34, 41], "second": [8, 11, 14, 22, 29, 30, 33, 36, 41, 44, 46], "propag": [8, 22, 29, 34, 35, 36, 41, 43], "us": [8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 40, 41, 42, 43, 44, 45, 46], "photon": [8, 11, 13, 14, 15, 16, 17, 18, 21, 22, 27, 28, 31, 33, 34, 35, 36, 40, 42, 43, 45, 46], "amount": [8, 14, 22, 30, 33, 35, 36], "thing": [8, 15, 18, 33, 38, 39, 41, 46], "region": [8, 18, 21, 29, 31, 32, 36, 46], "enough": [8, 32, 38, 44], "incid": [8, 11, 44], "distanc": [8, 21, 35, 40], "materi": [8, 14, 15, 18, 20, 21, 24, 27, 29, 30, 31, 32, 34, 35, 36, 40, 41, 42, 44, 46], "produc": [8, 22], "g": [8, 12, 15, 18, 32, 35, 36, 42, 44, 46], "50": [8, 13, 19, 22, 46], "25": [8, 14, 18, 20, 22, 44], "fraction": [8, 21, 46], "geometr": [8, 13, 14, 21, 28, 32, 35], "describ": [8, 14, 22, 29, 31, 32, 34, 35, 38, 43], "kappa": [8, 35], "frac": [8, 14, 22, 35, 36, 42, 44], "p_": 8, "p_0": 8, "cl": 8, "coeffici": [8, 22, 35, 44], "l": [8, 22, 35], "found": [8, 23, 39, 41, 42], "analysi": [8, 13, 14], "system": [8, 12, 13, 14, 15, 18, 21, 28, 33, 35, 38, 39], "odd": 8, "antisymmetr": 8, "occur": [8, 21, 22, 35, 44], "circ": [8, 36], "similarli": 8, "symmetr": [8, 11, 36, 46], "user": [8, 12, 24, 33, 45], "permitt": [8, 27], "clad": [8, 14, 18, 32, 34, 40, 41, 42, 44, 46], "refract": [8, 14, 18, 22, 27, 29, 30, 31, 34, 40, 41, 42], "indic": [8, 14, 29, 35, 42, 44], "valu": [8, 11, 18, 22, 23, 33, 34, 36, 41, 44], "rel": [8, 20, 22, 28, 29, 30, 32, 33, 36, 46], "increas": [8, 14, 30, 31, 35, 42], "decreas": [8, 14, 42], "notic": [8, 22, 24, 29, 34, 41, 42, 44], "intens": [8, 14, 21, 22, 35, 36, 46], "insid": [8, 35, 41], "gplugin": [8, 19, 33, 41], "gm": [8, 11, 19, 41], "find_modes_coupl": 8, "core_width": [8, 41], "core_materi": [8, 41], "clad_materi": [8, 36, 41], "core_thick": [8, 41], "22": [8, 36, 45], "resolut": [8, 11, 14, 20, 21, 35, 36, 41, 46], "40": [8, 18, 19, 36, 41, 46], "sz": [8, 41], "nmode": [8, 41], "m1": [8, 18, 41], "m2": [8, 35, 41], "look": [8, 11, 23, 24, 27, 33, 36, 39, 43, 46], "big": 8, "print": [8, 11, 13, 22, 36, 41], "neff": [8, 41], "dielectr": [8, 41, 46], "sidebar": 8, "plot_ep": 8, "plot_ei": [8, 41], "abov": [8, 11, 14, 18, 22, 30, 32, 35, 36, 41, 43, 44, 46], "happen": [8, 35], "desir": [8, 12, 14, 29, 32, 36], "delta": [8, 22, 35], "n": [8, 17, 18, 19, 21, 22, 31, 32, 33, 35, 36, 44], "lambda": [8, 14, 22, 35, 42], "n_": [8, 14, 35, 42, 44], "eff": [8, 14, 35, 42], "find_coupling_vs_gap": 8, "crossov": 8, "tabl": 8, "detail": [8, 14, 22, 39], "ne": 8, "unit": [8, 29, 30, 35], "mu": [8, 22], "m": [8, 15, 21, 22, 33, 35], "lc": 8, "dn": 8, "exponenti": [8, 41], "relationship": [8, 11, 22, 30, 31], "cdot": 8, "variou": [8, 22, 23, 32, 38], "oper": [8, 18, 21, 22, 30, 31, 32, 33, 34, 35, 38], "mp": [8, 11, 14, 19, 20, 21, 23, 35, 36, 41, 46], "gap1": 8, "gap2": 8, "11": [8, 18, 19, 22, 23, 33, 36, 41], "55": [8, 14, 20, 21, 22, 35, 36, 46], "pariti": [8, 41], "even_i": [8, 36], "463631": 8, "409798": 8, "14": 8, "396530": 8, "053832": 8, "460647": 8, "410682": 8, "15": [8, 11, 19, 22, 35, 44], "510925": 8, "049965": 8, "12": [8, 14, 18], "459734": 8, "411797": 8, "16": [8, 18, 41], "166968": 8, "047937": 8, "13": [8, 19, 36], "452682": 8, "411449": 8, "18": [8, 18], "795515": 8, "041233": 8, "448745": 8, "412270": 8, "21": [8, 36, 44], "247526": 8, "036475": 8, "447691": 8, "414688": 8, "23": [8, 15], "482841": 8, "033003": 8, "447658": 8, "416929": 8, "220085": 8, "030729": 8, "17": [8, 36, 44], "447685": 8, "418000": 8, "26": [8, 44], "107513": 8, "029685": 8, "8": [8, 11, 22, 36, 46], "442283": 8, "416295": 8, "29": [8, 23], "821729": 8, "025988": 8, "9": [8, 36, 44, 46], "19": [8, 18], "439496": 8, "416231": 8, "33": 8, "311196": 8, "023265": 8, "20": [8, 11, 19, 20, 21, 22, 23, 35, 44], "438256": 8, "417123": 8, "36": 8, "672851": 8, "021133": 8, "own": [8, 15, 17, 18, 22, 24, 32, 33, 38], "normal": [8, 14, 36, 45], "constant": [8, 22, 31, 35], "beta": [8, 21, 22, 35, 46], "travel": [8, 14, 22, 29, 31, 35, 41, 42, 44], "down": [8, 22, 33, 36, 41], "oscil": [8, 29, 43], "beat": [8, 21], "One": [8, 24, 28, 32, 34, 40], "over": [8, 12, 14, 21, 32, 35, 36, 40], "smaller": [8, 34, 35], "faster": [8, 31, 36], "sinc": [8, 11, 13, 22, 33, 35, 36, 38, 39, 41, 46], "shorter": [8, 22, 30, 42], "give": [8, 11, 14, 15, 22, 23, 33, 35, 36, 38], "begin": [8, 21, 22, 42, 44], "l_": [8, 21, 22], "nonumb": 8, "multipli": [8, 36], "_1": [8, 21], "l_x": 8, "_2": 8, "n_1": 8, "n_2": 8, "Of": [8, 24, 44], "don": [8, 17, 22, 30, 33, 38, 42, 45, 46], "oftentim": 8, "60": 8, "receiv": 8, "equat": [8, 13, 14, 21, 22, 30, 32, 41, 42], "further": [8, 11, 22, 34, 36], "explor": [8, 34, 43, 45], "send": [8, 16, 34], "affect": [8, 14, 21, 22, 30, 42, 43, 46], "minut": 8, "setup": [8, 13, 32, 33, 38, 39, 45], "gif": [8, 14, 21, 35], "typic": [8, 13, 14, 24, 28, 30, 31, 32, 40, 42], "practic": [8, 15, 22, 33], "si": [8, 14, 20, 21, 35, 36, 41], "medium": [8, 14, 20, 21, 35, 36, 46], "sio2": [8, 14, 18, 20, 21, 35, 36, 41], "um": [8, 14, 21, 22, 36], "wvl": [8, 14, 20, 21, 35], "cell": [8, 14, 21, 23, 32, 35, 36], "wg_width": [8, 35], "dpml": [8, 21, 36], "pad": [8, 21, 35], "07": 8, "lx": 8, "30": [8, 14, 44, 46], "sx": [8, 20, 21, 35, 46], "sy": [8, 20, 21, 35, 41, 46], "wg_center_i": 8, "pml": [8, 14, 20, 21, 35, 36, 46], "perfectli": [8, 21, 22, 36], "infinit": 8, "long": [8, 22, 33, 35, 36, 40, 45], "vector3": [8, 14, 20, 21, 35, 36, 46], "puls": [8, 14, 21, 35], "fcen": [8, 14, 20, 21, 35, 36], "fwidth": [8, 14, 20, 21, 35, 36], "src": [8, 20, 21, 35, 36], "gaussiansourc": [8, 14, 20, 21, 35, 36], "frequenc": [8, 11, 13, 14, 20, 21, 22, 29, 30, 31, 34, 35, 44, 46], "eigenmodesourc": [8, 20, 21, 35, 36, 46], "eig_band": [8, 20, 21, 35, 36, 46], "eig_kpoint": [8, 20, 21, 35, 36], "sim": [8, 11, 14, 20, 21, 35, 36, 46], "cell_siz": [8, 11, 14, 20, 21, 35, 36, 46], "boundary_lay": [8, 14, 20, 35, 36, 46], "default_materi": [8, 20, 35, 36, 46], "set": [8, 11, 13, 14, 15, 18, 21, 22, 23, 32, 33, 35, 36, 39, 41, 44, 45], "plot2d": [8, 11, 14, 20, 21, 35, 36, 46], "warn": [8, 44], "grid": 8, "volum": [8, 36, 42, 46], "integ": [8, 18, 35], "pixel": [8, 36], "round": [8, 32, 35], "nearest": 8, "ax": [8, 22, 36, 41, 44], "pil": [8, 14, 21, 35], "imag": [8, 14, 22, 35, 46], "glob": [8, 14, 21, 35], "os": [8, 14, 21, 35, 36, 38], "reset_meep": [8, 36], "captur": [8, 14, 21, 35], "at_begin": [8, 14, 21, 35], "output_epsilon": [8, 14, 21, 35], "to_append": [8, 14, 21, 35], "ez": [8, 14, 21, 35, 46], "at_everi": [8, 14, 21, 35], "output_efield_z": [8, 14, 21, 35], "until": [8, 11, 14, 21, 35, 36, 46], "200": [8, 11, 14, 19, 21, 35, 36], "gener": [8, 11, 13, 14, 18, 21, 22, 24, 29, 30, 32, 33, 35, 41, 43], "png": [8, 14, 21, 22, 35], "colormap": [8, 14, 21, 35], "work": [8, 21, 23, 24, 33, 35, 36, 43], "h5py": [8, 14, 21, 35], "instal": [8, 12, 13, 14, 16, 19, 21, 23, 28, 33, 35, 38, 39, 41, 45], "problem": [8, 14, 15, 21, 30, 35], "h5util": [8, 14, 21, 35], "h5topng": [8, 14, 21, 35], "99": [8, 14], "r": [8, 14, 21, 33, 35, 44], "zc": [8, 14, 21, 35], "rdbu": [8, 14, 21, 35, 36, 46], "ep": [8, 14, 21, 35], "000000": [8, 14, 21, 35], "00": [8, 14, 21, 35, 44], "h5": [8, 14, 21, 35], "grai": [8, 14, 21, 35, 41], "frame": [8, 14, 21, 35], "img": [8, 14, 21, 35], "sort": [8, 14, 21, 32, 35], "new_fram": [8, 14, 21, 35], "append": [8, 14, 21, 35], "loop": [8, 14, 21, 35, 36], "forev": [8, 14, 21, 35], "append_imag": [8, 14, 21, 35], "save_al": [8, 14, 21, 35], "clean": [8, 14, 21, 35], "workspac": [8, 14, 21, 35], "delet": [8, 14, 21, 33, 35], "invalid": [8, 14, 44], "circumv": [8, 14], "issu": [8, 14], "chosen": [8, 14, 42, 44], "sensit": [8, 14, 21, 32], "fabric": [8, 9, 13, 15, 18, 23, 28, 30, 32], "variat": [8, 21], "robust": [8, 21, 33], "element": [8, 13, 19, 22, 30, 42], "principl": [8, 13, 14, 15, 18, 21, 36, 44], "behind": [8, 22, 32], "interfer": [8, 13, 14, 21, 22, 29, 34, 35, 46], "nearbi": 8, "chip": [8, 13, 14, 16, 17, 18, 22, 27, 32, 33], "parasit": 8, "too": [8, 13, 18, 22, 33, 35, 38, 43], "lead": [8, 34, 35, 42], "leak": [8, 46], "far": [8, 11, 34, 35], "apart": 8, "silicon": [8, 13, 14, 22, 31, 32, 36, 40, 41, 44, 46], "answer": [8, 22, 33, 44], "approxim": [8, 13, 18, 30, 35], "135": 8, "micron": [8, 14, 18, 22, 41], "luka": [8, 14, 46], "chrostowski": [8, 14, 46], "stefan": 8, "prebl": 8, "facil": [9, 15, 32], "simul": [11, 13, 14, 15, 18, 20, 23, 25, 28, 32, 41, 44, 46], "devic": [11, 13, 15, 16, 18, 21, 22, 23, 27, 28, 29, 31, 46], "befor": [11, 22, 24, 28, 32, 33, 36], "idea": [11, 23, 33], "perform": [11, 13, 15, 32, 33], "plugin": 11, "finit": [11, 13, 32, 33, 41], "domain": [11, 13, 33, 36, 44], "algorithm": [11, 33], "fdtd": [11, 13, 15, 33, 36], "turn": [11, 22, 30, 35, 36, 41], "component_from_gd": 11, "py": [11, 22, 23, 44], "func": 11, "get_simul": [11, 21], "get_meep_geometry_from_compon": [11, 21, 36], "grate": [11, 13, 18, 22, 23, 25, 32], "fiber": [11, 13, 14, 18, 22, 32, 34], "connect": [11, 15, 18, 19, 22, 32, 36, 46], "howev": [11, 15, 22, 23, 24, 28, 34, 35, 36, 38, 46], "suffic": 11, "tutori": [11, 22, 23, 36], "tidy3d": [11, 21, 42], "implement": [11, 30], "tpml": [11, 21, 36], "port_source_offset": [11, 21, 36], "port_monitor_offset": [11, 21, 36], "distance_source_to_monitor": [11, 21], "32": [11, 19, 36], "scatter": [11, 22, 35, 43], "tell": [11, 13, 23, 33, 35, 43], "port": [11, 13, 18, 19, 20, 21, 22, 23, 35, 46], "purpos": [11, 17, 24, 29, 42], "write_sparameters_meep": 11, "3d": [11, 18, 34, 36], "margin": 11, "account": [11, 12, 45], "kwarg": 11, "fals": [11, 18, 23, 36, 41, 44], "wast": 11, "incorrectli": 11, "2d": [11, 14, 20, 34, 36], "comprehens": [11, 43], "dictionari": [11, 18, 21, 22], "kei": [11, 14, 22, 34], "form": [11, 22, 30, 36], "refer": [11, 13, 15, 32, 35, 42, 43], "go": [11, 15, 16, 21, 23, 24, 25, 28, 29, 35, 36, 38, 45, 46], "symmetri": [11, 36], "port_symmetri": 11, "assign": [11, 32, 36], "1x2": [11, 13, 21], "comput": [11, 13, 15, 22, 33, 35, 36, 39, 45], "written": [11, 15], "thu": [11, 46], "write_sparamters_meep_mpi": 11, "write_sparameters_meep_batch": 11, "per": [11, 13, 29], "total": [11, 18, 34, 36, 41], "write_sparameters_gr": 11, "batch": 11, "write_sparameters_grating_mpi": 11, "write_sparameters_grating_batch": 11, "adequ": 11, "xmargin_left": 11, "xmargin_right": 11, "sp": 11, "plot_sparamet": 11, "reflect": [11, 14, 18, 21, 27, 34, 35, 36, 41, 46], "wave": [11, 13, 14, 21, 22, 29, 35, 41, 42, 43, 44], "why": [11, 34, 43], "program": [12, 13, 16, 33, 39], "environ": [12, 15, 17, 23, 24, 38, 39], "uncommon": 12, "roll": [12, 24], "back": [12, 14, 32, 35, 36, 44, 46], "break": [12, 33], "someth": [12, 33], "product": [12, 44], "version": [12, 22, 24, 45], "control": [12, 17, 22, 24], "vc": 12, "extrem": [12, 24], "who": [12, 24], "simultan": [12, 43], "edit": [12, 32, 45], "rather": [12, 32], "painlessli": 12, "predomin": 12, "programm": [12, 24], "todai": 12, "command": [12, 13, 17, 22, 33, 41, 45], "entir": [12, 13, 15, 34, 36], "ecosystem": 12, "host": [12, 15, 33], "servic": 12, "gui": [12, 38], "id": [12, 39], "sprung": 12, "alreadi": [12, 22, 28, 32], "linux": [12, 13, 16, 33, 38, 39, 45], "temin": 12, "enter": [12, 22, 35, 36], "machin": [12, 13, 33, 38, 45], "window": [12, 13, 16, 28, 33, 38, 44], "packag": [12, 15, 16, 17, 18, 19, 22, 23, 28, 36, 38, 41], "mac": [12, 16, 33, 38], "forc": [12, 24], "wsl": [12, 13, 33, 38], "still": [12, 31, 33, 34, 46], "download": [12, 15, 16, 33, 39, 45], "link": [12, 31, 33], "maco": [12, 13, 33, 38, 39], "xcode": 12, "termin": [12, 33, 38, 39, 45], "select": [12, 16, 18, 45], "through": [12, 15, 22, 23, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 38, 39, 41, 42, 43, 45], "debian": 12, "distribut": [12, 13, 19, 23, 24, 33, 41], "ubuntu": [12, 33, 38, 45], "sudo": 12, "apt": 12, "rpm": 12, "fedora": 12, "rhel": 12, "cento": 12, "dnf": 12, "known": [12, 14, 22, 24, 33, 35, 39, 40, 41, 43, 44], "free": [12, 13, 14, 15, 16, 24, 30, 32, 33, 42], "privat": 12, "bootcamp": [12, 15, 18], "along": [12, 14, 41, 43, 44], "popular": [12, 24, 33, 39, 40], "python": [12, 13, 15, 16, 18, 32, 38, 39, 44], "keep": [12, 15, 33, 36], "definit": [13, 24], "throughout": [13, 22], "mathemat": [13, 22, 32], "descript": 13, "behavior": [13, 22, 32, 34, 35, 36, 43, 44, 46], "cutback": 13, "techniqu": 13, "measur": [13, 14, 21, 22, 30, 36, 42], "attenu": [13, 32], "transmiss": [13, 22, 29, 35, 36, 44], "delai": [13, 32], "count": 13, "etc": [13, 18, 32, 33, 36, 42], "drc": [13, 16, 18, 32], "verifi": [13, 33, 36], "ensur": [13, 22, 32, 33, 35, 36, 46], "error": [13, 18, 21, 28, 41], "caus": [13, 22, 31, 35], "fail": 13, "short": [13, 14, 16, 22, 24, 31], "featur": [13, 16, 23, 32, 33, 39, 41, 42], "resolv": [13, 44], "drastic": 13, "foundri": 13, "minimum": [13, 21, 32], "space": [13, 14, 19, 23, 30, 32, 42], "numer": [13, 35, 41], "electrodynam": 13, "solut": 13, "differenti": [13, 30, 41], "method": [13, 15, 17, 20, 22, 24, 32, 33, 36, 38], "cover": [13, 15], "singl": [13, 15, 21, 22, 23, 32, 35, 38, 46], "primari": 13, "avail": [13, 15, 16, 18, 23, 24, 32, 33, 38], "platform": [13, 15, 33], "yaml": [13, 19, 23], "flow": [13, 28], "gd": [13, 14, 15, 16, 18, 19, 23, 28, 32, 33, 36, 38, 46], "graphic": 13, "coupl": [13, 14, 22, 23, 24, 32, 46], "reson": [13, 27, 28], "instrument": [13, 17, 21], "util": [13, 14, 18, 21, 22, 24], "beam": [13, 14, 21, 22, 34], "multi": 13, "split": [13, 21, 22, 36], "ideal": [13, 14, 22, 34], "nearli": 13, "imposs": 13, "polygon": [13, 32], "electron": [13, 28, 34], "digit": [13, 28], "dry": 13, "modif": 13, "replic": 13, "insul": [13, 40], "soi": [13, 18, 32, 40, 44], "technolog": [13, 19, 23, 32, 36], "substrat": [13, 14, 18, 32, 40, 41], "semiconductor": 13, "wafer": [13, 32, 40], "vscode": [13, 33], "studio": [13, 38], "commonli": [13, 24, 33, 35, 42], "vs": [13, 39], "editor": [13, 15, 38, 39], "microsoft": [13, 38, 39], "support": [13, 15, 17, 18, 21, 31, 42, 43], "debug": [13, 33, 36], "syntax": [13, 17, 33, 41], "highlight": 13, "intellig": 13, "snippet": 13, "refactor": [13, 33], "embed": [13, 15], "git": [13, 18], "wikipedia": 13, "subsystem": [13, 38], "bash": [13, 33, 45], "directli": [13, 15, 18, 20], "unmodifi": 13, "overhead": 13, "tradit": [13, 40], "virtual": [13, 17, 38], "dual": 13, "boot": 13, "diffract": 14, "cabl": [14, 32], "edg": [14, 25], "teeth": 14, "drawn": [14, 34], "onto": [14, 25, 32, 40, 45], "altern": [14, 36, 45], "structur": 14, "propog": [14, 22, 32], "hyugen": 14, "fresnel": [14, 44], "bragg": 14, "law": [14, 41, 44], "depict": [14, 34, 42], "orthogon": [14, 34, 43], "arrai": [14, 22, 23, 36, 44], "might": [14, 18, 22, 33, 46], "imagin": [14, 22, 35], "hold": [14, 24, 36], "catch": 14, "cell_x": [14, 36], "cell_i": [14, 36], "x_offset": 14, "nanomet": 14, "num_teeth": 14, "waveguide_depth": 14, "220": [14, 18, 22], "etch_depth": 14, "068": 14, "grating_period": 14, "659": 14, "fill_factor": 14, "524": 14, "verbos": [14, 36, 46], "inf": [14, 20], "epsilon": [14, 36], "cladding_depth": 14, "box_depth": 14, "box": [14, 18, 28, 36, 39, 44], "substrate_depth": 14, "700": 14, "df": [14, 36], "pml_layer": [14, 20], "500": [14, 22], "savefig": 14, "grating_coupler_plot": 14, "encount": [14, 24, 44], "recogn": 14, "discuss": [14, 34], "page": [14, 18, 23, 33, 34, 36, 41, 45, 46], "demonstr": [14, 36, 44], "been": [14, 32, 33, 34, 36], "1550": 14, "appropri": [14, 22, 33, 34], "three": [14, 18, 21, 22, 36, 43], "understand": [14, 23, 36, 43, 44], "simplifi": [14, 22, 34], "view": [14, 16, 18, 38], "denot": [14, 21], "effici": [14, 22], "relat": [14, 18, 34, 41], "angl": [14, 22, 34, 36], "condit": [14, 22, 24, 35, 41], "theta_": 14, "air": [14, 44], "compar": [14, 31, 35, 42], "surfac": 14, "choos": [14, 20, 34, 41], "exactli": [14, 22, 36], "90": [14, 22, 36, 46], "degre": [14, 22, 30, 44], "byproduct": [14, 31], "larg": [14, 33, 46], "indcu": 14, "twice": 14, "avoid": [14, 33], "slightli": [14, 21, 22, 31, 42, 46], "less": [14, 24, 32, 34, 35, 36, 46], "area": [14, 32, 33, 44], "overal": 14, "weight": [14, 46], "unetch": 14, "ratio": [14, 21, 35, 36, 44, 46], "ff": 14, "w": 14, "welcom": 15, "present": [15, 18, 21, 34], "onlin": [15, 24], "freeli": [15, 24, 33], "resourc": [15, 31], "teach": 15, "student": 15, "curriculum": 15, "background": [15, 16, 22, 24], "motiv": 15, "full": [15, 24, 32, 33, 34, 35, 41], "learner": 15, "guid": [15, 32, 38, 40, 42, 44], "submit": [15, 24, 28], "wish": [15, 24], "simphoni": [15, 22, 23, 28, 33, 36], "submiss": [15, 32], "pic": 15, "post": 15, "instruct": [15, 23, 28, 33, 38, 39, 45], "contribut": [15, 24], "subject": 15, "matter": [15, 36], "expert": 15, "futur": [15, 33], "expans": 15, "fork": 15, "parti": 15, "custom": [15, 24], "train": 15, "websit": [15, 24], "explanatori": 15, "webpag": 15, "launch": [15, 36], "colab": 15, "local": [15, 17, 38], "immedi": [15, 33], "alwai": [15, 22, 23, 33, 46], "workflow": 15, "approach": 15, "introduc": [15, 22, 24, 30, 33, 46], "bother": 15, "mention": [15, 18, 24], "possibl": [15, 43], "configur": [15, 18, 23, 35, 38], "ahead": 15, "standard": [15, 38, 46], "ardavan": 15, "oskooi": 15, "david": 15, "roundi": 15, "mihai": 15, "ibanescu": 15, "peter": 15, "bermel": 15, "john": 15, "joannopoulo": 15, "steven": 15, "johnson": 15, "flexibl": [15, 32, 35], "electromagnet": [15, 41, 43, 46], "physic": [15, 25, 31, 42], "commun": [15, 24, 33], "181": 15, "687": 15, "702": 15, "2010": 15, "hyrum": 15, "gunther": 15, "framework": [15, 17], "scienc": 15, "65": 15, "74": 15, "2020": 15, "joaquin": 15, "matr": 15, "2023": 15, "url": [15, 24], "http": [15, 22, 24, 34, 45], "io": 15, "verif": [16, 28], "viewer": [16, 38], "trace": [16, 40], "net": 16, "detect": [16, 32], "scriptabl": 16, "languag": [16, 33], "rubi": 16, "extens": [16, 39], "extern": [16, 22], "json": 16, "request": 16, "server": [16, 17], "hot": 16, "reload": 16, "rerun": 16, "manag": [16, 38], "Then": [16, 23, 36, 45, 46], "search": 16, "doubl": [16, 22, 28, 35], "click": [16, 25, 28, 39, 45], "pyro5": 17, "remot": 17, "access": [17, 18, 24, 33, 35], "equip": 17, "lab": 17, "favor": [17, 40], "usb": 17, "proprietari": [17, 24], "brand": 17, "unifi": 17, "intrument": 17, "easi": [17, 22, 28, 30, 33], "pip": [17, 23, 33, 38], "conda": [17, 23, 38, 45], "environment_nam": 17, "activ": [17, 19, 23, 24, 27, 29, 33, 45], "updat": [17, 22], "pypi": [17, 33, 38], "upgrad": [17, 23, 33], "visit": 17, "interrog": 17, "station": 17, "interfac": [17, 33, 38, 41, 43], "fore": 17, "whether": [18, 24, 32], "etch": [18, 32, 40, 42], "deposit": [18, 32, 40], "dope": [18, 31, 32], "metal": [18, 30, 32], "p": [18, 31, 32], "translat": [18, 32], "mask": [18, 32], "formal": 18, "state": [18, 24, 35, 36], "255": 18, "modern": [18, 33, 38], "almost": [18, 35, 46], "dedic": [18, 24], "nitrid": 18, "lithium": [18, 44], "niobat": [18, 44], "whichev": 18, "decid": 18, "thin": 18, "top": [18, 22], "dioxid": [18, 40, 44], "thick": [18, 22, 35, 36, 41], "buri": 18, "oxid": 18, "main": [18, 27, 32, 33, 35], "intern": [18, 34, 41], "48": [18, 22], "excel": [18, 31, 33], "refractiveindex": 18, "info": [18, 22], "color": [18, 39, 42, 44], "fill": 18, "map": [18, 22], "human": [18, 22], "readabl": [18, 22, 36], "properti": [18, 29, 31, 32, 41, 42, 45], "lyp": 18, "migrat": 18, "few": [18, 23, 24, 33, 35, 38, 39, 42], "devrec": 18, "recognit": 18, "show_port": 18, "marker": 18, "label_inst": 18, "netlist": 18, "te": [18, 22, 34, 36, 41, 43, 44], "polar": [18, 21, 22, 23, 29, 32, 34, 36, 41], "tm": [18, 22, 23, 43, 44], "pydant": 18, "class": [18, 24, 28], "partial": [18, 31, 34, 43], "germanium": 18, "photodiod": 18, "vari": [18, 22], "concentr": 18, "pn": 18, "junction": 18, "capacitor": [18, 32, 42], "depth": 18, "exclud": 18, "dice": 18, "lane": 18, "reserv": 18, "violat": 18, "reader": 18, "basemodel": 18, "wg": [18, 19, 36], "slab150": 18, "68": 18, "201": 18, "206": 18, "203": 18, "204": 18, "66": 18, "41": [18, 23], "43": 18, "config": [18, 22, 23, 33], "frozen": 18, "extra": [18, 33, 36, 42], "forbid": 18, "32m2023": 18, "06": [18, 19], "227": 18, "0m": [18, 19, 22, 23, 41], "1minfo": [18, 19, 23, 41], "36mgdsfactori": [18, 19, 23], "36m__init__": [18, 19, 23], "36m204": 18, "1mloglevel": 18, "visibl": 18, "export": [18, 20, 23], "hatch_pattern": 18, "dot": 18, "ff9d9d": 18, "layer_in_nam": 18, "coars": 18, "transpar": 18, "cyan": 18, "01ff6b": 18, "bright": 18, "hollow": 18, "cc4c00": 18, "label_optical_io": 18, "blue": [18, 34, 36, 41, 43, 44], "label_set": 18, "202": 18, "magenta": 18, "red": [18, 34, 36, 43, 44], "lightli": 18, "hatch": 18, "004080": 18, "pinrec": 18, "404040": 18, "xsection": 18, "group_memb": 18, "xs_box": 18, "300": [18, 36], "f3ff80": 18, "solid": 18, "xs_si": 18, "301": 18, "black": [18, 44], "xs_si_slab": 18, "313": 18, "80a8ff": 18, "xs_overlai": 18, "311": 18, "xs_ox_si": 18, "302": [18, 23], "xs_via": 18, "303": 18, "grei": 18, "xs_m1": 18, "304": 18, "green": [18, 44], "xs_oxide_m1": 18, "305": 18, "308": 18, "ff80a8": 18, "wg_pin": 18, "klayout_lyp": 18, "posixpath": [18, 19, 23], "home": [18, 19, 23, 35, 41], "env": [18, 19, 22, 23, 33, 35, 41], "lib": [18, 19, 22, 23, 41], "python3": [18, 19, 22, 23, 41], "site": [18, 19, 22, 23, 24, 41], "generic_tech": [18, 19, 23], "tech": 18, "npp": 18, "pp": 18, "ppp": 18, "Be": [18, 22], "sure": [18, 20, 23, 24, 28, 36], "tkagg": 19, "patch": [19, 33, 41], "ipympl": 19, "32m2024": [19, 23, 41], "02": 19, "847": 19, "36mgplugin": [19, 41], "gmeep": [19, 20, 21, 41], "36m": [19, 23, 41], "modul": [19, 23, 27, 29, 30, 31, 32, 41], "36m39": [19, 41], "1mmeep": [19, 41], "28": [19, 41], "parkeraa": [19, 23, 41], "miniconda3": [19, 22, 23, 35, 41], "ubcpdk": [19, 23], "uc": [19, 23], "conf": [19, 23], "display_typ": [19, 23], "721": 19, "layer_view": [19, 23], "36m790": [19, 23], "1mimport": [19, 23], "layerview": [19, 23], "755": 19, "36mubcpdk": [19, 23], "36m30": [19, 23], "1mfound": [19, 23], "831": 19, "834": 19, "36mactiv": [19, 23], "36m307": [19, 23], "1m": [19, 23], "mzi": [19, 23], "delta_length": [19, 22, 23], "80": 19, "length_x": [19, 23], "length_i": [19, 23], "te_mzi": [19, 23], "add_fiber_arrai": [19, 23], "component_nam": [19, 23], "mycoolmzi1": [19, 23], "spiral_external_io": 19, "x_inner_length_cutback": 19, "delay_line_1": 19, "mycooldelayline1": 19, "delay_snake2": 19, "1000": [19, 22], "delay_line_2": 19, "mycooldelayline2": 19, "bend180": 19, "bend_circular180": 19, "r1": [19, 44], "ring_doubl": 19, "r2": 19, "r3": 19, "my_devic": 19, "mydevic": 19, "ring1": 19, "ring2": 19, "ring3": 19, "ebeam_terminator_te1550": 19, "end1": 19, "end2": 19, "end3": 19, "wg1": [19, 41], "wg2": [19, 41], "end4": 19, "my_device_fib": 19, "mycooldevice1": 19, "bend_180": 19, "bend_euler180_sc": 19, "bend1": 19, "bend2": 19, "bend3": 19, "wg_out": 19, "bend4": 19, "rotat": [19, 23], "my_submiss": 19, "mysubmiss": 19, "floorplan": 19, "605": 19, "410": 19, "dl1": 19, "dl2": 19, "my": 19, "ymax": [19, 23], "my_submission_2": 19, "pack": 19, "max_siz": 19, "250": 19, "477": 19, "36m_write_librari": [19, 23], "36m1913": [19, 23], "1mwrote": [19, 23], "meep_adjoint_optim": 20, "straightforward": 20, "get_component_from_sim": 20, "continu": [20, 33, 36, 41], "variabl": [20, 22, 31, 32, 36, 46], "waveguide_width": 20, "arm_separ": 20, "mmi_length": 20, "mmi_width": 20, "taper_width": 20, "pml_size": 20, "taper_x1": 20, "taper_x2": 20, "taper_y1": 20, "taper_y2": 20, "taper_y3": 20, "taper_y4": 20, "prism": [20, 36], "height": [20, 22, 36, 42], "source_center_x": 20, "source_s": 20, "kpoint": 20, "no_direct": [20, 36], "geometry_cent": 20, "gdspath": [20, 23], "2x2mmi": 20, "predict": [21, 22, 32, 43], "certain": [21, 24, 34, 36, 43], "k": [21, 27, 44], "wider": 21, "gradual": 21, "widen": 21, "nxm": 21, "replica": 21, "period": [21, 22, 30], "_0": 21, "wall": [21, 33], "interf": 21, "destruct": [21, 22, 29, 34, 35, 46], "forward": [21, 24, 31, 36], "backward": [21, 33, 36], "word": [21, 24, 29, 34, 46], "excit": 21, "goe": [21, 35, 36, 44, 46], "THE": 21, "TO": 21, "length_mmi": 21, "extend": [21, 24, 36], "extend_port": 21, "port_nam": [21, 22], "299": [21, 35], "evenli": [21, 46], "advantag": [21, 24, 32], "veri": [21, 22, 24, 31, 33, 35, 36, 38, 40, 46], "suscept": [21, 32], "fact": [21, 24, 36], "optimum": 21, "contrast": 21, "mimic": 21, "disadvantag": 21, "switch": [21, 22], "wdm": 21, "divis": 21, "multiplex": 21, "hybrid": 21, "divers": 21, "photodetector": [21, 27, 32], "extract": [22, 41], "doc": [22, 23, 39, 41], "zender": 22, "concept": [22, 32, 33, 34], "recombin": [22, 46], "accumul": [22, 35, 36], "quantum": 22, "piezo": 22, "transduc": 22, "sax": [22, 36], "jax": 22, "nice": [22, 33, 38], "speedup": 22, "gpu": 22, "fine": 22, "cpu": 22, "awar": 22, "jax_enable_x64": 22, "drop": 22, "replac": 22, "jnp": 22, "broken": 22, "constitu": 22, "diagram": [22, 43], "carri": [22, 24], "identifi": 22, "explain": [22, 31, 35, 36, 45], "formul": 22, "s_": [22, 36], "ij": 22, "repres": [22, 34, 35, 36, 42, 43, 44], "j": [22, 35, 36], "stimuli": 22, "signatur": 22, "grating_coupl": [22, 23], "31msignatur": 22, "0msiepic": 22, "34m": 22, "0mgrating_coupl": 22, "0mwl": 22, "0munion": 22, "0mfloat": 22, "0mjax": 22, "0marrai": 22, "36m1": 22, "0mpol": 22, "0mliter": 22, "0mthick": 22, "36m220": 22, "0mdwidth": 22, "36m0": 22, "0mdict": 22, "0mtupl": 22, "0mstr": 22, "0mjaxtyp": 22, "0mcomplex": 22, "31mdocstr": 22, "1550nm": 22, "citat": 22, "_static": 22, "ebeam_gc_te1550": 22, "alt": 22, "ebeam_bdc_te1550": 22, "wl": 22, "evalu": 22, "pol": 22, "210": 22, "230": 22, "dwidth": 22, "nomin": 22, "rais": 22, "valueerror": 22, "com": [22, 24, 34], "siepic_ebeam_pdk": 22, "blob": 22, "master": 22, "20compon": 22, "20with": 22, "20model": 22, "docx": 22, "31mfile": 22, "31mtype": 22, "inspect": [22, 24], "o0": 22, "0307378": 22, "00345908j": 22, "dtype": 22, "complex128": 22, "75686856": 22, "02082852j": 22, "74360676": 22, "09760613j": 22, "0750638": 22, "02585451j": 22, "get_port": 22, "y_branch": 22, "strictli": 22, "enforc": 22, "rewrit": 22, "string": [22, 41], "instance_nam": 22, "whitespac": 22, "delimit": 22, "comma": 22, "composit": 22, "gc_in": 22, "gc": 22, "ybranch": [22, 46], "long_wg": 22, "short_wg": 22, "gc_out": 22, "act": [22, 36], "whatev": 22, "invok": [22, 33], "gave": 22, "becom": [22, 24, 33, 36, 43], "instanti": 22, "unsur": 22, "get_set": 22, "loss": [22, 30, 31, 35, 36, 46], "overkil": 22, "everyth": [22, 36, 45], "els": [22, 33, 36], "stai": 22, "global": 22, "toplevel": 22, "trickl": 22, "150": [22, 35], "transmit": [22, 40, 43, 44], "magnitud": [22, 36, 41, 44], "squar": [22, 35], "renam": 22, "unconnect": 22, "realli": [22, 23, 24, 36, 44], "meaning": 22, "both": [22, 30, 31, 33, 35, 36, 41, 46], "linear": [22, 30, 36, 46], "log": [22, 23], "scale": [22, 32, 35, 46], "mag": 22, "ab": [22, 36], "fig": [22, 41, 44], "subplot": [22, 41, 44], "sharex": [22, 41], "set_ylabel": 22, "log10": [22, 36], "db": [22, 36], "set_xlabel": [22, 44], "suptitl": 22, "dip": 22, "opposit": 22, "peak": [22, 34, 35], "maximum": [22, 35], "better": [22, 42, 43], "think": [22, 32, 33], "equal": [22, 29, 35, 42, 44, 46], "my_compon": 22, "relev": 22, "amplitud": [22, 29, 30, 31, 32, 34, 46], "i_": 22, "e_": [22, 35], "sqrt": 22, "hspace": 22, "2mm": 22, "whose": [22, 36], "undergon": 22, "mw": [22, 30], "lossless": 22, "plane": [22, 43], "e_0": 22, "omega": 22, "z": [22, 36, 41, 43], "beta_": 22, "alpha_": 22, "\u03b1": 22, "appear": 22, "expon": 22, "zero": [22, 36, 41], "lvert": 22, "express": [22, 30], "1450": 22, "longer": [22, 30, 42], "102": 22, "491": 22, "phasa": 22, "heat": [22, 27, 30], "static": 22, "\u03b2": 22, "100\u00b5m": 22, "1500nm": [22, 35], "ouptput": 22, "9mw": 22, "heater": 22, "walk": [23, 25, 41], "prepar": 23, "forg": [23, 33], "gdstk": 23, "plai": 23, "01": [23, 41, 46], "08": 23, "400": 23, "42": 23, "375": 23, "379": 23, "pretti": [23, 33], "doesn": [23, 35, 39, 41, 43], "adjust": [23, 29, 30, 44, 46], "ring_singl": 23, "littl": 23, "bit": [23, 43], "ascii": 23, "though": [23, 33], "ad": [23, 31, 36], "mark": 23, "autom": [23, 32, 36], "openebl": [23, 28], "tester": 23, "usig": 23, "usernam": [23, 35, 45], "yml": 23, "yournam": 23, "restart": [23, 45], "kernel": 23, "flip": 23, "isn": [23, 36, 44], "tm_mzi": 23, "gc_tm1550": 23, "mycoolmzitm": 23, "mzi_togeth": 23, "mzu_togeth": 23, "1569": 23, "userwarn": 23, "unnam": 23, "unnamed_a784d514": 23, "zoom": 23, "lower": [23, 29, 34, 36, 41, 42, 46], "meet": [23, 28, 32], "sai": [23, 28, 29, 35, 39, 43], "opt_in_te_1550_device_yourname_mycoolmzi1": 23, "tmp": [23, 44], "ipykernel_322436": 23, "1677396279": 23, "09": 23, "05": [23, 36, 41], "044": 23, "constitut": [24, 31], "legal": 24, "advic": 24, "date": 24, "corpor": 24, "contact": 24, "attornei": 24, "absolut": 24, "implic": 24, "organ": [24, 41], "particularli": 24, "question": 24, "compani": 24, "incorpor": 24, "inherit": 24, "foss": 24, "availbl": 24, "portion": [24, 34, 44], "anyon": [24, 33], "enhanc": 24, "methodolog": 24, "creation": 24, "peopl": 24, "skill": 24, "context": [24, 34], "monetarili": 24, "under": [24, 35], "restrict": [24, 32], "freedom": 24, "copi": [24, 44, 45], "studi": 24, "improv": 24, "hood": 24, "actual": [24, 36, 46], "strong": 24, "focus": 24, "downsid": 24, "thanklessli": 24, "maintain": [24, 29], "spend": 24, "driven": 24, "psiquantum": 24, "natur": [24, 43], "mainten": 24, "bug": [24, 33], "slower": 24, "commerci": 24, "On": [24, 27, 43, 45], "hand": [24, 35, 39, 43], "garner": 24, "friendli": 24, "copor": 24, "scheme": 24, "confirm": 24, "team": 24, "abil": 24, "plan": 24, "releas": [24, 33], "permiss": 24, "162": 24, "copyright": 24, "remain": [24, 35], "stricter": 24, "deriv": [24, 42, 44], "warranti": 24, "world": [24, 33, 42], "statement": 24, "signific": [24, 46], "attribut": 24, "similar": [24, 41], "rereleas": 24, "grant": 24, "patent": 24, "contributor": 24, "claim": 24, "codebas": 24, "cannot": [24, 44], "liabl": 24, "reason": [24, 34], "trademark": 24, "licensor": 24, "belong": 24, "copyleft": 24, "mandat": 24, "gpl": 24, "v3": 24, "unpopular": 24, "prohibit": 24, "inclus": 24, "prevent": 24, "contamin": 24, "witih": 24, "technic": 24, "offend": 24, "liabil": 24, "binari": [24, 32, 36, 46], "attempt": 24, "pai": [24, 34], "attitud": 24, "necessarili": [24, 33], "impress": 24, "gnu": 24, "notepad": 24, "wordpress": 24, "mysql": 24, "unabl": 24, "sale": 24, "fossa": 24, "editori": 24, "101": 24, "jan": 24, "2021": 24, "blog": 24, "feb": 24, "mar": 24, "skip": [25, 28, 45], "explan": 25, "tune": [27, 29], "scope": [27, 31], "thermo": [27, 30], "slow": 27, "stabl": 27, "electro": [27, 32], "fast": [27, 31], "laser": [27, 32, 35], "buit": 28, "readi": [28, 36, 45], "button": 28, "bu": [28, 35], "signal": [29, 30, 31, 32, 33, 40, 42, 43], "characterist": [29, 42], "ac": 29, "encod": [29, 32], "categor": 29, "tuner": [29, 31], "dure": 29, "bridg": 29, "todo": [29, 31, 42], "insert": [29, 30, 31, 35, 36], "illustr": [29, 42], "compress": 29, "accord": 29, "fewer": 29, "temperatur": [30, 42], "molecul": [30, 43], "At": [30, 35], "low": [30, 31, 32, 35, 40], "proport": 30, "compris": 30, "proxim": 30, "resistor": [30, 32, 42], "dissip": 30, "besid": 30, "govern": [30, 41], "mostli": [30, 34, 41, 43], "unlik": [30, 31], "pin": [30, 33], "eas": [30, 36, 40], "offer": [30, 31, 42], "tradeoff": [30, 31], "capac": 30, "applciat": 30, "constantli": 30, "360": 30, "fsr": 30, "spectral": 30, "maxima": 30, "achiev": [30, 34, 44], "consum": 30, "closer": [30, 35], "rate": 30, "plasma": 31, "dispers": [31, 35, 36], "charg": 31, "carrier": 31, "inject": 31, "refrac": 31, "voltag": 31, "revers": [31, 46], "bias": 31, "respond": 31, "induc": 31, "mechan": [31, 33], "quit": 31, "beyond": [31, 42], "resist": [31, 42], "capacit": [31, 42], "intrins": 31, "high": [31, 33, 34, 36, 40], "cutoff": 31, "ten": 31, "ghz": 31, "suit": 31, "neglig": 31, "clariti": 31, "thermal": 31, "undop": 31, "copmris": 31, "experienc": [31, 38, 42], "cost": [31, 32, 33], "qualiti": 31, "deplet": 31, "moder": 31, "bia": 31, "analog": [32, 35], "macro": 32, "lens": 32, "mirror": [32, 36], "beamsplitt": 32, "analogu": 32, "micro": 32, "nano": 32, "discret": [32, 34], "inductor": 32, "cmo": 32, "classifi": 32, "mismatch": 32, "anisotropi": 32, "voa": 32, "photolithographi": 32, "photomask": 32, "photosensit": 32, "chemic": 32, "photoresist": 32, "lamp": 32, "ultraviolet": 32, "regim": 32, "stencil": 32, "alter": 32, "leav": [32, 36], "underli": 32, "constraint": 32, "densiti": 32, "pcb": 32, "familiar": [32, 33], "reject": 32, "didn": 32, "undergo": 32, "compat": [32, 33, 38], "hous": 32, "matur": 32, "store": [32, 36, 38, 45], "concret": 32, "conta": 32, "latter": 32, "regener": 32, "regress": 32, "mzm": 32, "least": 32, "arm": [32, 46], "rout": 32, "briefli": 32, "touch": 32, "solv": [32, 35, 41, 42], "maxwel": [32, 41], "computation": [32, 36], "expens": 32, "volumetr": 32, "mesh": 32, "voxel": 32, "magnet": [32, 34, 41, 43, 44], "lot": [32, 36, 43], "hour": 32, "pertin": 32, "abstract": [32, 34], "sequenc": 32, "yet": 32, "embrac": 33, "scientif": 33, "session": 33, "recompil": 33, "prototyp": 33, "rapidli": 33, "miniconda": [33, 38, 45], "bundl": 33, "frill": 33, "strip": 33, "anaconda": 33, "tend": 33, "latest": 33, "execut": 33, "easiest": [33, 36, 39], "quick": 33, "best": [33, 35], "isol": 33, "sandbox": 33, "destroi": 33, "mess": 33, "never": [33, 36], "worri": 33, "someon": 33, "venv": 33, "older": 33, "intel_env": 33, "subdir": 33, "osx": 33, "64": 33, "establish": [33, 35], "hasn": 33, "promin": 33, "fundament": [33, 34, 36, 41, 46], "counterpart": 33, "matlab": 33, "defacto": 33, "databas": 33, "solver": [33, 41, 42], "pymeep": 33, "grab": 33, "nlopt": 33, "aren": 33, "increment": 33, "api": 33, "contract": 33, "task": 33, "evolv": 33, "accomplish": 33, "old": 33, "immatur": 33, "frequent": 33, "guarante": 33, "reproduc": 33, "semant": 33, "major": 33, "minor": 33, "incompat": 33, "manner": 33, "txt": 33, "24": [33, 44], "great": 34, "intuit": [34, 44, 46], "surround": [34, 40, 41], "flaw": 34, "assumpt": 34, "misconcept": 34, "compen": 34, "challeng": 34, "slab": [34, 42], "implicit": 34, "fulli": [34, 35], "crucial": 34, "addition": 34, "impli": 34, "greater": [34, 44], "critic": 34, "except": 34, "anim": 34, "white": 34, "sent": 34, "orthogan": 34, "wavefront": 34, "interv": 34, "trough": 34, "special": [34, 39], "attent": 34, "clarifi": 34, "incremental": 34, "With": 34, "backdrop": 34, "consider": [34, 42], "lost": [34, 35, 36, 44, 46], "interferr": 34, "minim": 34, "emerg": 34, "obvious": 34, "mit": 34, "s3": 34, "amazonaw": 34, "fip": 34, "html": [34, 45], "next": [35, 36, 38, 41, 43, 45], "scenario": 35, "arriv": 35, "2nd": 35, "trip": 35, "perfect": [35, 46], "significantli": [35, 46], "narrow": 35, "bandpass": 35, "filter": [35, 43], "amplifi": 35, "circumfer": 35, "bent": 35, "alpha": [35, 36, 44, 46], "cm": 35, "substitut": 35, "formula": 35, "newli": 35, "azimuth": 35, "lambda_m": 35, "bring": 35, "steadi": [35, 36], "non": [35, 41, 42, 43], "met": 35, "incom": 35, "half": [35, 41], "fwhm": 35, "quantiti": 35, "sharp": 35, "q": 35, "sharper": 35, "unitless": 35, "10nm": 35, "2000nm": 35, "feel": 35, "ipython": 35, "video": 35, "10um": 35, "d_pml": 35, "d_pad": 35, "r_in": 35, "r_out": 35, "wg_length": 35, "cylind": 35, "getpass": 35, "600": 35, "getus": 35, "decai": [35, 41], "despit": 35, "wg_center": 35, "1st": [36, 41, 46], "notat": 36, "matric": 36, "exit": 36, "98": 36, "96": 36, "9604": 36, "nonlinear": 36, "arbitrarili": 36, "param": 36, "mind": 36, "accur": [36, 42], "adapt": [36, 38], "detector": 36, "monitor": 36, "pictur": [36, 44], "purpl": 36, "pathlib": 36, "get_meep_geometri": 36, "whole": 36, "bunch": 36, "sim_is_3d": 36, "pwd": 36, "abspath": 36, "gds_file": 36, "parent": 36, "lcen": 36, "diamet": 36, "t_oxid": 36, "t_si": 36, "t_air": 36, "78": 36, "cell_thick": 36, "444": 36, "min": 36, "cell_zmax": 36, "cell_zmin": 36, "n_port": 36, "s_param": 36, "mode_par": 36, "no_par": [36, 41], "odd_z": 36, "layerlevel": 36, "layerstack": 36, "dict": 36, "zmin": 36, "mesh_ord": 36, "sidewall_angl": 36, "width_to_z": 36, "layer_stack": 36, "mmi_comp": 36, "is_3d": 36, "geom": 36, "axi": [36, 41, 43, 44, 46], "cell_z": 36, "port_xsiz": 36, "port_ys": 36, "port_zsiz": 36, "port_xdisp": 36, "port_ydisp": 36, "port_siz": 36, "port1": 36, "port2": 36, "port3": 36, "port4": 36, "source1": 36, "source2": 36, "record": 36, "trick": 36, "eig_par": 36, "eig_match_freq": 36, "boundari": [36, 41, 44], "absorb": 36, "fourier": 36, "transform": 36, "energi": 36, "mode_monitor_1": 36, "add_mode_monitor": 36, "moderegion": 36, "mode_monitor_2": 36, "mode_monitor_3": 36, "mode_monitor_4": 36, "plot_plan": 36, "output_plan": 36, "No": 36, "correctli": [36, 45], "until_after_sourc": 36, "stop_when_dft_decai": 36, "cumul": 36, "wait": 36, "dft": [36, 46], "threshold": 36, "stop": 36, "retriev": 36, "get_eigenmode_coeffici": 36, "nfreq": 36, "neg": [36, 41], "norm_mode_coeff": 36, "port1_coeff": 36, "port2_coeff": 36, "port3_coeff": 36, "port4_coeff": 36, "nport1": 36, "s11": 36, "6f": 36, "deg": 36, "nport2": 36, "upper": [36, 41, 46], "s12": 36, "nport3": 36, "s13": 36, "nport4": 36, "s14": 36, "transmitt": 36, "exercis": 36, "port1_tran": 36, "port2_tran": 36, "port3_tran": 36, "port4_tran": 36, "percent": 36, "insertionloss": 36, "insertionloss_db": 36, "4f": 36, "terribl": 36, "third": [36, 41], "fortun": 36, "meant": 36, "reset": 36, "visula": 36, "continuoussourc": [36, 46], "reach": 36, "eps_data": [36, 46], "get_epsilon": 36, "ez_data": 36, "real": 36, "get_efield_z": 36, "screen": 36, "dpi": 36, "imshow": [36, 46], "transpos": [36, 46], "interpol": [36, 46], "spline36": [36, 46], "cmap": [36, 41, 46], "flipud": 36, "hopefulli": 36, "sens": 36, "sake": 36, "rest": [36, 44], "mode_monitor": 36, "norm_mod": 36, "devi": 36, "ts": 36, "trans1": 36, "trans2": 36, "trans3": 36, "trans4": 36, "expect": [36, 46], "entri": 36, "breviti": 36, "paramt": 36, "n_freq_point": 36, "outlin": 36, "customiz": 36, "exchang": 36, "port_xpo": 36, "port_ypo": 36, "cross_sect": 36, "sparam": 36, "extend_ports_length": 36, "port_margin": 36, "xmargin": 36, "ymargin": 36, "zmargin": 36, "wavelength_start": 36, "wavelength_stop": 36, "wavelength_point": 36, "mathwork": 36, "luceda": 36, "microwaves101": 36, "youtub": 36, "opinion": 38, "newcom": 38, "troubleshoot": 38, "disagre": 38, "primarili": 38, "nervou": 38, "navig": 38, "precompil": 38, "desig": 39, "boast": 39, "healthi": 39, "capabl": 39, "lighter": 39, "pylanc": 39, "tree": 39, "icon": 39, "ey": [39, 41], "candi": 39, "theme": 39, "menu": [39, 45], "pop": 39, "conduct": 40, "copper": 40, "47": [40, 41, 44], "44": [40, 41, 44], "confin": [41, 42], "newton": 41, "motion": [41, 43], "vibrat": 41, "violin": 41, "pipe": 41, "stationari": 41, "mpb": 41, "51": 41, "512": 41, "glass": 41, "find_modes_waveguid": 41, "core_w": 41, "core_t": 41, "m3": 41, "m4": 41, "elecgtr": 41, "linewidth": 41, "edgecolor": 41, "facecolor": 41, "wg4": 41, "ax1": 41, "ax2": 41, "islic": 41, "add_patch": 41, "tight_layout": 41, "0th": [41, 46], "spatial": 41, "sinusoid": 41, "slice": [41, 43], "discontinu": 41, "perpindicular": 41, "discontin": 41, "contin": 41, "horizont": 41, "domin": 41, "transvers": [41, 43, 44], "wg3": 41, "plot_ez": 41, "slight": 41, "aris": 41, "mm": 41, "find_mode_dispers": 41, "mode_numb": 41, "ng": 41, "3f": 41, "106": 41, "892": 41, "ignor": [42, 46], "mass": 42, "induct": 42, "exhaust": 42, "400nm": 42, "950nm": 42, "220nm": 42, "rib": 42, "rectangular": 42, "resembl": 42, "ridg": 42, "difficult": 42, "veloc": 42, "somewhat": 42, "tediou": 42, "streamlin": 42, "wavelegnth": 42, "atom": 42, "gather": [42, 44], "n_g": 42, "dn_": 42, "lambda_0": 42, "minu": 42, "band": 42, "behav": 43, "vector": [43, 44], "pure": 43, "perpendicular": 43, "tricki": 43, "dimension": 43, "arrow": 43, "bield": 43, "sun": 43, "unpolar": 43, "atmospher": 43, "sunlight": 43, "uniform": 43, "permit": 43, "unpredict": 43, "strike": 44, "snell": 44, "theta_i": 44, "theta_r": 44, "n_1sin": 44, "n_2sin": 44, "theta_t": 44, "gamma_": 44, "n_1co": 44, "n_2co": 44, "tau_": 44, "2n_1co": 44, "obliqu": 44, "observ": 44, "n1": 44, "n2": 44, "transmission_angl": 44, "arcsin": 44, "theta_i_deg": 44, "deg2rad": 44, "set_aspect": 44, "zip": 44, "p0": 44, "i1": 44, "rad2deg": 44, "0f": 44, "t1": 44, "xlim": 44, "ylim": 44, "axvlin": 44, "axhlin": 44, "linestyl": 44, "xtick": 44, "ytick": 44, "ipykernel_19546": 44, "1351043342": 44, "runtimewarn": 44, "AND": 44, "simulate_reflect": 44, "radian": 44, "incident_angle_radian": 44, "reflected_angl": 44, "transmitted_angl": 44, "incident_wav": 44, "tan": 44, "reflected_wav": 44, "transmitted_wav": 44, "display_transmit": 44, "barrier": 44, "set_xlim": 44, "set_ylim": 44, "str": 44, "set_titl": 44, "var": 44, "folder": [44, 45], "9n": 44, "_g8r69x957zb59c09f92zznh0000gn": 44, "ipykernel_69883": 44, "921879874": 44, "runtim": 44, "sine": 44, "theta_c": 44, "critical_angl": 44, "crit_angl": 44, "51840906945382": 44, "progag": 44, "profit": 44, "understood": 44, "prompt": 45, "administr": 45, "password": 45, "sh": 45, "git_and_github": 45, "wslpath": 45, "04": 45, "www": 45, "de": 45, "chapter": 45, "what_is_a_photonic_devic": 45, "arbitrari": 46, "focu": 46, "i_i": 46, "i_1": 46, "i_2": 46, "70": 46, "media": 46, "vice": 46, "versa": 46, "exact": 46, "perspect": 46, "inwg": 46, "outwg": 46, "mmi1x2_with_sbend": 46, "inwg_ref": 46, "splitter_ref": 46, "outwg_top_ref": 46, "outwg_bot_ref": 46, "make_geometry_from_gds_compon": 46, "core_mat": 46, "cladding_mat": 46, "component_point": 46, "to_np": 46, "1e3": 46, "pad_width": 46, "nx": 46, "ny": 46, "matgrid": 46, "materialgrid": 46, "do_averag": 46, "damp": 46, "add_dft_field": 46, "get_arrai": 46, "e_data": 46, "choic": 46, "varianc": 46}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"camacholab": 0, "photon": [0, 29, 32], "bootcamp": 0, "tabl": 0, "content": 0, "front": 0, "matter": 0, "develop": 0, "environ": [0, 33], "passiv": [0, 27, 32], "devic": [0, 32, 36], "design": [0, 8, 9, 26, 28, 32, 46], "simul": [0, 8, 21, 22, 35, 36], "circuit": [0, 3, 29, 32], "activ": [0, 32], "test": 0, "refer": [0, 3, 6, 24, 36], "adjoint": 1, "optim": [1, 26, 37], "advanc": 2, "compon": [2, 6, 22, 27], "cross": 2, "section": 2, "creat": 2, "us": [2, 3, 6, 22, 36], "componentspec": 2, "analyz": 3, "account": 3, "grate": [3, 14], "coupler": [3, 8, 10, 14], "curv": 3, "fit": 3, "extract": 3, "index": [3, 42], "refract": [3, 44], "compact": [4, 32], "model": [4, 22, 32, 34, 42], "element": 6, "polygon": 6, "port": [6, 36], "label": 6, "from": [6, 22], "translat": 6, "rotat": 6, "boolean": 6, "oper": 6, "parametr": 6, "cell": 6, "shape": [6, 37], "gener": 6, "ad": 6, "export": 6, "gd": [6, 11, 20], "file": 6, "import": [6, 36], "connect": [6, 39], "exercis": [6, 8, 18], "credit": 7, "sponsor": 7, "contributor": 7, "direct": 8, "supermod": 8, "visual": [8, 39], "coupl": [8, 35], "length": 8, "gap": 8, "between": 8, "waveguid": [8, 40, 41, 42, 44], "other": 8, "split": [8, 46], "ratio": 8, "show": 8, "across": [8, 36], "dc": 8, "consider": [8, 43, 46], "sourc": [8, 14, 24, 36, 46], "rule": [9, 32], "check": [9, 22, 44], "edg": 10, "meep": [11, 20, 36], "find": [11, 36], "s": [11, 22, 36], "paramet": [11, 14, 36, 42], "through": [11, 44], "gmeep": [11, 36], "git": 12, "github": 12, "glossari": 13, "how": [14, 29, 36], "doe": [14, 29], "work": [14, 29], "essenti": 14, "period": 14, "etch": 14, "depth": 14, "fill": 14, "factor": [14, 35], "introduct": 15, "klayout": 16, "klive": 16, "laboratori": 17, "tool": 17, "pyrolab": 17, "instal": 17, "autog": 17, "defin": [18, 32], "layer": [18, 32], "stack": [18, 32], "silicon": 18, "insul": 18, "gdsfactori": 18, "layermap": 18, "layerview": 18, "layerstack": 18, "layout": 19, "demo": [19, 44], "multimod": 21, "interferomet": [21, 22, 23], "mmi": 21, "self": 21, "imag": 21, "applic": [21, 29], "mach": [22, 23], "zehnder": [22, 23], "The": [22, 32], "mzi": 22, "write": 22, "netlist": 22, "callabl": 22, "analysi": 22, "balanc": 22, "quick": [22, 44], "definit": 22, "imblanc": 22, "thermo": 22, "optic": [22, 25, 34], "effect": [22, 42], "lai": 23, "out": 23, "open": 24, "softwar": [24, 38], "common": 24, "licens": 24, "mit": 24, "apach": 24, "2": [24, 36], "0": 24, "gplv3": 24, "agpl": 24, "i": 25, "o": 25, "invers": 26, "process": [28, 32], "kit": 28, "phase": [29, 30, 31], "shifter": [29, 30, 31], "what": [29, 32, 36, 40], "shift": 29, "A": 29, "simpl": 29, "heater": 30, "advantag": [30, 31], "thermal": 30, "disadvantag": [30, 31], "tune": 30, "effici": 30, "pn": 31, "pin": 31, "junction": 31, "ar": [32, 36], "compar": 32, "electron": 32, "vs": 32, "manufactur": 32, "geometri": [32, 36], "digit": 32, "python": 33, "conda": 33, "virtual": 33, "packag": 33, "manag": 33, "version": 33, "improv": 34, "rai": 34, "support": 34, "mode": [34, 41], "ring": 35, "reson": 35, "intuit": 35, "descript": 35, "mathemat": 35, "satur": 35, "critic": [35, 44], "fsr": 35, "free": 35, "spectral": 35, "rang": 35, "bandwidth": 35, "qualiti": 35, "field": 35, "scatter": 36, "exampl": 36, "why": 36, "an": 36, "arbitrari": 36, "step": 36, "1": 36, "run": 36, "singl": 36, "3": 36, "same": 36, "each": 36, "differ": 36, "frequenc": 36, "gplugin": 36, "write_sparameters_meep": 36, "studio": 39, "code": 39, "configur": 39, "vscode": 39, "wsl": [39, 45], "window": [39, 45], "machin": 39, "wavegudi": 42, "spatial": 42, "dimens": 42, "group": 42, "polar": 43, "total": 44, "intern": 44, "reflect": 44, "kei": 44, "equat": 44, "angl": 44, "propag": 44, "light": [44, 46], "onli": 45, "y": 46, "branch": 46, "combin": 46}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinxcontrib.bibtex": 9, "sphinx": 56}})
\ No newline at end of file
+Search.setIndex({"docnames": ["index", "pages/adjoint_optimization", "pages/advanced_components", "pages/analyzing_circuits", "pages/compact_models", "pages/component_convenience", "pages/components", "pages/credits", "pages/directional_couplers", "pages/drc", "pages/edge_couplers", "pages/gds_to_meep", "pages/git_and_github", "pages/glossary", "pages/grating_couplers", "pages/introduction", "pages/klayout", "pages/laboratory_tools", "pages/layer_stack", "pages/layout_demo", "pages/meep_to_gds", "pages/mmis", "pages/mzi", "pages/mzi_layout", "pages/open_source", "pages/optical_io", "pages/optimization", "pages/passive_components", "pages/pdks", "pages/phase_shifters", "pages/phase_shifters_heaters", "pages/phase_shifters_pn", "pages/photonic_devices", "pages/python", "pages/ray_optic_model", "pages/ring_resonators", "pages/scattering_parameters", "pages/shape_optimization", "pages/software", "pages/vscode", "pages/waveguides", "pages/waveguides_mode_solvers", "pages/waveguides_modelling", "pages/waveguides_polarization", "pages/waveguides_tir", "pages/wsl", "pages/y_branch"], "filenames": ["index.md", "pages/adjoint_optimization.ipynb", "pages/advanced_components.ipynb", "pages/analyzing_circuits.ipynb", "pages/compact_models.ipynb", "pages/component_convenience.ipynb", "pages/components.ipynb", "pages/credits.md", "pages/directional_couplers.ipynb", "pages/drc.ipynb", "pages/edge_couplers.ipynb", "pages/gds_to_meep.ipynb", "pages/git_and_github.md", "pages/glossary.md", "pages/grating_couplers.ipynb", "pages/introduction.md", "pages/klayout.md", "pages/laboratory_tools.ipynb", "pages/layer_stack.ipynb", "pages/layout_demo.ipynb", "pages/meep_to_gds.ipynb", "pages/mmis.ipynb", "pages/mzi.ipynb", "pages/mzi_layout.ipynb", "pages/open_source.md", "pages/optical_io.md", "pages/optimization.ipynb", "pages/passive_components.md", "pages/pdks.ipynb", "pages/phase_shifters.ipynb", "pages/phase_shifters_heaters.ipynb", "pages/phase_shifters_pn.ipynb", "pages/photonic_devices.ipynb", "pages/python.md", "pages/ray_optic_model.ipynb", "pages/ring_resonators.ipynb", "pages/scattering_parameters.ipynb", "pages/shape_optimization.ipynb", "pages/software.md", "pages/vscode.md", "pages/waveguides.ipynb", "pages/waveguides_mode_solvers.ipynb", "pages/waveguides_modelling.ipynb", "pages/waveguides_polarization.ipynb", "pages/waveguides_tir.ipynb", "pages/wsl.md", "pages/y_branch.ipynb"], "titles": ["CamachoLab Photonics Bootcamp", "Adjoint optimization", "Advanced Components", "Analyzing circuits", "Compact models", "<no title>", "Components", "Credits", "Directional couplers", "Design rule checks", "Edge couplers", "GDS to Meep", "Git (and GitHub)", "Glossary", "Grating couplers", "Introduction", "KLayout", "Laboratory Tools", "Defining the layer stack", "Layout Demo", "Meep to GDS", "Multimode Interferometers (MMIs)", "Mach-Zehnder interferometers", "Laying out a Mach-Zehnder Interferometer", "Open source software", "Optical I/O", "Optimization and inverse design", "Passive Components", "Process design kits", "Phase Shifters", "Heaters", "PN and PIN Junctions", "What are photonic devices?", "Python", "Improving the Ray-optic Model", "Ring Resonators", "Scattering parameters", "Shape optimization", "Software", "Visual Studio Code", "Waveguides", "Waveguide modes", "Modelling Wavegudies", "Polarization", "Total Internal Reflection", "WSL (Windows-only)", "Y-Branches"], "terms": {"sponsor": 0, "googl": [0, 7, 15, 24], "thi": [0, 3, 6, 8, 11, 12, 13, 14, 15, 16, 18, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 42, 43, 44, 45, 46], "intend": [0, 11, 24], "those": [0, 6, 22, 24, 35, 46], "experi": [0, 22, 31, 38, 44], "electr": [0, 6, 8, 13, 14, 15, 18, 21, 22, 27, 29, 30, 31, 32, 34, 35, 40, 41, 43, 44], "engin": [0, 15, 22, 24, 32], "ar": [0, 3, 6, 8, 9, 11, 12, 13, 14, 15, 17, 18, 21, 22, 23, 24, 27, 28, 29, 30, 31, 33, 34, 35, 38, 39, 40, 41, 42, 43, 44, 45, 46], "interest": [0, 15, 22], "learn": [0, 3, 6, 23, 28, 33, 35], "about": [0, 6, 8, 17, 22, 24, 33, 34, 36, 38, 39, 42, 43], "integr": [0, 13, 15, 16, 18, 28, 32, 39], "applic": [0, 8, 13, 22, 24, 30, 31, 33, 36], "cours": [0, 8, 12, 13, 15, 24, 27, 33, 38, 39, 44], "wa": [0, 22, 36, 45], "creat": [0, 6, 8, 11, 12, 13, 14, 15, 17, 18, 21, 22, 23, 32, 33, 34, 35, 36, 38, 41, 44, 45, 46], "collabor": [0, 12, 15, 24], "between": [0, 11, 13, 15, 21, 22, 29, 30, 31, 32, 34, 35, 36, 42, 44, 46], "brigham": 0, "young": 0, "univers": [0, 18], "s": [0, 3, 6, 12, 13, 14, 15, 16, 18, 23, 24, 29, 30, 31, 32, 33, 35, 39, 41, 42, 43, 44, 45, 46], "skywat": 0, "project": [0, 12, 24], "introduct": [0, 22], "credit": 0, "open": [0, 6, 8, 12, 13, 14, 15, 16, 17, 21, 28, 33, 35, 36, 38, 39, 42, 45], "sourc": [0, 6, 11, 12, 13, 15, 16, 17, 18, 20, 21, 32, 33, 35, 38, 39], "softwar": [0, 6, 12, 13, 15, 16, 17, 18, 28, 33, 36], "what": [0, 6, 8, 11, 12, 22, 23, 24, 43, 44], "defin": [0, 3, 6, 8, 9, 11, 14, 21, 22, 35, 36, 41, 42, 44], "layer": [0, 6, 8, 13, 19, 21, 23, 28, 36, 40, 46], "stack": [0, 13, 28, 33], "compon": [0, 8, 11, 13, 14, 15, 18, 19, 20, 21, 23, 24, 25, 32, 34, 36, 41, 43, 46], "waveguid": [0, 6, 13, 14, 18, 21, 22, 23, 27, 29, 30, 31, 32, 34, 35, 36, 43, 46], "optic": [0, 6, 14, 18, 21, 27, 30, 31, 32, 43, 44, 46], "i": [0, 6, 8, 11, 14, 21, 22, 29, 33, 35, 36, 38, 44], "o": [0, 6], "optim": [0, 3, 14, 22, 32, 33, 36, 46], "invers": [0, 32, 44], "compact": [0, 13, 15, 28, 46], "model": [0, 3, 13, 15, 18, 28, 41, 44], "rule": [0, 13, 28, 33], "check": [0, 11, 12, 13, 18, 32, 36], "process": [0, 6, 8, 11, 13, 18, 30, 33, 36, 42], "kit": [0, 13], "mach": [0, 21, 32], "zehnder": [0, 21, 32], "interferomet": [0, 6, 13, 27, 32], "lai": [0, 6, 16], "out": [0, 6, 8, 11, 13, 14, 16, 21, 22, 33, 34, 35, 36, 41, 43, 46], "layout": [0, 8, 11, 15, 16, 22, 32, 33, 35, 38], "demo": 0, "advanc": 0, "phase": [0, 8, 21, 22, 32, 34, 35, 36, 46], "shifter": [0, 22, 32], "analyz": [0, 15], "glossari": 0, "repositori": [0, 12, 38], "pdk": [0, 6, 9, 13, 18, 19, 22, 23, 28, 32], "document": [0, 15, 17, 22], "In": [3, 6, 8, 11, 12, 14, 15, 18, 21, 22, 23, 24, 27, 29, 30, 31, 32, 33, 35, 36, 38, 39, 41, 46], "section": [3, 6, 14, 16, 18, 25, 27, 32, 33, 34, 35, 36, 38, 42, 43, 45], "we": [3, 6, 8, 12, 13, 14, 15, 17, 18, 22, 23, 24, 25, 27, 28, 29, 32, 33, 34, 35, 36, 38, 39, 41, 42, 43, 44, 45, 46], "how": [3, 6, 8, 11, 13, 15, 18, 21, 22, 23, 27, 33, 34, 35, 38, 41, 42, 43, 44, 45], "interpret": [3, 33], "data": [3, 13, 18, 23, 35, 36, 43], "collect": [3, 22, 23, 36], "from": [3, 8, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 23, 29, 30, 31, 32, 33, 34, 35, 36, 39, 41, 43, 45, 46], "our": [3, 6, 17, 22, 23, 28, 31, 34, 36, 38, 41], "whenev": 3, "obtain": [3, 30], "import": [3, 8, 11, 14, 18, 19, 20, 21, 22, 23, 24, 33, 34, 35, 41, 43, 44, 46], "rememb": [3, 35], "renspons": 3, "chang": [3, 6, 8, 12, 13, 14, 21, 22, 23, 24, 29, 30, 31, 32, 33, 34, 35, 36, 41, 42, 44, 46], "wavelength": [3, 8, 14, 18, 21, 22, 32, 34, 35, 36, 41, 42], "well": [3, 6, 11, 12, 16, 31, 32, 33, 34, 43], "being": [3, 8, 16, 21, 22, 24, 32, 34, 46], "test": [3, 11, 12, 15, 17, 18, 23, 33, 43], "order": [3, 6, 13, 14, 27, 30, 32, 34, 36, 38, 41, 46], "properli": 3, "must": [3, 6, 8, 11, 13, 18, 22, 23, 24, 30, 35, 46], "first": [3, 8, 11, 12, 14, 22, 23, 27, 29, 35, 36, 41, 43, 44, 45], "deemb": 3, "depend": [3, 8, 18, 22, 24, 29, 30, 33, 35, 36, 41, 42, 43, 44], "can": [3, 6, 8, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46], "done": [3, 6, 20, 32, 33, 36, 39], "varieti": [3, 6, 14, 21], "wai": [3, 6, 15, 21, 22, 24, 29, 30, 32, 33, 34, 35, 36, 38, 39, 42, 44], "includ": [3, 6, 11, 12, 13, 15, 16, 17, 18, 21, 22, 24, 28, 29, 30, 31, 32, 33, 35, 39, 41, 42, 45], "consid": [3, 8, 14, 21, 22, 31, 34, 42, 43, 46], "follow": [3, 6, 13, 14, 20, 22, 23, 27, 31, 33, 34, 35, 38, 42, 44, 45], "via": [3, 12, 17, 18, 33, 35, 40, 45], "sweep": [3, 28], "numpi": [3, 6, 8, 12, 14, 19, 22, 33, 35, 36, 41, 44], "np": [3, 6, 8, 14, 18, 19, 35, 36, 41, 44], "matplotlib": [3, 6, 12, 14, 18, 19, 22, 33, 35, 36, 41, 44, 46], "pyplot": [3, 14, 19, 22, 35, 36, 41, 44, 46], "plt": [3, 14, 19, 22, 35, 36, 41, 44, 46], "poly_ord": 3, "4": [3, 6, 8, 19, 21, 22, 23, 33, 35, 36, 41], "load": [3, 11, 16, 36], "file": [3, 8, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 23, 24, 32, 33, 35, 36, 38, 39, 45], "oscope_data": 3, "npz": 3, "power": [3, 8, 13, 16, 21, 22, 30, 32, 35, 36], "here": [3, 6, 8, 14, 16, 18, 24, 25, 27, 33, 35, 36, 38, 39, 42, 45, 46], "raw": 3, "oscilloscop": 3, "plot": [3, 6, 8, 11, 18, 19, 22, 23, 33, 35, 36, 41, 44, 46], "titl": 3, "xlabel": [3, 8, 36], "nm": [3, 14, 18, 22], "ylabel": [3, 8, 36], "dbm": 3, "show": [3, 6, 11, 18, 19, 21, 22, 28, 35, 36, 41, 44, 46], "The": [3, 6, 8, 11, 13, 14, 15, 18, 20, 21, 23, 24, 27, 29, 30, 31, 33, 34, 35, 36, 38, 41, 42, 43, 44, 45, 46], "parabol": 3, "shape": [3, 13, 25, 32, 36, 41, 42, 46], "graph": [3, 43], "due": [3, 22, 27, 34, 35, 46], "respons": [3, 22, 35, 36, 46], "which": [3, 6, 8, 11, 12, 13, 14, 21, 22, 23, 24, 30, 31, 32, 33, 34, 35, 36, 38, 40, 41, 43, 44, 45, 46], "obfusc": 3, "try": [3, 23], "remov": [3, 8, 14, 21, 30, 31, 32, 33, 35], "effect": [3, 8, 14, 30, 31, 35, 41], "parabola": 3, "subtract": [3, 6], "function": [3, 6, 8, 11, 14, 20, 21, 22, 23, 28, 33, 35, 36, 41, 42, 44], "want": [3, 6, 11, 12, 20, 21, 22, 23, 24, 33, 35, 36, 42, 45, 46], "case": [3, 8, 14, 16, 18, 22, 23, 29, 33, 44, 46], "def": [3, 6, 36, 44, 46], "model_parabola": 3, "x": [3, 6, 8, 11, 19, 21, 23, 36, 41, 43, 44, 46], "b": [3, 6, 8, 44], "c": [3, 6, 8, 11, 22, 23, 33], "d": [3, 7, 15, 33, 36, 42, 43, 44, 45], "e": [3, 6, 8, 11, 12, 18, 22, 29, 32, 35, 36, 38, 41, 42, 46], "return": [3, 6, 11, 20, 22, 36, 41, 44, 46], "3": [3, 8, 11, 14, 15, 18, 19, 20, 21, 22, 23, 24, 28, 33, 35, 40, 41, 44, 46], "2": [3, 6, 8, 11, 14, 15, 18, 19, 20, 21, 22, 23, 28, 33, 34, 35, 41, 44, 46], "now": [3, 6, 19, 22, 23, 25, 33, 34, 36, 39, 41, 46], "just": [3, 6, 8, 11, 13, 14, 15, 17, 22, 23, 29, 33, 35, 36, 41, 46], "need": [3, 6, 11, 12, 22, 23, 24, 33, 36, 38, 42, 43, 45, 46], "paramet": [3, 6, 8, 21, 22, 23, 32, 35], "do": [3, 6, 15, 18, 20, 23, 24, 35, 36, 38, 39, 43], "curve_fit": 3, "scipi": [3, 12, 33], "take": [3, 6, 8, 11, 13, 20, 22, 23, 30, 32, 35, 36, 43, 44, 45], "y": [3, 6, 8, 11, 21, 22, 23, 27, 29, 36, 41, 43, 44], "an": [3, 6, 8, 9, 11, 12, 13, 14, 15, 17, 18, 21, 22, 23, 24, 30, 31, 32, 33, 34, 35, 41, 42, 43, 44, 46], "initi": [3, 6, 8, 22], "guess": 3, "It": [3, 6, 8, 11, 13, 14, 15, 16, 18, 20, 22, 23, 24, 31, 33, 34, 36, 39, 41, 42, 43, 45], "covari": 3, "matrix": [3, 22, 36], "start": [3, 6, 22, 33, 34, 35, 36, 45], "end": [3, 8, 13, 14, 19, 22, 24, 33, 36, 42, 44, 46], "argmax": 3, "1560": 3, "1580": 3, "help": [3, 6, 9, 12, 13, 16, 18, 22, 23, 28, 31, 34], "term": [3, 8, 13, 22], "speed": [3, 8, 30, 31, 32, 42], "accuraci": 3, "add": [3, 6, 8, 18, 20, 21, 23, 33, 36, 42, 44], "especi": [3, 11, 24, 30, 31, 33], "true": [3, 8, 11, 14, 18, 19, 21, 22, 35, 36, 41, 42, 44, 46], "more": [3, 6, 8, 11, 15, 16, 17, 18, 21, 22, 24, 29, 31, 32, 33, 34, 35, 36, 39, 41, 42, 43, 46], "complic": [3, 6, 34, 42, 46], "initial_guess": 3, "1": [3, 6, 8, 11, 14, 15, 18, 19, 20, 21, 22, 23, 24, 28, 33, 34, 35, 40, 41, 42, 44, 46], "optimal_paramet": 3, "covariance_matrix": 3, "label": [3, 11, 18, 22, 23, 44], "legend": [3, 44], "simpli": [3, 6, 14, 22, 33, 34, 36], "offset": [3, 31], "make": [3, 6, 8, 13, 20, 21, 22, 23, 24, 25, 28, 31, 32, 33, 36, 39, 46], "easier": [3, 6, 39, 46], "see": [3, 8, 11, 13, 14, 18, 21, 22, 23, 24, 28, 29, 31, 35, 36, 41, 43, 46], "power_correct": 3, "max": [3, 36], "correct": [3, 11], "ones": [3, 6, 33], "len": [3, 41], "averag": [3, 14, 42], "gdsfactori": [6, 8, 11, 13, 15, 19, 20, 21, 22, 23, 33, 35, 36, 41, 46], "them": [6, 8, 11, 15, 21, 22, 23, 24, 27, 31, 32, 33, 36, 38], "togeth": [6, 8, 12, 18, 23, 32, 33, 34], "larger": [6, 8, 13, 15, 22, 32, 46], "design": [6, 13, 14, 15, 16, 18, 20, 21, 23, 24, 25, 27, 35, 36], "simpl": [6, 15, 18, 22, 23, 30, 32, 33, 40, 42, 44], "complex": [6, 31, 32, 33, 36], "construct": [6, 13, 14, 21, 22, 29, 32, 34, 35, 46], "exampl": [6, 11, 12, 13, 15, 18, 20, 21, 22, 24, 27, 28, 29, 32, 33, 41, 42], "contain": [6, 11, 13, 18, 20, 22, 23, 32, 33, 34, 36, 41], "other": [6, 11, 12, 13, 17, 18, 21, 22, 23, 24, 29, 30, 31, 32, 33, 34, 36, 39, 41, 42, 43, 46], "thei": [6, 9, 11, 12, 13, 15, 18, 21, 22, 24, 32, 33, 34, 35, 42, 45, 46], "usual": [6, 9, 13, 15, 18, 32], "have": [6, 8, 11, 12, 13, 14, 15, 18, 21, 22, 23, 24, 28, 29, 31, 32, 33, 34, 35, 36, 38, 39, 41, 42, 43, 45, 46], "allow": [6, 8, 11, 12, 13, 15, 16, 22, 24, 32, 36, 39], "you": [6, 8, 9, 11, 12, 13, 14, 15, 16, 18, 20, 21, 22, 23, 24, 28, 32, 33, 35, 36, 38, 39, 41, 44, 45, 46], "factori": [6, 28], "when": [6, 8, 11, 14, 16, 18, 22, 24, 29, 31, 32, 33, 35, 36, 41, 42, 43, 44, 46], "align": [6, 8, 19, 23], "each": [6, 8, 11, 13, 14, 16, 17, 18, 21, 22, 30, 32, 33, 41, 42, 44, 46], "taken": [6, 18, 36], "care": [6, 36, 42, 43], "automat": [6, 16, 17, 18], "made": [6, 13, 24, 25, 35, 40, 41, 42], "up": [6, 8, 11, 12, 13, 14, 18, 21, 22, 24, 30, 32, 33, 35, 36, 39, 42, 45, 46], "option": [6, 11, 15, 36, 39], "most": [6, 8, 11, 12, 14, 16, 18, 20, 24, 30, 33, 34, 35, 36, 38, 40, 42, 43, 46], "basic": [6, 14, 16, 21, 22, 23, 33, 36, 44], "build": [6, 13, 22, 27, 32, 34, 35, 45], "object": [6, 8, 18, 20, 22, 34, 41], "gf": [6, 11, 19, 21, 22, 23, 36, 46], "seri": [6, 15, 33], "conveni": [6, 22, 28], "visual": [6, 13, 14, 18, 20, 22, 34, 38, 41], "jupyt": [6, 15, 39], "notebook": [6, 11, 15, 36], "For": [6, 11, 13, 17, 18, 21, 22, 23, 28, 29, 30, 31, 32, 33, 35, 36, 38, 42, 44], "plot_holoview": 6, "plot_jupyt": 6, "plot_klayout": 6, "plot_matplotlib": 6, "plot_netlist": 6, "plot_netlist_flat": 6, "plot_widget": 6, "some": [6, 8, 11, 13, 14, 16, 17, 18, 22, 24, 27, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 43, 46], "alias": 6, "default": [6, 22, 23, 36, 38, 39, 45, 46], "could": [6, 11, 13, 18, 21, 22, 34, 36, 43], "keyword": [6, 11, 22, 36], "argument": [6, 11, 22, 23, 36, 44], "below": [6, 8, 11, 14, 18, 20, 21, 22, 23, 24, 29, 34, 35, 36, 41, 43, 44], "format": [6, 8, 14, 15, 16, 17, 21, 22, 35], "ll": [6, 12, 15, 22, 23, 24, 33, 35, 36, 38, 41, 42, 43, 45], "explicit": [6, 22, 24], "But": [6, 24, 36], "recommend": [6, 8, 12, 17, 33, 36, 38, 39, 45], "displai": [6, 16, 35, 44], "interact": [6, 8, 14, 27, 33, 34, 38, 42], "klayout": [6, 18, 19, 23, 28, 32, 36, 38, 45], "widget": 6, "lowest": [6, 13], "block": [6, 8, 13, 14, 20, 22, 27, 32, 35, 45, 46], "list": [6, 11, 13, 20, 22, 23, 32, 33, 42], "vertic": [6, 20, 23, 32, 36, 41, 44], "adjac": 6, "pair": [6, 18], "line": [6, 8, 12, 13, 14, 17, 21, 23, 32, 33, 34, 35, 36, 41, 43, 44, 45], "doe": [6, 8, 22, 24, 34, 43], "cross": [6, 8, 14, 15, 16, 18, 41, 42], "ani": [6, 8, 11, 13, 14, 18, 23, 24, 28, 31, 33, 34, 36, 38, 39, 41, 44, 46], "within": [6, 11, 13, 16, 21, 22, 29, 30, 31, 32, 34, 41, 42], "although": [6, 13, 18, 32, 38], "overlap": [6, 8, 36], "parallel": [6, 8, 11, 41, 43], "lie": 6, "upon": [6, 34, 44], "point": [6, 13, 34, 35, 36, 41], "exist": [6, 8, 13, 18, 24, 32, 33, 36, 41], "geometri": [6, 8, 11, 13, 14, 18, 20, 21, 23, 34, 35, 41, 42, 46], "instead": [6, 11, 13, 14, 21, 22, 24, 31, 32, 33, 35, 42], "new": [6, 13, 15, 16, 18, 23, 29, 32, 33, 45], "one": [6, 8, 11, 13, 14, 15, 18, 21, 22, 23, 24, 29, 30, 31, 32, 33, 35, 36, 38, 41, 42, 43, 46], "That": [6, 24, 43], "parameter": [6, 22, 32, 42], "call": [6, 8, 18, 21, 22, 30, 31, 32, 33, 34, 35, 36, 41, 43, 44], "even": [6, 8, 32, 33, 42], "hierarch": [6, 13], "nest": 6, "save": [6, 8, 11, 13, 14, 20, 21, 33, 35, 36], "memori": [6, 13, 32], "becaus": [6, 8, 12, 14, 18, 21, 22, 24, 30, 31, 32, 35, 36, 42, 43, 44, 46], "core": [6, 8, 11, 18, 34, 36, 40, 41, 42, 44], "onli": [6, 11, 12, 13, 15, 17, 21, 22, 23, 24, 27, 33, 34, 35, 36, 38, 42, 43, 46], "onc": [6, 16, 32, 33, 36, 43], "referenc": 6, "mani": [6, 8, 11, 12, 13, 15, 17, 22, 23, 24, 28, 30, 32, 33, 35, 36, 42, 46], "time": [6, 8, 11, 12, 13, 14, 16, 21, 22, 24, 29, 30, 31, 32, 33, 34, 35, 36, 42, 44, 45, 46], "These": [6, 8, 11, 12, 13, 18, 22, 24, 32, 34, 36, 43, 44], "place": [6, 8, 13, 21, 23, 30, 32, 38], "anywher": [6, 33], "independ": [6, 30], "all": [6, 8, 12, 13, 14, 15, 17, 18, 21, 22, 23, 24, 28, 32, 33, 34, 35, 36, 38, 39, 42, 43, 44, 46], "appli": [6, 16, 18, 31, 36], "base": [6, 8, 12, 17, 21, 24, 30, 31, 32, 33, 36, 44, 46], "instanc": [6, 11, 18, 22, 32, 33], "had": [6, 11, 22, 32], "same": [6, 8, 11, 14, 15, 17, 18, 21, 22, 23, 24, 30, 31, 32, 33, 35, 46], "taper": [6, 14, 21, 34], "its": [6, 8, 11, 17, 18, 22, 23, 24, 30, 32, 33, 35, 36, 42, 43], "input": [6, 8, 13, 21, 22, 23, 32, 35, 36, 46], "output": [6, 8, 11, 13, 14, 21, 22, 32, 35, 36, 44, 46], "repeatedli": 6, "would": [6, 11, 13, 14, 18, 21, 22, 24, 32, 34, 36, 45], "good": [6, 22, 36], "requir": [6, 8, 18, 22, 24, 28, 30, 31, 32, 33, 35], "higher": [6, 18, 29, 30, 31, 34, 35, 41, 42, 46], "level": [6, 14, 22, 33, 36], "By": [6, 11, 14, 22, 31], "draw": [6, 23, 35], "bank": 6, "without": [6, 13, 22, 24, 28, 30, 31, 32, 33, 34], "much": [6, 8, 11, 22, 34, 35, 36, 39], "pattern": [6, 14, 18, 22, 32, 34], "where": [6, 8, 11, 14, 21, 22, 23, 24, 30, 33, 35, 36, 43, 46], "across": [6, 13, 22], "compos": [6, 32], "interconnect": [6, 13, 36], "compound": 6, "intermedi": 6, "specifi": [6, 8, 11, 13, 14, 20, 33, 36, 42], "direct": [6, 13, 14, 19, 20, 21, 23, 27, 32, 34, 35, 36, 41, 43, 44, 46], "face": [6, 13], "either": [6, 11, 13, 32, 35, 43, 46], "also": [6, 8, 11, 12, 13, 14, 15, 16, 21, 22, 23, 24, 29, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 43, 44, 45, 46], "width": [6, 8, 13, 14, 18, 20, 21, 22, 31, 32, 35, 36, 41, 42], "attach": [6, 11, 13], "your": [6, 8, 9, 11, 12, 13, 14, 16, 18, 20, 22, 23, 24, 28, 32, 33, 35, 38, 39, 43, 45], "convei": 6, "inform": [6, 13, 15, 17, 18, 22, 24, 28, 29, 31, 32, 36, 39], "otherwis": [6, 22, 35], "seen": [6, 8, 11, 24], "A": [6, 8, 13, 14, 18, 21, 22, 24, 28, 30, 31, 32, 33, 35, 36, 38, 39, 40, 41, 42, 43, 46], "add_label": 6, "pass": [6, 11, 22, 23, 29, 32, 33], "text": [6, 8, 18, 22, 23, 24, 28, 33, 35, 39], "locat": [6, 14, 20, 45], "should": [6, 8, 11, 15, 18, 22, 23, 28, 36, 39, 46], "shown": [6, 8, 20, 35, 36], "posit": [6, 18, 22, 32, 35, 36, 41, 43], "center": [6, 8, 14, 19, 20, 21, 22, 31, 35, 36, 46], "passiv": [6, 25], "sever": [6, 8, 11, 16, 29, 30, 31, 33, 39, 42], "than": [6, 8, 14, 18, 21, 24, 29, 31, 32, 34, 35, 36, 44, 46], "mai": [6, 8, 11, 12, 13, 18, 21, 22, 23, 24, 29, 30, 31, 32, 36], "part": [6, 8, 9, 11, 22, 23, 24, 28, 36, 40, 41, 43, 46], "track": [6, 12, 33, 36], "number": [6, 8, 11, 13, 18, 21, 24, 33, 35, 36, 41], "As": [6, 8, 11, 14, 15, 18, 22, 24, 30, 31, 35, 36, 43], "let": [6, 13, 22, 23, 29, 34, 35, 36, 41, 42, 43, 44], "tupl": [6, 18, 22], "coordin": [6, 36], "circular": 6, "fashion": [6, 13], "repeat": 6, "last": [6, 23, 36], "infer": 6, "close": [6, 8, 35], "script": [6, 8, 18, 21, 32, 33, 35, 45], "complet": [6, 8, 12, 13, 15, 18, 30, 35, 36, 38, 46], "run": [6, 8, 11, 12, 13, 14, 15, 16, 18, 21, 22, 23, 24, 28, 30, 33, 35, 41, 45, 46], "final": [6, 22, 23, 35, 36], "t_length": 6, "10": [6, 8, 18, 19, 20, 22, 23, 33, 35, 36, 41, 44, 46], "t_width_in": 6, "0": [6, 8, 11, 14, 18, 19, 20, 21, 22, 23, 33, 34, 35, 36, 41, 43, 44, 46], "5": [6, 8, 11, 14, 19, 20, 21, 22, 23, 35, 36, 41, 44, 46], "t_width_out": 6, "add_polygon": 6, "int": [6, 41], "assum": [6, 8, 14, 21, 22, 35, 38, 45, 46], "ve": [6, 15, 32, 33, 36], "provid": [6, 12, 22, 24, 33, 38, 39], "datatyp": [6, 18], "poli": 6, "45": [6, 8, 14, 18, 20, 21, 35, 36, 46], "move": [6, 12, 19, 36, 45], "come": [6, 8, 11, 24, 31, 34, 35, 42, 46], "manipul": [6, 20, 32], "easili": [6, 11, 23, 33, 45, 46], "differ": [6, 8, 11, 13, 14, 15, 20, 21, 22, 23, 24, 25, 29, 32, 33, 40, 41, 42, 43, 44, 45, 46], "combin": [6, 8, 13, 21, 22, 29, 35], "mean": [6, 8, 11, 22, 23, 24, 27, 32, 33, 35, 36, 43, 46], "merg": [6, 12], "xor": 6, "To": [6, 8, 11, 12, 14, 15, 21, 23, 25, 30, 33, 35, 36, 39, 43, 45], "two": [6, 8, 11, 13, 18, 21, 22, 24, 29, 30, 31, 32, 34, 35, 40, 43, 44, 46], "group": [6, 18, 41], "piec": [6, 13], "involv": [6, 32], "itself": [6, 22, 24, 30, 33, 41, 42], "target": [6, 22], "result": [6, 8, 11, 13, 14, 15, 21, 22, 31, 32, 35, 36, 44], "components_a": 6, "components_b": 6, "accept": 6, "equival": [6, 8], "t": [6, 8, 14, 15, 17, 18, 21, 22, 23, 30, 32, 33, 35, 36, 38, 39, 41, 42, 43, 44, 45, 46], "linspac": [6, 22, 36], "pi": [6, 8, 21, 22, 35, 36], "100": [6, 8, 23, 36], "co": [6, 22, 44], "sin": [6, 8, 14, 44], "circl": [6, 35], "triangl": 6, "pacman": 6, "precis": [6, 13, 21, 22, 30], "1e": [6, 36], "6": [6, 8, 22, 36], "origin": [6, 19, 24, 33], "boolean_subtract": 6, "add_ref": [6, 19, 22, 23, 46], "talk": [6, 42], "later": [6, 22, 34], "dimens": [6, 13, 36, 43], "redefin": 6, "everi": [6, 11, 22, 36, 46], "write": [6, 11, 24, 33, 35, 39], "addit": [6, 11, 29], "calcul": [6, 22, 35, 36, 41, 42, 44], "cach": 6, "correspond": [6, 11, 18, 22, 30, 32, 34, 35, 42, 44], "so": [6, 8, 11, 13, 18, 21, 22, 23, 24, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 42, 44, 46], "subsequ": 6, "rebuild": 6, "enabl": [6, 8, 17, 24, 29], "decor": [6, 36], "If": [6, 8, 12, 14, 20, 21, 22, 23, 24, 28, 32, 33, 35, 36, 38, 39, 43, 44, 45, 46], "re": [6, 13, 15, 18, 22, 24, 33, 36, 38, 39], "develop": [6, 12, 13, 24, 32, 39], "modifi": [6, 11, 22, 24, 32, 36], "content": [6, 24], "again": [6, 31, 33, 36], "code": [6, 11, 12, 13, 15, 16, 18, 20, 22, 23, 24, 33, 35, 36, 38, 44, 45], "won": [6, 15, 18, 22, 33, 36], "clear": [6, 34], "clear_cach": 6, "librari": [6, 22, 24, 28, 33, 42, 46], "reusabl": 6, "circuit": [6, 8, 13, 14, 15, 16, 17, 20, 21, 22, 27, 28, 36, 38, 40, 42, 46], "anoth": [6, 8, 11, 18, 21, 22, 24, 29, 31, 35, 43], "fantast": 6, "benefit": [6, 38], "type": [6, 18, 30, 31, 33, 46], "hint": 6, "valid": [6, 9, 13, 36], "name": [6, 11, 18, 19, 20, 22, 23, 24, 31, 33, 36, 44], "abl": [6, 8, 12, 21, 32, 33], "taper_compon": 6, "length": [6, 13, 14, 19, 21, 22, 23, 29, 30, 32, 35, 46], "float": [6, 22], "width_in": 6, "width_out": 6, "like": [6, 8, 11, 13, 14, 15, 17, 18, 20, 22, 24, 29, 30, 31, 33, 38, 39, 40, 41, 42, 44, 46], "quickli": 6, "rectangl": [6, 19, 41], "ellips": [6, 14], "ring": [6, 13, 23, 27, 28], "bend_circular": 6, "bend_eul": 6, "know": [6, 15, 36, 38, 43], "outward": 6, "awai": [6, 8, 30], "match": [6, 8, 11, 21, 36], "respect": [6, 8, 35, 42, 43, 44], "expand": [6, 29, 30], "earlier": 6, "note": [6, 8, 14, 21, 22, 23, 24, 35, 36, 45], "common": [6, 13, 16, 18, 21, 22, 27, 30, 31, 33, 35, 36, 42, 46], "toward": [6, 36], "o1": [6, 11, 19, 21, 22, 36, 46], "orient": [6, 23, 36, 43], "180": [6, 8, 23, 36], "port_typ": 6, "o2": [6, 11, 19, 21, 22, 36, 46], "add_port": [6, 19, 20, 36], "And": [6, 15, 22], "convent": [6, 13, 22, 31, 32, 43], "clock": 6, "wise": 6, "bottom": [6, 39], "left": [6, 8, 14, 18, 35, 36, 39, 44, 46], "corner": [6, 39], "prefix": 6, "index": [6, 8, 14, 18, 20, 21, 22, 27, 29, 30, 31, 33, 34, 35, 36, 38, 40, 41, 44, 46], "previous": [6, 18], "essenti": [6, 9, 16, 23], "pointer": [6, 33], "There": [6, 8, 11, 13, 18, 22, 23, 30, 33, 36, 39, 42, 46], "limit": [6, 21], "gdsii": [6, 36], "specif": [6, 8, 11, 14, 17, 18, 24, 33, 36, 39, 44], "built": [6, 24, 28, 33, 34, 41], "around": [6, 12, 23, 33, 35, 36], "previou": [6, 22, 33], "2x2": [6, 11, 21, 36], "multimod": [6, 27, 46], "mmi": [6, 11, 13, 20, 27, 36], "wide": [6, 13, 35], "therefor": [6, 22, 24, 30, 32, 33, 36, 38, 46], "side": [6, 31, 42, 46], "four": [6, 36], "redraw": 6, "individu": [6, 45], "right": [6, 8, 14, 23, 24, 35, 36, 44, 45, 46], "off": [6, 21, 32, 33, 36, 44, 46], "bat": 6, "mmi2x2": [6, 11, 21, 36], "gap": [6, 23, 35, 46], "125": 6, "determin": [6, 8, 14, 21, 41, 42, 44, 46], "taper_length": [6, 20], "taper_width_in": 6, "taper_width_out": 6, "taper_c": 6, "bodi": [6, 21], "rect": 6, "size": [6, 8, 13, 14, 19, 20, 21, 24, 32, 34, 35, 36, 46], "none": [6, 36, 41, 44, 46], "port_width": 6, "port_cent": 6, "o3": [6, 11, 19, 21, 36, 46], "o4": [6, 11, 19, 21, 36], "mmi_ref": 6, "shift": [6, 22, 30], "shorthand": [6, 22], "taper_ref": 6, "_": [6, 36], "rang": [6, 13, 14, 18, 30, 36], "enumer": [6, 44], "destin": [6, 19, 46], "alon": [6, 22, 41], "expos": [6, 22, 32], "ref": 6, "f": [6, 8, 15, 35, 36, 41, 44], "auto_rename_port": 6, "consist": [6, 18, 22, 40], "simpler": [6, 36], "find": [6, 8, 13, 21, 23, 28, 35, 39], "math": 6, "fit": [6, 32], "yourself": 6, "often": [6, 11, 24, 32, 33, 35, 36, 42, 46], "swap": [6, 22, 34], "redo": 6, "inlin": [6, 15], "rect_ref": 6, "figur": [6, 29, 31, 36, 40, 44, 46], "put": [6, 8, 15, 20, 21, 23, 34, 36], "manufactur": [6, 9, 11, 13, 15, 21, 22, 30, 40, 42, 46], "share": [6, 8, 14, 35], "tool": [6, 12, 13, 15, 16, 18, 28, 32, 33, 38, 41, 45], "potenti": [6, 24, 32, 36], "lumer": [6, 36], "fix": [6, 23, 24, 33], "write_gd": [6, 19, 20, 23, 36], "suppli": [6, 30], "path": [6, 8, 12, 14, 16, 18, 22, 32, 36, 45], "current": [6, 30, 34], "directori": [6, 8, 14, 21, 23, 35], "sometim": [6, 8, 11, 14, 33], "necessari": [6, 11, 13, 33, 34, 41], "perhap": [6, 24], "meep": [6, 8, 13, 14, 15, 19, 21, 33, 35, 41, 46], "Or": 6, "were": [6, 11, 14, 32, 33, 34, 35, 43], "given": [6, 8, 11, 14, 22, 33, 35, 36, 42, 44], "fab": [6, 18, 32, 46], "while": [6, 8, 12, 16, 18, 22, 24, 27, 31, 32, 33, 34, 35, 36, 38, 39, 43, 44, 46], "ha": [6, 8, 11, 14, 16, 18, 22, 23, 24, 32, 33, 34, 35, 36, 40, 41, 43], "convert": [6, 11, 13, 32, 44], "step": [6, 8, 11, 15, 18, 23, 25, 28, 32, 35, 45], "after": [6, 20, 22, 23, 33, 35, 36], "convers": 6, "get": [6, 8, 11, 12, 18, 20, 21, 22, 23, 32, 35, 36, 44, 45, 46], "branch": [6, 22, 27], "siepic": [6, 22, 23, 28], "ebeam": [6, 22, 28], "ebeam_y_1550": [6, 23], "github": [6, 15, 17, 22], "import_gd": [6, 36], "filenam": [6, 46], "splitter": [6, 11, 22, 23, 32, 46], "read": [6, 8, 16, 18, 22, 24, 32, 33, 36], "manual": [6, 32, 42, 45], "hover": 6, "mous": 6, "examin": 6, "themselv": 6, "midpoint": 6, "7": [6, 8, 33], "75": [6, 8, 22, 36, 41], "separ": [6, 19, 22], "straight": [6, 19, 34, 36, 43, 46], "bend": [6, 19, 23, 32, 35], "radiu": [6, 23, 35], "recal": [6, 22], "canva": 6, "straight_ref": 6, "bend_ref": 6, "pick": 6, "recreat": [6, 33], "racetrack": [6, 35], "coupler": [6, 11, 13, 18, 21, 22, 23, 25, 27, 32, 34, 35, 46], "camacholab": [7, 15], "sequoia": [7, 15, 18], "ploeg": [7, 15], "ph": 7, "candid": 7, "ryan": [7, 15], "camacho": [7, 15], "associ": [7, 13], "professor": 7, "elis": 7, "bangert": 7, "undergradu": 7, "research": 7, "joel": 7, "kartchner": 7, "chandler": 7, "parkin": 7, "noah": 7, "bailei": 7, "kevin": 7, "richin": 7, "small": [8, 13, 16, 30, 31, 39], "transfer": [8, 30, 32, 35], "light": [8, 11, 13, 14, 21, 22, 27, 29, 30, 32, 34, 35, 36, 40, 41, 42, 43], "multipl": [8, 11, 13, 15, 18, 35, 36, 43], "eigenmod": [8, 21, 35], "mode": [8, 13, 19, 21, 22, 32, 35, 36, 42, 43, 46], "field": [8, 11, 14, 21, 22, 32, 34, 36, 41, 43, 45, 46], "outsid": [8, 24, 27, 41, 44], "evanesc": [8, 34, 41], "second": [8, 11, 14, 22, 29, 30, 33, 36, 41, 44, 46], "propag": [8, 22, 29, 34, 35, 36, 41, 43], "us": [8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 40, 41, 42, 43, 44, 45, 46], "photon": [8, 11, 13, 14, 15, 16, 17, 18, 21, 22, 27, 28, 31, 33, 34, 35, 36, 40, 42, 43, 45, 46], "amount": [8, 14, 22, 30, 33, 35, 36], "thing": [8, 15, 18, 33, 38, 39, 41, 46], "region": [8, 18, 21, 29, 31, 32, 36, 46], "enough": [8, 32, 38, 44], "incid": [8, 11, 44], "distanc": [8, 21, 35, 40], "materi": [8, 14, 15, 18, 20, 21, 24, 27, 29, 30, 31, 32, 34, 35, 36, 40, 41, 42, 44, 46], "produc": [8, 22], "g": [8, 12, 15, 18, 32, 35, 36, 42, 44, 46], "50": [8, 13, 19, 22, 46], "25": [8, 14, 18, 20, 22, 36, 44], "fraction": [8, 21, 46], "geometr": [8, 13, 14, 21, 28, 32, 35], "describ": [8, 14, 22, 29, 31, 32, 34, 35, 38, 43], "kappa": [8, 35], "frac": [8, 14, 22, 35, 36, 42, 44], "p_": 8, "p_0": 8, "cl": 8, "coeffici": [8, 22, 35, 44], "l": [8, 22, 35], "found": [8, 23, 39, 41, 42], "analysi": [8, 13, 14], "system": [8, 12, 13, 14, 15, 18, 21, 28, 33, 35, 38, 39], "odd": 8, "antisymmetr": 8, "occur": [8, 21, 22, 35, 44], "circ": [8, 36], "similarli": 8, "symmetr": [8, 11, 36, 46], "user": [8, 12, 24, 33, 45], "permitt": [8, 27], "clad": [8, 14, 18, 32, 34, 40, 41, 42, 44, 46], "refract": [8, 14, 18, 22, 27, 29, 30, 31, 34, 40, 41, 42], "indic": [8, 14, 29, 35, 42, 44], "valu": [8, 11, 18, 22, 23, 33, 34, 36, 41, 44], "rel": [8, 20, 22, 28, 29, 30, 32, 33, 36, 46], "increas": [8, 14, 30, 31, 35, 42], "decreas": [8, 14, 42], "notic": [8, 22, 24, 29, 34, 41, 42, 44], "intens": [8, 14, 21, 22, 35, 36, 46], "insid": [8, 35, 41], "gplugin": [8, 19, 33, 41], "gm": [8, 11, 19, 41], "find_modes_coupl": 8, "core_width": [8, 41], "core_materi": [8, 41], "clad_materi": [8, 36, 41], "core_thick": [8, 41], "22": [8, 36, 45], "resolut": [8, 11, 14, 20, 21, 35, 36, 41, 46], "40": [8, 18, 19, 36, 41, 46], "sz": [8, 41], "nmode": [8, 41], "m1": [8, 18, 41], "m2": [8, 35, 41], "look": [8, 11, 23, 24, 27, 33, 36, 39, 43, 46], "big": 8, "print": [8, 11, 13, 22, 36, 41], "neff": [8, 41], "dielectr": [8, 41, 46], "sidebar": 8, "plot_ep": 8, "plot_ei": [8, 41], "abov": [8, 11, 14, 18, 22, 30, 32, 35, 36, 41, 43, 44, 46], "happen": [8, 35], "desir": [8, 12, 14, 29, 32, 36], "delta": [8, 22, 35], "n": [8, 17, 18, 19, 21, 22, 31, 32, 33, 35, 36, 44], "lambda": [8, 14, 22, 35, 42], "n_": [8, 14, 35, 42, 44], "eff": [8, 14, 35, 42], "find_coupling_vs_gap": 8, "crossov": 8, "tabl": 8, "detail": [8, 14, 22, 39], "ne": 8, "unit": [8, 29, 30, 35], "mu": [8, 22], "m": [8, 15, 21, 22, 33, 35, 36], "lc": 8, "dn": 8, "exponenti": [8, 41], "relationship": [8, 11, 22, 30, 31], "cdot": 8, "variou": [8, 22, 23, 32, 38], "oper": [8, 18, 21, 22, 30, 31, 32, 33, 34, 35, 38], "mp": [8, 11, 14, 19, 20, 21, 23, 35, 36, 41, 46], "gap1": 8, "gap2": 8, "11": [8, 18, 19, 22, 23, 33, 36, 41], "55": [8, 14, 20, 21, 22, 35, 36, 46], "pariti": [8, 41], "even_i": [8, 36], "463631": 8, "409798": 8, "14": 8, "396530": 8, "053832": 8, "460647": 8, "410682": 8, "15": [8, 11, 19, 22, 35, 44], "510925": 8, "049965": 8, "12": [8, 14, 18, 36], "459734": 8, "411797": 8, "16": [8, 18, 36, 41], "166968": 8, "047937": 8, "13": [8, 19, 36], "452682": 8, "411449": 8, "18": [8, 18, 36], "795515": 8, "041233": 8, "448745": 8, "412270": 8, "21": [8, 36, 44], "247526": 8, "036475": 8, "447691": 8, "414688": 8, "23": [8, 15, 36], "482841": 8, "033003": 8, "447658": 8, "416929": 8, "220085": 8, "030729": 8, "17": [8, 36, 44], "447685": 8, "418000": 8, "26": [8, 36, 44], "107513": 8, "029685": 8, "8": [8, 11, 22, 36, 46], "442283": 8, "416295": 8, "29": [8, 23, 36], "821729": 8, "025988": 8, "9": [8, 36, 44, 46], "19": [8, 18, 36], "439496": 8, "416231": 8, "33": [8, 36], "311196": 8, "023265": 8, "20": [8, 11, 19, 20, 21, 22, 23, 35, 36, 44], "438256": 8, "417123": 8, "36": [8, 36], "672851": 8, "021133": 8, "own": [8, 15, 17, 18, 22, 24, 32, 33, 38], "normal": [8, 14, 36, 45], "constant": [8, 22, 31, 35], "beta": [8, 21, 22, 35, 46], "travel": [8, 14, 22, 29, 31, 35, 41, 42, 44], "down": [8, 22, 33, 36, 41], "oscil": [8, 29, 43], "beat": [8, 21], "One": [8, 24, 28, 32, 34, 40], "over": [8, 12, 14, 21, 32, 35, 36, 40], "smaller": [8, 34, 35], "faster": [8, 31, 36], "sinc": [8, 11, 13, 22, 33, 35, 36, 38, 39, 41, 46], "shorter": [8, 22, 30, 42], "give": [8, 11, 14, 15, 22, 23, 33, 35, 36, 38], "begin": [8, 21, 22, 42, 44], "l_": [8, 21, 22], "nonumb": 8, "multipli": [8, 36], "_1": [8, 21], "l_x": 8, "_2": 8, "n_1": 8, "n_2": 8, "Of": [8, 24, 44], "don": [8, 17, 22, 30, 33, 38, 42, 45, 46], "oftentim": 8, "60": 8, "receiv": 8, "equat": [8, 13, 14, 21, 22, 30, 32, 41, 42], "further": [8, 11, 22, 34, 36], "explor": [8, 34, 43, 45], "send": [8, 16, 34], "affect": [8, 14, 21, 22, 30, 42, 43, 46], "minut": 8, "setup": [8, 13, 32, 33, 38, 39, 45], "gif": [8, 14, 21, 35], "typic": [8, 13, 14, 24, 28, 30, 31, 32, 40, 42], "practic": [8, 15, 22, 33], "si": [8, 14, 20, 21, 35, 36, 41], "medium": [8, 14, 20, 21, 35, 36, 46], "sio2": [8, 14, 18, 20, 21, 35, 36, 41], "um": [8, 14, 21, 22, 36], "wvl": [8, 14, 20, 21, 35], "cell": [8, 14, 21, 23, 32, 35, 36], "wg_width": [8, 35], "dpml": [8, 21, 36], "pad": [8, 21, 35], "07": 8, "lx": 8, "30": [8, 14, 36, 44, 46], "sx": [8, 20, 21, 35, 46], "sy": [8, 20, 21, 35, 41, 46], "wg_center_i": 8, "pml": [8, 14, 20, 21, 35, 36, 46], "perfectli": [8, 21, 22, 36], "infinit": 8, "long": [8, 22, 33, 35, 36, 40, 45], "vector3": [8, 14, 20, 21, 35, 36, 46], "puls": [8, 14, 21, 35], "fcen": [8, 14, 20, 21, 35, 36], "fwidth": [8, 14, 20, 21, 35, 36], "src": [8, 20, 21, 35, 36], "gaussiansourc": [8, 14, 20, 21, 35, 36], "frequenc": [8, 11, 13, 14, 20, 21, 22, 29, 30, 31, 34, 35, 44, 46], "eigenmodesourc": [8, 20, 21, 35, 36, 46], "eig_band": [8, 20, 21, 35, 36, 46], "eig_kpoint": [8, 20, 21, 35, 36], "sim": [8, 11, 14, 20, 21, 35, 36, 46], "cell_siz": [8, 11, 14, 20, 21, 35, 36, 46], "boundary_lay": [8, 14, 20, 35, 36, 46], "default_materi": [8, 20, 35, 36, 46], "set": [8, 11, 13, 14, 15, 18, 21, 22, 23, 32, 33, 35, 36, 39, 41, 44, 45], "plot2d": [8, 11, 14, 20, 21, 35, 36, 46], "warn": [8, 36, 44], "grid": 8, "volum": [8, 36, 42, 46], "integ": [8, 18, 35], "pixel": [8, 36], "round": [8, 32, 35], "nearest": 8, "ax": [8, 22, 36, 41, 44], "pil": [8, 14, 21, 35], "imag": [8, 14, 22, 35, 46], "glob": [8, 14, 21, 35], "os": [8, 14, 21, 35, 36, 38], "reset_meep": [8, 36], "captur": [8, 14, 21, 35], "at_begin": [8, 14, 21, 35], "output_epsilon": [8, 14, 21, 35], "to_append": [8, 14, 21, 35], "ez": [8, 14, 21, 35, 46], "at_everi": [8, 14, 21, 35], "output_efield_z": [8, 14, 21, 35], "until": [8, 11, 14, 21, 35, 36, 46], "200": [8, 11, 14, 19, 21, 35, 36], "gener": [8, 11, 13, 14, 18, 21, 22, 24, 29, 30, 32, 33, 35, 41, 43], "png": [8, 14, 21, 22, 35], "colormap": [8, 14, 21, 35], "work": [8, 21, 23, 24, 33, 35, 36, 43], "h5py": [8, 14, 21, 35], "instal": [8, 12, 13, 14, 16, 19, 21, 23, 28, 33, 35, 36, 38, 39, 41, 45], "problem": [8, 14, 15, 21, 30, 35], "h5util": [8, 14, 21, 35], "h5topng": [8, 14, 21, 35], "99": [8, 14], "r": [8, 14, 21, 33, 35, 44], "zc": [8, 14, 21, 35], "rdbu": [8, 14, 21, 35, 36, 46], "ep": [8, 14, 21, 35], "000000": [8, 14, 21, 35], "00": [8, 14, 21, 35, 44], "h5": [8, 14, 21, 35], "grai": [8, 14, 21, 35, 41], "frame": [8, 14, 21, 35], "img": [8, 14, 21, 35], "sort": [8, 14, 21, 32, 35], "new_fram": [8, 14, 21, 35], "append": [8, 14, 21, 35, 36], "loop": [8, 14, 21, 35, 36], "forev": [8, 14, 21, 35], "append_imag": [8, 14, 21, 35], "save_al": [8, 14, 21, 35], "clean": [8, 14, 21, 35], "workspac": [8, 14, 21, 35], "delet": [8, 14, 21, 33, 35], "invalid": [8, 14, 44], "circumv": [8, 14], "issu": [8, 14], "chosen": [8, 14, 42, 44], "sensit": [8, 14, 21, 32], "fabric": [8, 9, 13, 15, 18, 23, 28, 30, 32], "variat": [8, 21], "robust": [8, 21, 33], "element": [8, 13, 19, 22, 30, 42], "principl": [8, 13, 14, 15, 18, 21, 36, 44], "behind": [8, 22, 32], "interfer": [8, 13, 14, 21, 22, 29, 34, 35, 46], "nearbi": 8, "chip": [8, 13, 14, 16, 17, 18, 22, 27, 32, 33], "parasit": 8, "too": [8, 13, 18, 22, 33, 35, 38, 43], "lead": [8, 34, 35, 42], "leak": [8, 46], "far": [8, 11, 34, 35], "apart": 8, "silicon": [8, 13, 14, 22, 31, 32, 36, 40, 41, 44, 46], "answer": [8, 22, 33, 44], "approxim": [8, 13, 18, 30, 35], "135": 8, "micron": [8, 14, 18, 22, 41], "luka": [8, 14, 46], "chrostowski": [8, 14, 46], "stefan": 8, "prebl": 8, "facil": [9, 15, 32], "simul": [11, 13, 14, 15, 18, 20, 23, 25, 28, 32, 41, 44, 46], "devic": [11, 13, 15, 16, 18, 21, 22, 23, 27, 28, 29, 31, 46], "befor": [11, 22, 24, 28, 32, 33, 36], "idea": [11, 23, 33], "perform": [11, 13, 15, 32, 33], "plugin": [11, 36], "finit": [11, 13, 32, 33, 41], "domain": [11, 13, 33, 36, 44], "algorithm": [11, 33], "fdtd": [11, 13, 15, 33, 36], "turn": [11, 22, 30, 35, 36, 41], "component_from_gd": 11, "py": [11, 22, 23, 36, 44], "func": [11, 36], "get_simul": [11, 21], "get_meep_geometry_from_compon": [11, 21, 36], "grate": [11, 13, 18, 22, 23, 25, 32], "fiber": [11, 13, 14, 18, 22, 32, 34], "connect": [11, 15, 18, 19, 22, 32, 36, 46], "howev": [11, 15, 22, 23, 24, 28, 34, 35, 36, 38, 46], "suffic": 11, "tutori": [11, 22, 23, 36], "tidy3d": [11, 21, 42], "implement": [11, 30], "tpml": [11, 21, 36], "port_source_offset": [11, 21, 36], "port_monitor_offset": [11, 21, 36], "distance_source_to_monitor": [11, 21], "32": [11, 19, 36], "scatter": [11, 22, 35, 43], "tell": [11, 13, 23, 33, 35, 43], "port": [11, 13, 18, 19, 20, 21, 22, 23, 35, 46], "purpos": [11, 17, 24, 29, 42], "write_sparameters_meep": 11, "3d": [11, 18, 34, 36], "margin": 11, "account": [11, 12, 45], "kwarg": [11, 36], "fals": [11, 18, 23, 36, 41, 44], "wast": 11, "incorrectli": 11, "2d": [11, 14, 20, 34, 36], "comprehens": [11, 43], "dictionari": [11, 18, 21, 22], "kei": [11, 14, 22, 34, 36], "form": [11, 22, 30, 36], "refer": [11, 13, 15, 32, 35, 42, 43], "go": [11, 15, 16, 21, 23, 24, 25, 28, 29, 35, 36, 38, 45, 46], "symmetri": [11, 36], "port_symmetri": [11, 36], "assign": [11, 32, 36], "1x2": [11, 13, 21], "comput": [11, 13, 15, 22, 33, 35, 36, 39, 45], "written": [11, 15], "thu": [11, 46], "write_sparamters_meep_mpi": 11, "write_sparameters_meep_batch": 11, "per": [11, 13, 29], "total": [11, 18, 34, 36, 41], "write_sparameters_gr": 11, "batch": 11, "write_sparameters_grating_mpi": 11, "write_sparameters_grating_batch": 11, "adequ": 11, "xmargin_left": [11, 36], "xmargin_right": [11, 36], "sp": [11, 36], "plot_sparamet": 11, "reflect": [11, 14, 18, 21, 27, 34, 35, 36, 41, 46], "wave": [11, 13, 14, 21, 22, 29, 35, 41, 42, 43, 44], "why": [11, 34, 43], "program": [12, 13, 16, 33, 39], "environ": [12, 15, 17, 23, 24, 38, 39], "uncommon": 12, "roll": [12, 24], "back": [12, 14, 32, 35, 36, 44, 46], "break": [12, 33], "someth": [12, 33], "product": [12, 44], "version": [12, 22, 24, 36, 45], "control": [12, 17, 22, 24], "vc": 12, "extrem": [12, 24], "who": [12, 24], "simultan": [12, 43], "edit": [12, 32, 45], "rather": [12, 32], "painlessli": 12, "predomin": 12, "programm": [12, 24], "todai": 12, "command": [12, 13, 17, 22, 33, 41, 45], "entir": [12, 13, 15, 34, 36], "ecosystem": 12, "host": [12, 15, 33], "servic": 12, "gui": [12, 38], "id": [12, 39], "sprung": 12, "alreadi": [12, 22, 28, 32], "linux": [12, 13, 16, 33, 38, 39, 45], "temin": 12, "enter": [12, 22, 35, 36], "machin": [12, 13, 33, 38, 45], "window": [12, 13, 16, 28, 33, 38, 44], "packag": [12, 15, 16, 17, 18, 19, 22, 23, 28, 36, 38, 41], "mac": [12, 16, 33, 38], "forc": [12, 24], "wsl": [12, 13, 33, 38], "still": [12, 31, 33, 34, 46], "download": [12, 15, 16, 33, 39, 45], "link": [12, 31, 33], "maco": [12, 13, 33, 38, 39], "xcode": 12, "termin": [12, 33, 36, 38, 39, 45], "select": [12, 16, 18, 45], "through": [12, 15, 22, 23, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 38, 39, 41, 42, 43, 45], "debian": 12, "distribut": [12, 13, 19, 23, 24, 33, 41], "ubuntu": [12, 33, 38, 45], "sudo": 12, "apt": 12, "rpm": 12, "fedora": 12, "rhel": 12, "cento": 12, "dnf": 12, "known": [12, 14, 22, 24, 33, 35, 39, 40, 41, 43, 44], "free": [12, 13, 14, 15, 16, 24, 30, 32, 33, 42], "privat": 12, "bootcamp": [12, 15, 18], "along": [12, 14, 41, 43, 44], "popular": [12, 24, 33, 39, 40], "python": [12, 13, 15, 16, 18, 32, 36, 38, 39, 44], "keep": [12, 15, 33, 36], "definit": [13, 24], "throughout": [13, 22], "mathemat": [13, 22, 32], "descript": 13, "behavior": [13, 22, 32, 34, 35, 36, 43, 44, 46], "cutback": 13, "techniqu": 13, "measur": [13, 14, 21, 22, 30, 36, 42], "attenu": [13, 32], "transmiss": [13, 22, 29, 35, 36, 44], "delai": [13, 32], "count": 13, "etc": [13, 18, 32, 33, 36, 42], "drc": [13, 16, 18, 32], "verifi": [13, 33, 36], "ensur": [13, 22, 32, 33, 35, 36, 46], "error": [13, 18, 21, 28, 41], "caus": [13, 22, 31, 35], "fail": 13, "short": [13, 14, 16, 22, 24, 31], "featur": [13, 16, 23, 32, 33, 39, 41, 42], "resolv": [13, 44], "drastic": 13, "foundri": 13, "minimum": [13, 21, 32], "space": [13, 14, 19, 23, 30, 32, 42], "numer": [13, 35, 41], "electrodynam": 13, "solut": 13, "differenti": [13, 30, 41], "method": [13, 15, 17, 20, 22, 24, 32, 33, 36, 38], "cover": [13, 15], "singl": [13, 15, 21, 22, 23, 32, 35, 38, 46], "primari": 13, "avail": [13, 15, 16, 18, 23, 24, 32, 33, 38], "platform": [13, 15, 33], "yaml": [13, 19, 23], "flow": [13, 28], "gd": [13, 14, 15, 16, 18, 19, 23, 28, 32, 33, 36, 38, 46], "graphic": 13, "coupl": [13, 14, 22, 23, 24, 32, 46], "reson": [13, 27, 28], "instrument": [13, 17, 21], "util": [13, 14, 18, 21, 22, 24, 36], "beam": [13, 14, 21, 22, 34], "multi": 13, "split": [13, 21, 22, 36], "ideal": [13, 14, 22, 34], "nearli": 13, "imposs": 13, "polygon": [13, 32], "electron": [13, 28, 34], "digit": [13, 28], "dry": 13, "modif": 13, "replic": 13, "insul": [13, 40], "soi": [13, 18, 32, 40, 44], "technolog": [13, 19, 23, 32, 36], "substrat": [13, 14, 18, 32, 40, 41], "semiconductor": 13, "wafer": [13, 32, 40], "vscode": [13, 33], "studio": [13, 38], "commonli": [13, 24, 33, 35, 42], "vs": [13, 39], "editor": [13, 15, 38, 39], "microsoft": [13, 38, 39], "support": [13, 15, 17, 18, 21, 31, 42, 43], "debug": [13, 33, 36], "syntax": [13, 17, 33, 41], "highlight": 13, "intellig": 13, "snippet": 13, "refactor": [13, 33], "embed": [13, 15], "git": [13, 18], "wikipedia": 13, "subsystem": [13, 38], "bash": [13, 33, 45], "directli": [13, 15, 18, 20], "unmodifi": 13, "overhead": 13, "tradit": [13, 40], "virtual": [13, 17, 38], "dual": 13, "boot": 13, "diffract": 14, "cabl": [14, 32], "edg": [14, 25], "teeth": 14, "drawn": [14, 34], "onto": [14, 25, 32, 40, 45], "altern": [14, 36, 45], "structur": 14, "propog": [14, 22, 32], "hyugen": 14, "fresnel": [14, 44], "bragg": 14, "law": [14, 41, 44], "depict": [14, 34, 42], "orthogon": [14, 34, 43], "arrai": [14, 22, 23, 36, 44], "might": [14, 18, 22, 33, 46], "imagin": [14, 22, 35], "hold": [14, 24, 36], "catch": 14, "cell_x": [14, 36], "cell_i": [14, 36], "x_offset": 14, "nanomet": 14, "num_teeth": 14, "waveguide_depth": 14, "220": [14, 18, 22, 36], "etch_depth": 14, "068": 14, "grating_period": 14, "659": 14, "fill_factor": 14, "524": 14, "verbos": [14, 36, 46], "inf": [14, 20], "epsilon": [14, 36], "cladding_depth": 14, "box_depth": 14, "box": [14, 18, 28, 36, 39, 44], "substrate_depth": 14, "700": 14, "df": [14, 36], "pml_layer": [14, 20], "500": [14, 22], "savefig": 14, "grating_coupler_plot": 14, "encount": [14, 24, 44], "recogn": 14, "discuss": [14, 34], "page": [14, 18, 23, 33, 34, 36, 41, 45, 46], "demonstr": [14, 36, 44], "been": [14, 32, 33, 34, 36], "1550": 14, "appropri": [14, 22, 33, 34], "three": [14, 18, 21, 22, 36, 43], "understand": [14, 23, 36, 43, 44], "simplifi": [14, 22, 34], "view": [14, 16, 18, 38], "denot": [14, 21], "effici": [14, 22], "relat": [14, 18, 34, 41], "angl": [14, 22, 34, 36], "condit": [14, 22, 24, 35, 41], "theta_": 14, "air": [14, 44], "compar": [14, 31, 35, 42], "surfac": 14, "choos": [14, 20, 34, 41], "exactli": [14, 22, 36], "90": [14, 22, 36, 46], "degre": [14, 22, 30, 44], "byproduct": [14, 31], "larg": [14, 33, 46], "indcu": 14, "twice": 14, "avoid": [14, 33], "slightli": [14, 21, 22, 31, 42, 46], "less": [14, 24, 32, 34, 35, 36, 46], "area": [14, 32, 33, 44], "overal": 14, "weight": [14, 46], "unetch": 14, "ratio": [14, 21, 35, 36, 44, 46], "ff": 14, "w": 14, "welcom": 15, "present": [15, 18, 21, 34], "onlin": [15, 24], "freeli": [15, 24, 33], "resourc": [15, 31], "teach": 15, "student": 15, "curriculum": 15, "background": [15, 16, 22, 24], "motiv": 15, "full": [15, 24, 32, 33, 34, 35, 41], "learner": 15, "guid": [15, 32, 38, 40, 42, 44], "submit": [15, 24, 28], "wish": [15, 24], "simphoni": [15, 22, 23, 28, 33, 36], "submiss": [15, 32], "pic": 15, "post": 15, "instruct": [15, 23, 28, 33, 38, 39, 45], "contribut": [15, 24], "subject": 15, "matter": [15, 36], "expert": 15, "futur": [15, 33], "expans": 15, "fork": 15, "parti": 15, "custom": [15, 24], "train": 15, "websit": [15, 24], "explanatori": 15, "webpag": 15, "launch": [15, 36], "colab": 15, "local": [15, 17, 36, 38], "immedi": [15, 33], "alwai": [15, 22, 23, 33, 46], "workflow": 15, "approach": 15, "introduc": [15, 22, 24, 30, 33, 46], "bother": 15, "mention": [15, 18, 24], "possibl": [15, 43], "configur": [15, 18, 23, 35, 38], "ahead": 15, "standard": [15, 38, 46], "ardavan": 15, "oskooi": 15, "david": 15, "roundi": 15, "mihai": 15, "ibanescu": 15, "peter": 15, "bermel": 15, "john": 15, "joannopoulo": 15, "steven": 15, "johnson": 15, "flexibl": [15, 32, 35], "electromagnet": [15, 41, 43, 46], "physic": [15, 25, 31, 42], "commun": [15, 24, 33], "181": 15, "687": 15, "702": 15, "2010": 15, "hyrum": 15, "gunther": 15, "framework": [15, 17], "scienc": 15, "65": 15, "74": 15, "2020": 15, "joaquin": 15, "matr": 15, "2023": 15, "url": [15, 24], "http": [15, 22, 24, 34, 45], "io": 15, "verif": [16, 28], "viewer": [16, 38], "trace": [16, 40], "net": 16, "detect": [16, 32], "scriptabl": 16, "languag": [16, 33], "rubi": 16, "extens": [16, 39], "extern": [16, 22], "json": 16, "request": 16, "server": [16, 17, 36], "hot": 16, "reload": 16, "rerun": 16, "manag": [16, 38], "Then": [16, 23, 36, 45, 46], "search": 16, "doubl": [16, 22, 28, 35], "click": [16, 25, 28, 39, 45], "pyro5": 17, "remot": 17, "access": [17, 18, 24, 33, 35], "equip": 17, "lab": 17, "favor": [17, 40], "usb": 17, "proprietari": [17, 24], "brand": 17, "unifi": 17, "intrument": 17, "easi": [17, 22, 28, 30, 33], "pip": [17, 23, 33, 38], "conda": [17, 23, 38, 45], "environment_nam": 17, "activ": [17, 19, 23, 24, 27, 29, 33, 45], "updat": [17, 22, 36], "pypi": [17, 33, 38], "upgrad": [17, 23, 33], "visit": 17, "interrog": 17, "station": 17, "interfac": [17, 33, 38, 41, 43], "fore": 17, "whether": [18, 24, 32], "etch": [18, 32, 40, 42], "deposit": [18, 32, 40], "dope": [18, 31, 32], "metal": [18, 30, 32], "p": [18, 31, 32], "translat": [18, 32, 36], "mask": [18, 32], "formal": 18, "state": [18, 24, 35, 36], "255": 18, "modern": [18, 33, 38], "almost": [18, 35, 46], "dedic": [18, 24], "nitrid": 18, "lithium": [18, 44], "niobat": [18, 44], "whichev": 18, "decid": 18, "thin": 18, "top": [18, 22], "dioxid": [18, 40, 44], "thick": [18, 22, 35, 36, 41], "buri": 18, "oxid": 18, "main": [18, 27, 32, 33, 35], "intern": [18, 34, 41], "48": [18, 22], "excel": [18, 31, 33], "refractiveindex": 18, "info": [18, 22], "color": [18, 39, 42, 44], "fill": 18, "map": [18, 22], "human": [18, 22], "readabl": [18, 22, 36], "properti": [18, 29, 31, 32, 41, 42, 45], "lyp": 18, "migrat": 18, "few": [18, 23, 24, 33, 35, 38, 39, 42], "devrec": 18, "recognit": 18, "show_port": 18, "marker": 18, "label_inst": 18, "netlist": 18, "te": [18, 22, 34, 36, 41, 43, 44], "polar": [18, 21, 22, 23, 29, 32, 34, 36, 41], "tm": [18, 22, 23, 43, 44], "pydant": [18, 36], "class": [18, 24, 28], "partial": [18, 31, 34, 43], "germanium": 18, "photodiod": 18, "vari": [18, 22], "concentr": 18, "pn": 18, "junction": 18, "capacitor": [18, 32, 42], "depth": 18, "exclud": 18, "dice": 18, "lane": 18, "reserv": 18, "violat": 18, "reader": 18, "basemodel": 18, "wg": [18, 19, 36], "slab150": 18, "68": 18, "201": 18, "206": 18, "203": 18, "204": 18, "66": 18, "41": [18, 23], "43": [18, 36], "config": [18, 22, 23, 33, 36], "frozen": 18, "extra": [18, 33, 36, 42], "forbid": 18, "32m2023": 18, "06": [18, 19], "227": 18, "0m": [18, 19, 22, 23, 36, 41], "1minfo": [18, 19, 23, 36, 41], "36mgdsfactori": [18, 19, 23, 36], "36m__init__": [18, 19, 23], "36m204": 18, "1mloglevel": 18, "visibl": 18, "export": [18, 20, 23], "hatch_pattern": 18, "dot": 18, "ff9d9d": 18, "layer_in_nam": 18, "coars": 18, "transpar": 18, "cyan": 18, "01ff6b": 18, "bright": 18, "hollow": 18, "cc4c00": 18, "label_optical_io": 18, "blue": [18, 34, 36, 41, 43, 44], "label_set": 18, "202": 18, "magenta": 18, "red": [18, 34, 36, 43, 44], "lightli": 18, "hatch": 18, "004080": 18, "pinrec": 18, "404040": 18, "xsection": 18, "group_memb": 18, "xs_box": 18, "300": 18, "f3ff80": 18, "solid": 18, "xs_si": 18, "301": 18, "black": [18, 44], "xs_si_slab": 18, "313": 18, "80a8ff": 18, "xs_overlai": 18, "311": 18, "xs_ox_si": 18, "302": [18, 23], "xs_via": 18, "303": 18, "grei": 18, "xs_m1": 18, "304": 18, "green": [18, 44], "xs_oxide_m1": 18, "305": 18, "308": 18, "ff80a8": 18, "wg_pin": 18, "klayout_lyp": 18, "posixpath": [18, 19, 23], "home": [18, 19, 23, 35, 36, 41], "env": [18, 19, 22, 23, 33, 35, 36, 41], "lib": [18, 19, 22, 23, 36, 41], "python3": [18, 19, 22, 23, 36, 41], "site": [18, 19, 22, 23, 24, 36, 41], "generic_tech": [18, 19, 23], "tech": 18, "npp": 18, "pp": 18, "ppp": 18, "Be": [18, 22], "sure": [18, 20, 23, 24, 28, 36], "tkagg": 19, "patch": [19, 33, 41], "ipympl": 19, "32m2024": [19, 23, 36, 41], "02": [19, 36], "847": 19, "36mgplugin": [19, 41], "gmeep": [19, 20, 21, 41], "36m": [19, 23, 41], "modul": [19, 23, 27, 29, 30, 31, 32, 41], "36m39": [19, 41], "1mmeep": [19, 41], "28": [19, 36, 41], "parkeraa": [19, 23, 41], "miniconda3": [19, 22, 23, 35, 36, 41], "ubcpdk": [19, 23], "uc": [19, 23], "conf": [19, 23], "display_typ": [19, 23], "721": 19, "layer_view": [19, 23], "36m790": [19, 23], "1mimport": [19, 23], "layerview": [19, 23], "755": 19, "36mubcpdk": [19, 23], "36m30": [19, 23], "1mfound": [19, 23], "831": 19, "834": 19, "36mactiv": [19, 23], "36m307": [19, 23], "1m": [19, 23], "mzi": [19, 23], "delta_length": [19, 22, 23], "80": 19, "length_x": [19, 23], "length_i": [19, 23], "te_mzi": [19, 23], "add_fiber_arrai": [19, 23], "component_nam": [19, 23], "mycoolmzi1": [19, 23], "spiral_external_io": 19, "x_inner_length_cutback": 19, "delay_line_1": 19, "mycooldelayline1": 19, "delay_snake2": 19, "1000": [19, 22], "delay_line_2": 19, "mycooldelayline2": 19, "bend180": 19, "bend_circular180": 19, "r1": [19, 44], "ring_doubl": 19, "r2": 19, "r3": 19, "my_devic": 19, "mydevic": 19, "ring1": 19, "ring2": 19, "ring3": 19, "ebeam_terminator_te1550": 19, "end1": 19, "end2": 19, "end3": 19, "wg1": [19, 41], "wg2": [19, 41], "end4": 19, "my_device_fib": 19, "mycooldevice1": 19, "bend_180": 19, "bend_euler180_sc": 19, "bend1": 19, "bend2": 19, "bend3": 19, "wg_out": 19, "bend4": 19, "rotat": [19, 23], "my_submiss": 19, "mysubmiss": 19, "floorplan": 19, "605": 19, "410": 19, "dl1": 19, "dl2": 19, "my": 19, "ymax": [19, 23], "my_submission_2": 19, "pack": 19, "max_siz": 19, "250": 19, "477": 19, "36m_write_librari": [19, 23, 36], "36m1913": [19, 23], "1mwrote": [19, 23, 36], "meep_adjoint_optim": 20, "straightforward": 20, "get_component_from_sim": 20, "continu": [20, 33, 36, 41], "variabl": [20, 22, 31, 32, 36, 46], "waveguide_width": 20, "arm_separ": 20, "mmi_length": 20, "mmi_width": 20, "taper_width": 20, "pml_size": 20, "taper_x1": 20, "taper_x2": 20, "taper_y1": 20, "taper_y2": 20, "taper_y3": 20, "taper_y4": 20, "prism": [20, 36], "height": [20, 22, 36, 42], "source_center_x": 20, "source_s": 20, "kpoint": 20, "no_direct": [20, 36], "geometry_cent": 20, "gdspath": [20, 23, 36], "2x2mmi": 20, "predict": [21, 22, 32, 43], "certain": [21, 24, 34, 36, 43], "k": [21, 27, 44], "wider": 21, "gradual": 21, "widen": 21, "nxm": 21, "replica": 21, "period": [21, 22, 30], "_0": 21, "wall": [21, 33], "interf": 21, "destruct": [21, 22, 29, 34, 35, 46], "forward": [21, 24, 31, 36], "backward": [21, 33, 36], "word": [21, 24, 29, 34, 46], "excit": 21, "goe": [21, 35, 36, 44, 46], "THE": 21, "TO": 21, "length_mmi": 21, "extend": [21, 24, 36], "extend_port": 21, "port_nam": [21, 22, 36], "299": [21, 35], "evenli": [21, 46], "advantag": [21, 24, 32], "veri": [21, 22, 24, 31, 33, 35, 36, 38, 40, 46], "suscept": [21, 32], "fact": [21, 24, 36], "optimum": 21, "contrast": 21, "mimic": 21, "disadvantag": 21, "switch": [21, 22], "wdm": 21, "divis": 21, "multiplex": 21, "hybrid": 21, "divers": 21, "photodetector": [21, 27, 32], "extract": [22, 41], "doc": [22, 23, 39, 41], "zender": 22, "concept": [22, 32, 33, 34], "recombin": [22, 46], "accumul": [22, 35, 36], "quantum": 22, "piezo": 22, "transduc": 22, "sax": [22, 36], "jax": 22, "nice": [22, 33, 38], "speedup": 22, "gpu": 22, "fine": 22, "cpu": 22, "awar": 22, "jax_enable_x64": 22, "drop": 22, "replac": 22, "jnp": 22, "broken": 22, "constitu": 22, "diagram": [22, 43], "carri": [22, 24], "identifi": 22, "explain": [22, 31, 35, 36, 45], "formul": 22, "s_": [22, 36], "ij": 22, "repres": [22, 34, 35, 36, 42, 43, 44], "j": [22, 35, 36], "stimuli": 22, "signatur": 22, "grating_coupl": [22, 23], "31msignatur": 22, "0msiepic": 22, "34m": 22, "0mgrating_coupl": 22, "0mwl": 22, "0munion": 22, "0mfloat": 22, "0mjax": 22, "0marrai": 22, "36m1": 22, "0mpol": 22, "0mliter": 22, "0mthick": 22, "36m220": 22, "0mdwidth": 22, "36m0": 22, "0mdict": 22, "0mtupl": 22, "0mstr": 22, "0mjaxtyp": 22, "0mcomplex": 22, "31mdocstr": 22, "1550nm": 22, "citat": 22, "_static": 22, "ebeam_gc_te1550": 22, "alt": 22, "ebeam_bdc_te1550": 22, "wl": 22, "evalu": 22, "pol": 22, "210": 22, "230": 22, "dwidth": 22, "nomin": 22, "rais": [22, 36], "valueerror": [22, 36], "com": [22, 24, 34], "siepic_ebeam_pdk": 22, "blob": 22, "master": 22, "20compon": 22, "20with": 22, "20model": 22, "docx": 22, "31mfile": 22, "31mtype": 22, "inspect": [22, 24], "o0": 22, "0307378": 22, "00345908j": 22, "dtype": 22, "complex128": 22, "75686856": 22, "02082852j": 22, "74360676": 22, "09760613j": 22, "0750638": 22, "02585451j": 22, "get_port": 22, "y_branch": 22, "strictli": 22, "enforc": 22, "rewrit": 22, "string": [22, 41], "instance_nam": 22, "whitespac": 22, "delimit": 22, "comma": 22, "composit": 22, "gc_in": 22, "gc": 22, "ybranch": [22, 46], "long_wg": 22, "short_wg": 22, "gc_out": 22, "act": [22, 36], "whatev": 22, "invok": [22, 33], "gave": 22, "becom": [22, 24, 33, 36, 43], "instanti": 22, "unsur": 22, "get_set": 22, "loss": [22, 30, 31, 35, 36, 46], "overkil": 22, "everyth": [22, 36, 45], "els": [22, 33, 36], "stai": 22, "global": 22, "toplevel": 22, "trickl": 22, "150": [22, 35, 36], "transmit": [22, 40, 43, 44], "magnitud": [22, 36, 41, 44], "squar": [22, 35], "renam": 22, "unconnect": 22, "realli": [22, 23, 24, 36, 44], "meaning": 22, "both": [22, 30, 31, 33, 35, 36, 41, 46], "linear": [22, 30, 36, 46], "log": [22, 23, 36], "scale": [22, 32, 35, 46], "mag": 22, "ab": [22, 36], "fig": [22, 41, 44], "subplot": [22, 41, 44], "sharex": [22, 41], "set_ylabel": 22, "log10": [22, 36], "db": [22, 36], "set_xlabel": [22, 44], "suptitl": 22, "dip": 22, "opposit": 22, "peak": [22, 34, 35], "maximum": [22, 35], "better": [22, 42, 43], "think": [22, 32, 33], "equal": [22, 29, 35, 42, 44, 46], "my_compon": 22, "relev": 22, "amplitud": [22, 29, 30, 31, 32, 34, 46], "i_": 22, "e_": [22, 35], "sqrt": 22, "hspace": 22, "2mm": 22, "whose": [22, 36], "undergon": 22, "mw": [22, 30], "lossless": 22, "plane": [22, 43], "e_0": 22, "omega": 22, "z": [22, 36, 41, 43], "beta_": 22, "alpha_": 22, "\u03b1": 22, "appear": 22, "expon": 22, "zero": [22, 36, 41], "lvert": 22, "express": [22, 30], "1450": 22, "longer": [22, 30, 42], "102": 22, "491": [22, 36], "phasa": 22, "heat": [22, 27, 30], "static": 22, "\u03b2": 22, "100\u00b5m": 22, "1500nm": [22, 35], "ouptput": 22, "9mw": 22, "heater": 22, "walk": [23, 25, 41], "prepar": 23, "forg": [23, 33], "gdstk": 23, "plai": 23, "01": [23, 36, 41, 46], "08": 23, "400": 23, "42": 23, "375": 23, "379": 23, "pretti": [23, 33], "doesn": [23, 35, 39, 41, 43], "adjust": [23, 29, 30, 44, 46], "ring_singl": 23, "littl": 23, "bit": [23, 43], "ascii": 23, "though": [23, 33], "ad": [23, 31, 36], "mark": 23, "autom": [23, 32, 36], "openebl": [23, 28], "tester": 23, "usig": 23, "usernam": [23, 35, 45], "yml": 23, "yournam": 23, "restart": [23, 45], "kernel": 23, "flip": 23, "isn": [23, 36, 44], "tm_mzi": 23, "gc_tm1550": 23, "mycoolmzitm": 23, "mzi_togeth": 23, "mzu_togeth": 23, "1569": 23, "userwarn": [23, 36], "unnam": [23, 36], "unnamed_a784d514": 23, "zoom": 23, "lower": [23, 29, 34, 36, 41, 42, 46], "meet": [23, 28, 32], "sai": [23, 28, 29, 35, 39, 43], "opt_in_te_1550_device_yourname_mycoolmzi1": 23, "tmp": [23, 36, 44], "ipykernel_322436": 23, "1677396279": 23, "09": [23, 36], "05": [23, 36, 41], "044": 23, "constitut": [24, 31], "legal": 24, "advic": 24, "date": 24, "corpor": 24, "contact": 24, "attornei": 24, "absolut": 24, "implic": 24, "organ": [24, 41], "particularli": 24, "question": 24, "compani": 24, "incorpor": 24, "inherit": 24, "foss": 24, "availbl": 24, "portion": [24, 34, 44], "anyon": [24, 33], "enhanc": 24, "methodolog": 24, "creation": 24, "peopl": 24, "skill": 24, "context": [24, 34], "monetarili": 24, "under": [24, 35], "restrict": [24, 32], "freedom": 24, "copi": [24, 44, 45], "studi": 24, "improv": 24, "hood": 24, "actual": [24, 36, 46], "strong": 24, "focus": 24, "downsid": 24, "thanklessli": 24, "maintain": [24, 29], "spend": 24, "driven": 24, "psiquantum": 24, "natur": [24, 43], "mainten": 24, "bug": [24, 33], "slower": 24, "commerci": 24, "On": [24, 27, 43, 45], "hand": [24, 35, 39, 43], "garner": 24, "friendli": 24, "copor": 24, "scheme": [24, 36], "confirm": 24, "team": 24, "abil": 24, "plan": 24, "releas": [24, 33], "permiss": 24, "162": 24, "copyright": 24, "remain": [24, 35], "stricter": 24, "deriv": [24, 42, 44], "warranti": 24, "world": [24, 33, 42], "statement": 24, "signific": [24, 46], "attribut": 24, "similar": [24, 41], "rereleas": 24, "grant": 24, "patent": 24, "contributor": 24, "claim": 24, "codebas": 24, "cannot": [24, 44], "liabl": 24, "reason": [24, 34], "trademark": 24, "licensor": 24, "belong": 24, "copyleft": 24, "mandat": 24, "gpl": 24, "v3": 24, "unpopular": 24, "prohibit": 24, "inclus": 24, "prevent": 24, "contamin": 24, "witih": 24, "technic": 24, "offend": 24, "liabil": 24, "binari": [24, 32, 36, 46], "attempt": 24, "pai": [24, 34], "attitud": 24, "necessarili": [24, 33], "impress": 24, "gnu": 24, "notepad": 24, "wordpress": 24, "mysql": 24, "unabl": 24, "sale": 24, "fossa": 24, "editori": 24, "101": 24, "jan": 24, "2021": 24, "blog": 24, "feb": 24, "mar": 24, "skip": [25, 28, 45], "explan": 25, "tune": [27, 29], "scope": [27, 31], "thermo": [27, 30], "slow": 27, "stabl": 27, "electro": [27, 32], "fast": [27, 31], "laser": [27, 32, 35], "buit": 28, "readi": [28, 36, 45], "button": 28, "bu": [28, 35], "signal": [29, 30, 31, 32, 33, 40, 42, 43], "characterist": [29, 42], "ac": 29, "encod": [29, 32], "categor": 29, "tuner": [29, 31], "dure": 29, "bridg": 29, "todo": [29, 31, 42], "insert": [29, 30, 31, 35, 36], "illustr": [29, 42], "compress": 29, "accord": 29, "fewer": 29, "temperatur": [30, 42], "molecul": [30, 43], "At": [30, 35], "low": [30, 31, 32, 35, 40], "proport": 30, "compris": 30, "proxim": 30, "resistor": [30, 32, 42], "dissip": 30, "besid": 30, "govern": [30, 41], "mostli": [30, 34, 41, 43], "unlik": [30, 31], "pin": [30, 33], "eas": [30, 36, 40], "offer": [30, 31, 42], "tradeoff": [30, 31], "capac": 30, "applciat": 30, "constantli": 30, "360": 30, "fsr": 30, "spectral": 30, "maxima": 30, "achiev": [30, 34, 44], "consum": 30, "closer": [30, 35], "rate": 30, "plasma": 31, "dispers": [31, 35, 36], "charg": 31, "carrier": 31, "inject": 31, "refrac": 31, "voltag": 31, "revers": [31, 46], "bias": 31, "respond": 31, "induc": 31, "mechan": [31, 33], "quit": 31, "beyond": [31, 42], "resist": [31, 42], "capacit": [31, 42], "intrins": 31, "high": [31, 33, 34, 36, 40], "cutoff": 31, "ten": 31, "ghz": 31, "suit": 31, "neglig": 31, "clariti": 31, "thermal": 31, "undop": 31, "copmris": 31, "experienc": [31, 38, 42], "cost": [31, 32, 33], "qualiti": 31, "deplet": 31, "moder": 31, "bia": 31, "analog": [32, 35], "macro": 32, "lens": 32, "mirror": [32, 36], "beamsplitt": 32, "analogu": 32, "micro": 32, "nano": 32, "discret": [32, 34], "inductor": 32, "cmo": 32, "classifi": 32, "mismatch": 32, "anisotropi": 32, "voa": 32, "photolithographi": 32, "photomask": 32, "photosensit": 32, "chemic": 32, "photoresist": 32, "lamp": 32, "ultraviolet": 32, "regim": 32, "stencil": 32, "alter": 32, "leav": [32, 36], "underli": 32, "constraint": 32, "densiti": 32, "pcb": 32, "familiar": [32, 33], "reject": 32, "didn": 32, "undergo": 32, "compat": [32, 33, 38], "hous": 32, "matur": 32, "store": [32, 36, 38, 45], "concret": 32, "conta": 32, "latter": 32, "regener": 32, "regress": 32, "mzm": 32, "least": 32, "arm": [32, 46], "rout": 32, "briefli": 32, "touch": 32, "solv": [32, 35, 41, 42], "maxwel": [32, 41], "computation": [32, 36], "expens": 32, "volumetr": 32, "mesh": 32, "voxel": 32, "magnet": [32, 34, 41, 43, 44], "lot": [32, 36, 43], "hour": 32, "pertin": 32, "abstract": [32, 34], "sequenc": 32, "yet": 32, "embrac": 33, "scientif": 33, "session": 33, "recompil": 33, "prototyp": 33, "rapidli": 33, "miniconda": [33, 38, 45], "bundl": 33, "frill": 33, "strip": 33, "anaconda": 33, "tend": 33, "latest": 33, "execut": [33, 36], "easiest": [33, 36, 39], "quick": 33, "best": [33, 35], "isol": 33, "sandbox": 33, "destroi": 33, "mess": 33, "never": [33, 36], "worri": 33, "someon": 33, "venv": 33, "older": 33, "intel_env": 33, "subdir": 33, "osx": 33, "64": 33, "establish": [33, 35], "hasn": 33, "promin": 33, "fundament": [33, 34, 36, 41, 46], "counterpart": 33, "matlab": 33, "defacto": 33, "databas": 33, "solver": [33, 41, 42], "pymeep": 33, "grab": 33, "nlopt": 33, "aren": 33, "increment": 33, "api": 33, "contract": 33, "task": 33, "evolv": 33, "accomplish": 33, "old": 33, "immatur": 33, "frequent": 33, "guarante": 33, "reproduc": 33, "semant": 33, "major": 33, "minor": 33, "incompat": 33, "manner": 33, "txt": 33, "24": [33, 36, 44], "great": 34, "intuit": [34, 44, 46], "surround": [34, 40, 41], "flaw": 34, "assumpt": 34, "misconcept": 34, "compen": 34, "challeng": 34, "slab": [34, 42], "implicit": 34, "fulli": [34, 35], "crucial": 34, "addition": 34, "impli": 34, "greater": [34, 44], "critic": 34, "except": 34, "anim": [34, 36], "white": 34, "sent": 34, "orthogan": 34, "wavefront": 34, "interv": 34, "trough": 34, "special": [34, 39], "attent": 34, "clarifi": 34, "incremental": 34, "With": 34, "backdrop": 34, "consider": [34, 42], "lost": [34, 35, 36, 44, 46], "interferr": 34, "minim": 34, "emerg": 34, "obvious": 34, "mit": 34, "s3": 34, "amazonaw": 34, "fip": 34, "html": [34, 45], "next": [35, 36, 38, 41, 43, 45], "scenario": 35, "arriv": 35, "2nd": 35, "trip": 35, "perfect": [35, 46], "significantli": [35, 46], "narrow": 35, "bandpass": 35, "filter": [35, 43], "amplifi": 35, "circumfer": 35, "bent": 35, "alpha": [35, 36, 44, 46], "cm": 35, "substitut": 35, "formula": 35, "newli": 35, "azimuth": 35, "lambda_m": 35, "bring": 35, "steadi": [35, 36], "non": [35, 41, 42, 43], "met": 35, "incom": 35, "half": [35, 41], "fwhm": 35, "quantiti": 35, "sharp": 35, "q": 35, "sharper": 35, "unitless": 35, "10nm": 35, "2000nm": 35, "feel": 35, "ipython": 35, "video": 35, "10um": 35, "d_pml": 35, "d_pad": 35, "r_in": 35, "r_out": 35, "wg_length": 35, "cylind": 35, "getpass": 35, "600": 35, "getus": 35, "decai": [35, 41], "despit": 35, "wg_center": 35, "1st": [36, 41, 46], "notat": 36, "matric": 36, "exit": 36, "98": 36, "96": 36, "9604": 36, "nonlinear": 36, "arbitrarili": 36, "param": 36, "mind": 36, "accur": [36, 42], "adapt": [36, 38], "detector": 36, "monitor": 36, "pictur": [36, 44], "purpl": 36, "pathlib": 36, "get_meep_geometri": 36, "whole": 36, "bunch": 36, "sim_is_3d": 36, "pwd": 36, "abspath": 36, "gds_file": 36, "parent": 36, "lcen": 36, "diamet": 36, "t_oxid": 36, "t_si": 36, "t_air": 36, "78": 36, "cell_thick": 36, "444": 36, "min": 36, "cell_zmax": 36, "cell_zmin": 36, "n_port": 36, "s_param": 36, "mode_par": 36, "no_par": [36, 41], "odd_z": 36, "layerlevel": 36, "layerstack": 36, "dict": 36, "zmin": 36, "mesh_ord": 36, "sidewall_angl": 36, "width_to_z": 36, "layer_stack": 36, "mmi_comp": 36, "is_3d": 36, "geom": 36, "axi": [36, 41, 43, 44, 46], "073": 36, "33m": 36, "1mwarn": 36, "36mshowwarn": 36, "36m281": 36, "1munnam": 36, "unnamed_0da7224c": 36, "andeloth": 36, "1604": 36, "cell_z": 36, "port_xsiz": 36, "port_ys": 36, "port_zsiz": 36, "port_xdisp": 36, "port_ydisp": 36, "port_siz": 36, "port1": 36, "port2": 36, "port3": 36, "port4": 36, "source1": 36, "source2": 36, "record": 36, "trick": 36, "eig_par": 36, "eig_match_freq": 36, "boundari": [36, 41, 44], "absorb": 36, "fourier": 36, "transform": 36, "energi": 36, "mode_monitor_1": 36, "add_mode_monitor": 36, "moderegion": 36, "mode_monitor_2": 36, "mode_monitor_3": 36, "mode_monitor_4": 36, "plot_plan": 36, "output_plan": 36, "No": 36, "correctli": [36, 45], "until_after_sourc": 36, "stop_when_dft_decai": 36, "cumul": 36, "wait": 36, "dft": [36, 46], "threshold": 36, "stop": 36, "retriev": 36, "get_eigenmode_coeffici": 36, "nfreq": 36, "neg": [36, 41], "norm_mode_coeff": 36, "port1_coeff": 36, "port2_coeff": 36, "port3_coeff": 36, "port4_coeff": 36, "nport1": 36, "s11": 36, "6f": 36, "deg": 36, "nport2": 36, "upper": [36, 41, 46], "s12": 36, "nport3": 36, "s13": 36, "nport4": 36, "s14": 36, "56": 36, "982": 36, "1mcast": 36, "real": 36, "discard": 36, "imaginari": 36, "048342": 36, "648293818186258": 36, "046153": 36, "765397762485876": 36, "748132": 36, "6805131200859658": 36, "292468": 36, "5714402438535198": 36, "ipykernel_902": 36, "1167699112": 36, "complexwarn": 36, "cast": 36, "transmitt": 36, "exercis": 36, "port1_tran": 36, "port2_tran": 36, "port3_tran": 36, "port4_tran": 36, "percent": 36, "insertionloss": 36, "insertionloss_db": 36, "4f": 36, "2337": 36, "2130": 36, "9701": 36, "5538": 36, "35": 36, "2631": 36, "5268db": 36, "terribl": 36, "third": [36, 41], "fortun": 36, "meant": 36, "reset": 36, "visula": 36, "continuoussourc": [36, 46], "reach": 36, "eps_data": [36, 46], "get_epsilon": 36, "ez_data": 36, "get_efield_z": 36, "screen": 36, "dpi": 36, "imshow": [36, 46], "transpos": [36, 46], "interpol": [36, 46], "spline36": [36, 46], "cmap": [36, 41, 46], "flipud": 36, "hopefulli": 36, "sens": 36, "sake": 36, "rest": [36, 44], "mode_monitor": 36, "norm_mod": 36, "devi": 36, "347": 36, "2590562574": 36, "37": 36, "ts": 36, "trans1": 36, "trans2": 36, "trans3": 36, "trans4": 36, "0212": 36, "0262": 36, "4334": 36, "1200": 36, "s21": 36, "s22": 36, "0213": 36, "s23": 36, "1210": 36, "s24": 36, "4326": 36, "s31": 36, "4340": 36, "s32": 36, "1208": 36, "s33": 36, "0244": 36, "s34": 36, "0296": 36, "s41": 36, "1199": 36, "s42": 36, "4332": 36, "s43": 36, "s44": 36, "0224": 36, "0448617": 36, "068502": 36, "7843": 36, "4403": 36, "0685165": 36, "045354": 36, "46314": 36, "7135": 36, "8369": 36, "45937": 36, "059546": 36, "0874323": 36, "43704": 36, "7687": 36, "0874329": 36, "0500182": 36, "expect": [36, 46], "entri": 36, "breviti": 36, "paramt": 36, "n_freq_point": 36, "outlin": 36, "customiz": 36, "exchang": 36, "port_xpo": 36, "port_ypo": 36, "cross_sect": 36, "sparam": 36, "extend_ports_length": 36, "port_margin": 36, "xmargin": 36, "ymargin": 36, "zmargin": 36, "wavelength_start": 36, "wavelength_stop": 36, "wavelength_point": 36, "59": 36, "737": 36, "743": 36, "36m1959": 36, "get_sparameters_path": 36, "925": 36, "_container_6ef2acaf": 36, "931": 36, "1mcould": 36, "klive": 36, "Is": 36, "47": [36, 40, 41, 44], "49": 36, "016": 36, "027": 36, "__init__": 36, "4436": 36, "_meep": 36, "create_structur": 36, "dft_data_list_": 36, "pml_1d_vols_": 36, "pml_2d_vols_": 36, "pml_3d_vols_": 36, "absorber_vols_": 36, "gv": 36, "br": 36, "sym": 36, "num_chunk": 36, "courant": 36, "use_anisotropic_averag": 36, "tol": 36, "maxev": 36, "gobj_list": 36, "_ensure_period": 36, "_default_materi": 36, "alist": 36, "extra_materi": 36, "split_chunks_evenli": 36, "set_materi": 36, "existing_": 36, "output_chunk_cost": 36, "my_bp": 36, "4439": 36, "_set_materi": 36, "existing_gep": 36, "keyboardinterrupt": 36, "traceback": 36, "recent": 36, "27": 36, "31": 36, "34": 36, "deprec": 36, "validate_argu": 36, "wrapper_funct": 36, "arg": 36, "53": 36, "wrap": 36, "_func": 36, "54": 36, "vd": 36, "validatedfunct": 36, "self": 36, "148": 36, "149": 36, "init_model_inst": 36, "222": 36, "raw_funct": 36, "args_": 36, "var_kwarg": 36, "221": 36, "562": 36, "port_source_nam": 36, "port_source_mod": 36, "port_mod": 36, "dirpath": 36, "filepath": 36, "overwrit": 36, "animate_cent": 36, "animate_s": 36, "lazy_parallel": 36, "ymargin_top": 36, "ymargin_bot": 36, "zmargin_top": 36, "zmargin_bot": 36, "decay_bi": 36, "plot_arg": 36, "only_return_filepath_sim_set": 36, "559": 36, "tqdm": 36, "560": 36, "561": 36, "sparameter_calcul": 36, "563": 36, "564": 36, "565": 36, "566": 36, "567": 36, "568": 36, "569": 36, "570": 36, "571": 36, "572": 36, "573": 36, "574": 36, "575": 36, "576": 36, "577": 36, "578": 36, "savez_compress": 36, "488": 36, "484": 36, "to_mp4": 36, "485": 36, "mp4": 36, "486": 36, "487": 36, "490": 36, "492": 36, "source_ent": 36, "parse_port_eigenmode_coeff": 36, "493": 36, "sim_dict": 36, "494": 36, "4530": 36, "step_func": 36, "4527": 36, "unrecogn": 36, "4529": 36, "_run_sources_until": 36, "4531": 36, "elif": 36, "4532": 36, "_run_until": 36, "2871": 36, "cond": 36, "2867": 36, "round_tim": 36, "2869": 36, "new_cond": 36, "2829": 36, "2827": 36, "2828": 36, "_eval_step_func": 36, "2831": 36, "recurs": 36, "iter": 36, "2832": 36, "tail": 36, "2833": 36, "2834": 36, "3040": 36, "3039": 36, "fields_step": 36, "mathwork": 36, "luceda": 36, "microwaves101": 36, "youtub": 36, "opinion": 38, "newcom": 38, "troubleshoot": 38, "disagre": 38, "primarili": 38, "nervou": 38, "navig": 38, "precompil": 38, "desig": 39, "boast": 39, "healthi": 39, "capabl": 39, "lighter": 39, "pylanc": 39, "tree": 39, "icon": 39, "ey": [39, 41], "candi": 39, "theme": 39, "menu": [39, 45], "pop": 39, "conduct": 40, "copper": 40, "44": [40, 41, 44], "confin": [41, 42], "newton": 41, "motion": [41, 43], "vibrat": 41, "violin": 41, "pipe": 41, "stationari": 41, "mpb": 41, "51": 41, "512": 41, "glass": 41, "find_modes_waveguid": 41, "core_w": 41, "core_t": 41, "m3": 41, "m4": 41, "elecgtr": 41, "linewidth": 41, "edgecolor": 41, "facecolor": 41, "wg4": 41, "ax1": 41, "ax2": 41, "islic": 41, "add_patch": 41, "tight_layout": 41, "0th": [41, 46], "spatial": 41, "sinusoid": 41, "slice": [41, 43], "discontinu": 41, "perpindicular": 41, "discontin": 41, "contin": 41, "horizont": 41, "domin": 41, "transvers": [41, 43, 44], "wg3": 41, "plot_ez": 41, "slight": 41, "aris": 41, "mm": 41, "find_mode_dispers": 41, "mode_numb": 41, "ng": 41, "3f": 41, "106": 41, "892": 41, "ignor": [42, 46], "mass": 42, "induct": 42, "exhaust": 42, "400nm": 42, "950nm": 42, "220nm": 42, "rib": 42, "rectangular": 42, "resembl": 42, "ridg": 42, "difficult": 42, "veloc": 42, "somewhat": 42, "tediou": 42, "streamlin": 42, "wavelegnth": 42, "atom": 42, "gather": [42, 44], "n_g": 42, "dn_": 42, "lambda_0": 42, "minu": 42, "band": 42, "behav": 43, "vector": [43, 44], "pure": 43, "perpendicular": 43, "tricki": 43, "dimension": 43, "arrow": 43, "bield": 43, "sun": 43, "unpolar": 43, "atmospher": 43, "sunlight": 43, "uniform": 43, "permit": 43, "unpredict": 43, "strike": 44, "snell": 44, "theta_i": 44, "theta_r": 44, "n_1sin": 44, "n_2sin": 44, "theta_t": 44, "gamma_": 44, "n_1co": 44, "n_2co": 44, "tau_": 44, "2n_1co": 44, "obliqu": 44, "observ": 44, "n1": 44, "n2": 44, "transmission_angl": 44, "arcsin": 44, "theta_i_deg": 44, "deg2rad": 44, "set_aspect": 44, "zip": 44, "p0": 44, "i1": 44, "rad2deg": 44, "0f": 44, "t1": 44, "xlim": 44, "ylim": 44, "axvlin": 44, "axhlin": 44, "linestyl": 44, "xtick": 44, "ytick": 44, "ipykernel_19546": 44, "1351043342": 44, "runtimewarn": 44, "AND": 44, "simulate_reflect": 44, "radian": 44, "incident_angle_radian": 44, "reflected_angl": 44, "transmitted_angl": 44, "incident_wav": 44, "tan": 44, "reflected_wav": 44, "transmitted_wav": 44, "display_transmit": 44, "barrier": 44, "set_xlim": 44, "set_ylim": 44, "str": 44, "set_titl": 44, "var": 44, "folder": [44, 45], "9n": 44, "_g8r69x957zb59c09f92zznh0000gn": 44, "ipykernel_69883": 44, "921879874": 44, "runtim": 44, "sine": 44, "theta_c": 44, "critical_angl": 44, "crit_angl": 44, "51840906945382": 44, "progag": 44, "profit": 44, "understood": 44, "prompt": 45, "administr": 45, "password": 45, "sh": 45, "git_and_github": 45, "wslpath": 45, "04": 45, "www": 45, "de": 45, "chapter": 45, "what_is_a_photonic_devic": 45, "arbitrari": 46, "focu": 46, "i_i": 46, "i_1": 46, "i_2": 46, "70": 46, "media": 46, "vice": 46, "versa": 46, "exact": 46, "perspect": 46, "inwg": 46, "outwg": 46, "mmi1x2_with_sbend": 46, "inwg_ref": 46, "splitter_ref": 46, "outwg_top_ref": 46, "outwg_bot_ref": 46, "make_geometry_from_gds_compon": 46, "core_mat": 46, "cladding_mat": 46, "component_point": 46, "to_np": 46, "1e3": 46, "pad_width": 46, "nx": 46, "ny": 46, "matgrid": 46, "materialgrid": 46, "do_averag": 46, "damp": 46, "add_dft_field": 46, "get_arrai": 46, "e_data": 46, "choic": 46, "varianc": 46}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"camacholab": 0, "photon": [0, 29, 32], "bootcamp": 0, "tabl": 0, "content": 0, "front": 0, "matter": 0, "develop": 0, "environ": [0, 33], "passiv": [0, 27, 32], "devic": [0, 32, 36], "design": [0, 8, 9, 26, 28, 32, 46], "simul": [0, 8, 21, 22, 35, 36], "circuit": [0, 3, 29, 32], "activ": [0, 32], "test": 0, "refer": [0, 3, 6, 24, 36], "adjoint": 1, "optim": [1, 26, 37], "advanc": 2, "compon": [2, 6, 22, 27], "cross": 2, "section": 2, "creat": 2, "us": [2, 3, 6, 22, 36], "componentspec": 2, "analyz": 3, "account": 3, "grate": [3, 14], "coupler": [3, 8, 10, 14], "curv": 3, "fit": 3, "extract": 3, "index": [3, 42], "refract": [3, 44], "compact": [4, 32], "model": [4, 22, 32, 34, 42], "element": 6, "polygon": 6, "port": [6, 36], "label": 6, "from": [6, 22], "translat": 6, "rotat": 6, "boolean": 6, "oper": 6, "parametr": 6, "cell": 6, "shape": [6, 37], "gener": 6, "ad": 6, "export": 6, "gd": [6, 11, 20], "file": 6, "import": [6, 36], "connect": [6, 39], "exercis": [6, 8, 18], "credit": 7, "sponsor": 7, "contributor": 7, "direct": 8, "supermod": 8, "visual": [8, 39], "coupl": [8, 35], "length": 8, "gap": 8, "between": 8, "waveguid": [8, 40, 41, 42, 44], "other": 8, "split": [8, 46], "ratio": 8, "show": 8, "across": [8, 36], "dc": 8, "consider": [8, 43, 46], "sourc": [8, 14, 24, 36, 46], "rule": [9, 32], "check": [9, 22, 44], "edg": 10, "meep": [11, 20, 36], "find": [11, 36], "s": [11, 22, 36], "paramet": [11, 14, 36, 42], "through": [11, 44], "gmeep": [11, 36], "git": 12, "github": 12, "glossari": 13, "how": [14, 29, 36], "doe": [14, 29], "work": [14, 29], "essenti": 14, "period": 14, "etch": 14, "depth": 14, "fill": 14, "factor": [14, 35], "introduct": 15, "klayout": 16, "klive": 16, "laboratori": 17, "tool": 17, "pyrolab": 17, "instal": 17, "autog": 17, "defin": [18, 32], "layer": [18, 32], "stack": [18, 32], "silicon": 18, "insul": 18, "gdsfactori": 18, "layermap": 18, "layerview": 18, "layerstack": 18, "layout": 19, "demo": [19, 44], "multimod": 21, "interferomet": [21, 22, 23], "mmi": 21, "self": 21, "imag": 21, "applic": [21, 29], "mach": [22, 23], "zehnder": [22, 23], "The": [22, 32], "mzi": 22, "write": 22, "netlist": 22, "callabl": 22, "analysi": 22, "balanc": 22, "quick": [22, 44], "definit": 22, "imblanc": 22, "thermo": 22, "optic": [22, 25, 34], "effect": [22, 42], "lai": 23, "out": 23, "open": 24, "softwar": [24, 38], "common": 24, "licens": 24, "mit": 24, "apach": 24, "2": [24, 36], "0": 24, "gplv3": 24, "agpl": 24, "i": 25, "o": 25, "invers": 26, "process": [28, 32], "kit": 28, "phase": [29, 30, 31], "shifter": [29, 30, 31], "what": [29, 32, 36, 40], "shift": 29, "A": 29, "simpl": 29, "heater": 30, "advantag": [30, 31], "thermal": 30, "disadvantag": [30, 31], "tune": 30, "effici": 30, "pn": 31, "pin": 31, "junction": 31, "ar": [32, 36], "compar": 32, "electron": 32, "vs": 32, "manufactur": 32, "geometri": [32, 36], "digit": 32, "python": 33, "conda": 33, "virtual": 33, "packag": 33, "manag": 33, "version": 33, "improv": 34, "rai": 34, "support": 34, "mode": [34, 41], "ring": 35, "reson": 35, "intuit": 35, "descript": 35, "mathemat": 35, "satur": 35, "critic": [35, 44], "fsr": 35, "free": 35, "spectral": 35, "rang": 35, "bandwidth": 35, "qualiti": 35, "field": 35, "scatter": 36, "exampl": 36, "why": 36, "an": 36, "arbitrari": 36, "step": 36, "1": 36, "run": 36, "singl": 36, "3": 36, "same": 36, "each": 36, "differ": 36, "frequenc": 36, "gplugin": 36, "write_sparameters_meep": 36, "studio": 39, "code": 39, "configur": 39, "vscode": 39, "wsl": [39, 45], "window": [39, 45], "machin": 39, "wavegudi": 42, "spatial": 42, "dimens": 42, "group": 42, "polar": 43, "total": 44, "intern": 44, "reflect": 44, "kei": 44, "equat": 44, "angl": 44, "propag": 44, "light": [44, 46], "onli": 45, "y": 46, "branch": 46, "combin": 46}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinxcontrib.bibtex": 9, "sphinx": 56}})
\ No newline at end of file