{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "6026a74b", "metadata": {}, "outputs": [], "source": [ "%matplotlib widget\n", "\n", "isdark = False\n", "\n", "from rayoptics.environment import *" ] }, { "cell_type": "code", "execution_count": 164, "id": "c7d740ee", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "203.43209152244057 17.29156926912888 -30.45841339555312\n" ] } ], "source": [ "opm = OpticalModel()\n", "sm = opm['seq_model']\n", "osp = opm['optical_spec']\n", "pm = opm['parax_model']\n", "\n", "osp['pupil'] = PupilSpec(osp, key=['object', 'pupil'], value=16)\n", "osp['fov'] = FieldSpec(osp, key=['object', 'angle'], value=0.5, flds=[0., 0.707, 1.], is_relative=True)\n", "osp['wvls'] = WvlSpec([('F', 0.5), (587.5618, 1.0), ('C', 0.5)], ref_wl=1)\n", "\n", "opm.radius_mode = True\n", "\n", "sm.gaps[0].thi=1e10\n", "\n", "def calc_curvature(n, fl):\n", " return (n-1)*fl\n", "\n", "n_bk7 = 1.5168\n", "n_lasf9 = 1.85025\n", "n_f2 = 1.62005\n", "\n", "v_bk7 = 64.17\n", "v_lasf9 = 32.16\n", "v_f2 = 36.43\n", "# try for chaining a 3x telescope setup with a second 3x telescope setup\n", "f0 = 150\n", "f0_0 = (v_bk7-v_f2)*f0/v_bk7\n", "f0_1 = -f0_0*v_bk7/v_f2/1.2\n", "f0_actual = 1/(1/f0_0+1/f0_1)\n", "f1 = 40\n", "# 1/f = 1/f0 + 1/f1 = 1/f0 - v2/(f0*v1) = (v1-v2)/(v1*f0)\n", "# f0 = (v1-v2)*f/v1\n", "f1_0 = (v_bk7-v_f2)*f1/v_bk7\n", "f1_1 = -f1_0*v_bk7/v_f2\n", "print(f0_actual, f1_0, f1_1)\n", "f2 = 150\n", "f3 = 50\n", "\n", "f1_stacked = 2*f1\n", "\n", "r0 = calc_curvature(n_lasf9, f0)\n", "r0_0 = calc_curvature(n_bk7, f0_0)\n", "r0_1 = calc_curvature(n_f2, f0_1)\n", "r1 = calc_curvature(n_lasf9, f1)\n", "r1_0 = calc_curvature(n_bk7, f1_0)\n", "r1_1 = calc_curvature(n_f2, f1_1)\n", "r2 = calc_curvature(n_lasf9, f2)\n", "r3 = calc_curvature(n_lasf9, f3)\n", "\n", "sm.add_surface([r0_0, 2, 'N-BK7', 'Schott', 42/2])\n", "sm.add_surface([1e9, 2, 'N-F2', 'Schott', 42/2])\n", "#sm.add_surface([-r0_1, 180+2*f1])\n", "sm.add_surface([-r0_1, 180+2*36.])\n", "\n", "#sm.add_surface([r1_0, 6, 'N-BK7', 'Schott', 16])\n", "#sm.add_surface([1e9, 2, 'N-F2', 'Schott', 16])\n", "#sm.add_surface([-r1_1, 30])\n", "sm.add_surface([1e9, 2, 'N-LASF9', 'Schott', 16])\n", "sm.add_surface([-r1, f2+f3])\n", "\n", "#sm.add_surface([r2, 2, 'N-LASF9', 'Schott', 16])\n", "#sm.add_surface([1e9, f2+f3])\n", "#sm.add_surface([1e9, 2, 'N-LASF9', 'Schott', 16])\n", "#sm.add_surface([-r3, f3])\n" ] }, { "cell_type": "code", "execution_count": 165, "id": "a26f0ff4", "metadata": { "scrolled": true }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "aab1fc89c06c440c985317b08f6a9fd7", "version_major": 2, "version_minor": 0 }, "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAnWUlEQVR4nO3dy49sa3/Y9V+tqlp169u+nfNe4uhNbPM6jokzgEQiihggEQEiIwYMkDKAIMQAISExyQAJT5EQ/0AkBjDwIGYQAkhIlgiGBA8sYwGKYseO7fd29r27rqvWhcFaq7q6995n733OPvtyns/nfffZ3dXVdar7dFd963me9azB46u6CQAAkpF96DsAAMD7JQABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIz+uMf/Sjqpv5Gbryu66jr5vB20zTRNE2UVRV1XUZZN9FUdVRVGVXTRF1VUdZ1NHUdVVVH3VRR1U00TRVV1UTd1DHN8/jlX/xhfO/zzyPL9CsAwNsa/O2/82vNh74Tb2MwyCKLOgaD9v2miahe8xUMBoPIBoMYDocxGo1ikucxyScxnU7iZL6Is8VpXJydxunpSVycncf56WnM54vIRyORCQB864yGgyxG2TAiBtE1VQwG/duD7v/9e4MuvNpLDtcbDA4fG/T/6y6LQUQWbYDFoP+8LLKjtwfdxw+33X1uNrj+92ZZFk83l5FNJvHw6Y/jL342iaIq458/28dV0V6niZeXYNM0UTVNVHUdxX4f683mG/lm3g7NPM9jmk9iNpnGdDqJ2XQa89ksThcncXZyEqcnp7GYzWI2ncZ0NhOcAMB7Mfql+38u/uO/9u9+6PvxRv7ub/9G/Oov/KX49f/z78W//1f+zYiI+K//4T+M//Kv/a3Ih/krP29fFbHeF7HaruPp5jKebJ7H8+0yrnbrWBfrWO+3sd3vYlcVUVRV7Kt9VE0VZV1F1bRT13XTRLwyMVvvMzQHg0EMs6yNzeEwxqNRjPO8i81pLGazmM9mcTJfxMnJIubTWUwn05hNJjGbzWI+nUaev/p7Bny6ttttPF9exXK9iu12F2VZxtnJaXz+2Wcxn04/9N0DPgKjpvl0ZoAfrZ/Fdy8+u3FZVTdfGn8REeNhHufDPM6nJ/G9W5//dVR1HbtqF9v9Njb7XWz2RWz2u1jvN7HarWO5W8fVbh3LYh2b/TY2+yL21T6Keh9l3QVmXUXdtOsbX5+YrX4tZV3XsS/Ld/b1vEwfm1mWXQfnaBT5eNyObs6msZjNYzGfx2K+iNlkEpNJN+o5mcR0NonZRHDC6xRFEVerZVytVrFcruJqvYr1ZhOr9SquVqtYrVex3mxjV+yi2O+jLMuo6vrG+urbBk0dw6aOOgZRZ8MbH8uyLMajUUwnkzg7OY37d+/G/bv34v6dO/HZg/vx4M69GI1G7+vLB76Cuq6jKIpYbdaxWm9itV7HeruJzXYbm+7v9WbTXrbZxrbYxX5fRlmWn1YANk3TTVcfXXaYuH7/hlkW82wW8/Hsnd92URWxKXaxLXex2e9iW7YBud3vYld2oVlsYlVs2hHMqoii3Me2LKKo9lHWZReYddRN9+cN4vK249j8ZlPzKDa74MyyYYxGw8jH45jkeTuyOZ3FYtGOaE4mk/bySR7T/FZwzueRe/LiG1bWdSyXy7haLuNqtYzVeh2r9SpW620s1+3l6+0mdrtd7Lpoaw+Ce3W0valBxGt/owdNE5+vv4ink4tYZ/MbH6vrOnZFEbuiiOdXV/EnP/nxK29nmGWRj/OYz2dxcXYen927H/fu3IkHd+/F5/fvx9npqeUr8CXKsoxl9/iw3my6KGsjbbvdxXq7idVq3b7f/V7uy31UVRVV95hRd48ZX/Vx43rp3iCaiBi9yYjTx2BX7iIbDl+4fPABA/CblA/zyGd5nMfpO73dqq5jV+66EcldbMptbPf72Jbb2O6LNjiLbWzLIjblLoqyiO2+iF1VxK4sY18Vse/i8jCK2dRvNHL5OofYjIioqojYR+y+9s2+1OEXIcu64Oym0sejGI/HMZ1MYj5tp9Fn02lM8skLwTmbTWM2md5Yw8nHr67rWG/WcblcxtVyFcv1qn3VvNnEcrWKy9UyNpv2lfNuX7TRVlZRd6P17/NFcxbdyPsgi/FwFKNsFOPhKPLhOCajcUxGk5jmeSzyWczG08jH4xgOhoc11v/bP/lHsY6zOBnuY3rxZ+Ovfuc7sa/L2O33sdlvY73bdo8F7ePBrtrHviqjaqob96Oq69jstrHZbePx06fxB//8j159n7Ms8vE4TuaLeHDvXnx2737cv3u3ffv+A1PQfLT6x4bVehOrzSbWm/ZxYbPdxnbXR9oq1tttbHfbNtL2ZZRV2YZat4tJ/1z2VR8p+uMossEgskH7GDAZjWM0HMVoOIp8OIpJPonZuJ1tW0zmMZ/OYjbO26VeefvcNM/bQZPZZBbjW89P/+C3f/PTGQF8tHoap9OTG5ftq8qrzrc0zLKY57OY59/MqOW62Mam3MV2345ebrtp8V0/krnvRzTbkcqiLKKoy9hXZRRlO3JZdIFZ13WUTfXWcTk4+mc/RnL7FppogzOqKtqnurJtzW9g2ebhQKmj0c1+Kn08GsckHx8iczqZ3AjOWR+d00m3hjPN4KzrOrZFEVdXV+0U6WoZyy7aVpt1XF5dxWqzic12E0VRRFGWUe7L7lVzHfE1HozfxiAGMRxkMcyGMcqGMR52wZaNIh/lMRnlMRmNYzxqI26YDWOYDWPQHfDW1E3UUUdVV1GU+9jt97GritiXZeyr/eHF17JYx7Ntu4Sk6n5PXradV1ZX8d31z2I7nMSTehv/09Pff+n9zgZtZI6yYcxGeWTd21n3czsYDKJpIuqm6ZatVLGvq6iafpahOfye1nUd290utrtdPHr6JP6/3/+nr/x+9dPQi9k87t65E9/77PP43nc+j88fPDAFzUt92ZTndrc9Gl27OeV5czStiaZfdvV1R9O6g1qHgywmw3GMxqMYZ8P2sX00bkMtn8RiOo/FZBbTfBrzyaQdRMinsZi0gwyL6SzGw/F7bZrRp5F/EU9Wl3EyvTmFsdkXMXnN+j/en37U8uId325Vl93IZBuO67J95bUp27DclkWsi007klntYrfv4rL7s6+r2FflYVq8H+Go3mL/y0F/5Ht3ZPvxBFwTTXT/v37/SBPRBsjx6OZ+/3W/La++r8dH22eDyIbDGGVZjMfjGI/Hhyn1Sd7G5nTSxmU7unkrOKfTmE3bNZxf5cm4X9d2ebWMq/UyVutNrNfrWK3XcbVexnLVrmsriiKKfRs6x+va3od2l4LrkbY23kbt+9kwhoPsEO6DyGIw6Earo/1v2i+zqOo6qqZ94VI17Z9ttya47sKufouvqb9f/QuH/okmi/bt4aCNp8GgDbj+8uywK8Mgnq4eRzk6j7NRFs+G8/izZ/di2I96dzswtF9HRNO0969qqkPolU0dZdWP+JeHdctlt6zkTd1+UdZ/F46noZ88fxa//0d/+KW3MxoOYzKZxJ2z83hw/358/7PP4xd+8Ofis/v3DQZ8ZN52yrPYF1Hs3+2UZ0QcdhTJBln7giMbxWg0jFH/4myUx3ScxyyfxnwyjcV0HvPJNCbj9gV4e/msG2mbxmQyi9G35Gdt1D0lffSuinVM85tTB9t9GeOhV4jfdsNsFIt8FIt88c5us32SbkcdV/ttN3K5jXWxi22xi213cM+2LGK938Zu3wdlEUXVjliWTRn7qoqqLqPsnvz7CHjTh6s2KrPDvpb9Jx7ebWuj+9D13687Gr2NziqqOiLKfnTzmzkq/VNXRxN1U0VZVa+/8jt0M4risA3W8aV9nLXh2O1/2tz4tC//N1RFDKtl7OphNMNp/MnlT7sXK+3/3jRI29HBUYyyYUzyPMbdVPTh7+E4Rl1AH14uDaI9uK1uouqCsazbwC/rqh35L/exr69fpL3ud6esqii7FxB/+tOfxO/E7732vmdZ1oZjPomz05O4c34Rd87P2y24uiUe8+k8FotZLGaLmM/n35on+Nep6zrW222sVquPbsozH43bZQ8vnfKcxXw6b6c8u+nOfspzPp3F/CVTnrzok5kC3pVF5KObo337uoph9uK6wPelf+XfRN1tAVO3r6LraB/ImiaaaM+GUnUHYTR1E1Xdnvmk/VNG3VRRV9dRUkdEWVfRNNXhturDq/PuTClN/+9sugfNph1l6Letqeuo43oLm8PlzfV0TX0YleqGw/v3D5c11yMd3X0/XH7j43Hzev0TTL91Tn+dFz52FCtxfTs33z4aQTu63vGU3uEjzeHa19c9/Hh/nKtd26+2fvVq/o/xTn9L9aO8cbyn6dFepP1U6PU+p9cLqo/3RW3j5/rtdgvU7Mb+qsd7psbg6HrH79/aT/X2XqtxdB8HcfP+9nuo/vGTP4kqfxA/N27iJ9ksfuHudw6j4P0a3n3V7UrQb31Vt2dhOv7Rq5o6qqqIXbc09+t/r+MwitmPus7zabvGsQvNcTaK0bCdSh8Oht1o7CDqpo5dWbbrlqtujXJZRNlUh9HLY3VdR9FtzXW1WsaPfvrTr3h/29H0YTeiPhp164X7pRvzeZzO5jGdTmM27bfbatcRL2bzWCwWMc3ztx6p/KinPLM3m/Kc5pOYH9amdR/7AFOe3DT4T/+L/6q5tziPODw5x9EPSkR0EdE/t/ajD9fTXs3hiff2E3jE8ZP4i9Nlx0/JN57s2wtuPOFXdR2nZ+cxm83j0cMfxS/eG8aubOKPn9XRHJ/SuLmZAC+81dy+7Oa1PN9+GLdHQw7vDV72kfaSwdEVjw8Gut6c/OiWXzK6cv0kenOz8+Pbu7Hh+dETe7w0BG7/e66vk90IifbJ7/Dj2P2+1XUdzaAL8LqJKq7XeFVN3a29qm8Gup/Yd+o46rLB9VRpHynDbBijQdYuxs6G7RPfcHx9YMYwj3w4jvFwGMNu7d/oMFLWXt6uCRxHln3zB7D9vd/9n2O9GcW/cWcY/91lEf/Jv/w33vhz67qJfd2tPayqdv1hVbaX1dVhariPyareR1nXse+uU3QHlLSf1/0sdz/HVdTXU3z9i9F39LN8+J07hHnW/up2v283XvB+C3+Drl8oXC9dOCxtGGbd1Ge7DnU6ymMynrTrUsfjyEfdWtVxHvloHPm4XbOaDT6eSGt3tGjXyzZNfRh4aZo4rPntB0Tav7vLmjgMhPQDHf2yh/7z+4GcaG4NkNTXj7eHz+uWdfQj3E1dH1qlaa4HXw73pX+c70bFrwdMrpdgXA+mXB8UeT3AcTxocrPJjj9+47o3Gqv7hMP3sYnRqtzE6vmnMTVUNe2DUER0DzhN/Hj0/fjZ+Psf+J5B52XPJm/zDNNft2+DYfeHj0vd/XmlJtqhsm9urecbaX4x7g4exf+1PI0YlvEf/u4ffAP/klH3Z/Lqq2TdHz68/mf3lT+aH8HP7Xs3OPr7A/2gDm79/R6MvnfyIP6tv/DXu1O2ZXE8xZHF4L28Sn0Tv/vjfxL7cRa//HM/jP/+f//1+Hd+5V+JL5ZXMfmjL+Jv/As//6HvHh+5sq5jdzRdVJRFbMui21NxG8tiE5tuzd+u7I+2LG/so/i+RguO93f7slMcvt1t9iOP7dY3w8PG3qPD1jeTPI/peBLjvD1QpP/Tbn/TbjcyGr/9upq6rqPcl+3eVt1+eO2C7yL2+33siiKK3b49eKfsNjjup6665QzRv0r+Gt+L4ynUfkF4+xiXXR8EkmXtNirZ9ce78YTulX7TbgdT1+3bR0fBHm8T87GMLPVHAdeDLH42e/DCZtDfpHf5zPExfC950eD2P49PFXtjOUN0yxPat69PDftlSxiOZleOr9udNrbvlcN1b7wd3UFREXHUNVn/GDjo1173t3trmUe/HjEG3Qhy//mDGwdZZYM4bCUW3XUHx9+BwYuzT9ezSce/I9nRdY9ntPrvRxzNhh0vAYkby00ON300Ynu87OT68yP+0T/7v2OUD8fxl7//F976P/z79nh9GT/ePY3vn38WWQzi++f3Y5xNYjp6Hj/87M9/6LvHN6Cq69iWm1gV15teb7oDNp5vr+LZZhmXu1V7BHC1a8OtW89UNdfrJD+Op+Ivd/hFfslWMXl/XunJJGbTWZzM593i9Vm71mg6jcV83q01SmsRe1GWsV6tYrVZx3K9jk2/Fmq7i+12F6tN+7HNdhe73TaK/T72+303JVlHWVXX0zvvYG1Ue4TtMIbD7LCGLR/lhynifpptlI1ikF0/mUS06+zKsj3AaF91YdwfcFRdH4HbT51WdfXGsfkhNsz/+H/rrg1uPhu/4jrdPwftFNutRScv/a/wqayx/6qa2/+8Nc34Sf0QJOiTOQjkNJ/H9uonNy6bjkexr77p81PwNupupG1dbLpRtU2s97tYblfxfLuMp5urWO5WsdpvY1v20daNtn0C0fbyLVa6DaRH45hM8jbIZvPDJtJtqE1jMW+PXFvMZ7FYnMTUqfG+tnw0ivz8PC7Oz9/p7R6OjlyvYr3edBHZLrjf7nax2babRt8+OnJflVFXVeyqfWz3u/aAhK95dOTxFhb90ZG3t7CY5pPDgvt8NIwsG0YWg/it/+cfx/Pm5+MH+S5+PLyIf/2HvxRltY99WbVH35Zluw1LuYuirNpTzNVtIJdNFXXV/k7266i+ytmEbnw9RyMswyxrf3+6c5nn4zwmk0nMD78/85jNJoe9L2ez9sXPYjaP+WLxrdsHc73dxhePHsbDx4/j0ZMn8fDJ43j89ElcrVZRFEW3tuz9PC62o1/Z9X+nyGKQXR/w1O6FFHG89r9fz1Z3Bz7W3eP5V3F7ZPH2MQNv/HXE9RreUb+Gdzhs1+Zm45gMx5GP2rW703G7T2c+ymM2zNsXa9mou+z6evlw3I1UXh982EQddXsnXzje4XCS18PxB/X1NbqDLfpnvLq5PkbieveHm9fpDxpsbv87bhxHcXxsRr/G8OaBk7/1h7/z6ZwJ5O7iLJY/Wt+4bDbOY1cVH+gefbsUVRGr3aY9j/F+G8vdOp5vlnG5Xcbz7TKudqvDVilF1W9K224IW91arPoxuH1auWF39F47rZkfNlzuR9PmXahNuyefxaw75VxCo2lcy7IsTubzOJnPX3/lt1QURXvKuO6ozvW2jcvNpt16ox/N3G67IzqLfezLNsr2VRW7cn+0ePzLf+eyuorvbn4WPykmkU3L+F9/7/947f174UXOaBiTbHz9IifPYzZrt9tYzOYxm03bPSNn3R5qs1nM57NYzL/aUa+pmk+n8YM/83Pxgz/zc196vbqu4/LqKn726FE8fPI4Hj19Eg8fP45nl89jvdnEfr9/bSzenpLto6E/gro90KyKaCL29fHn9QEYNw4KfZ3bB1H1+2sOu+UXhyUZR9Or0cRhVPb6wI2IptuE/LAn5Y0NyW9tSh7dFk9NFbv63a1rbL9ztw6yGbSDAf0R7O0LtHFMh3lMR5OY57NY5JOYT+ZxkrenkF3ks5jmk5iN2i1uxtn7Oyr6//3pH3w6I4D3F3diuV3duGw8HLbrgxK1r8pYF5tYl9tY7VbtlGgXbJfbVSx361jtN+1IW3U00lbX10fCfegvIrpXm8NhDLv9ukajURtqebsR53w+j5NXPNGcLNoRgdwTDZ+IPM8jz/O4c3HxTm/3hT3d1uv4jf/xf4iH9Z+PPNvE8N4P4m/+lV+OxXQes/k05rNZnM4XMZ15kfMpybIsLrpR7x/+/Jevfy/LMh4+fRxfPGpHEx8+boPxarmMzXYbZdmeLedVzwPH2/UcNiSPOIxW9WdreuV9HQy6UxNex15/Vpkq6vYUi92Rum3EVVHWrz+16CAG7b6TWbsFTT6aRt4d3Zx3yy36UfL+rDyHtb6DYbd5+vVKu7qJ9ixUZXvmnd1+H7uy6I6Av3Xq026tb782vKzL2H+NUf5XfX3H6xD7yMxeFZmjNjKnozzm4+4MI+N5LCbTOJucxNlkEfPpLPIsj+HR7/oncyaQyWgS1Uumez+mUac3UdV1bIpNrPabwzq2Z9urWG5XcbVbxdVuHetu2nRXtufd7bdPqG9tsfM+HY8IDI8irT84YNbtdTWfzQ6hNp/1e2DN4mS+iPls5tRO8A152ajl3/9fxrEaXUQxyOJf+pVfjb/6l//FD3gPed9Go1F898Hn8d0Hn7/2ui+bgn7y7Fks16vY7Yooq/JLNw7vlyqMslGMhm2s9Ntf1d3m3/tqf9gK6GW3lA0G7ebPg2HkozboDtO0o0nkw1Fk3akTB9FunVJU5WH9d1Hu46pcR1F1yxj6s9e8wVR0f/rD6z0o2w2o89E4Tkbzdip4OI7JuI2t2bjdQqcd3ZvGdDxpl2dkWQwHo6ij3RJpW+6iKMvYFNt2lq0/4LA7IHFbFrEv91H0Z6uq2hML9LNrbWRWsW/KG9Pt78IncyaQiHbIuqxvvtoYvIcc6te1Pd8u48n6WTfSdhWX21VcbpdxWbTTo9ty1/7gHQXbh5oaPT7Cc9JPec6uNyVt16e106Dz7v3FfG7aBr5FLi7O46fbq5gOyvjX/tIvfOi7w0fsbaagn19exs8eP4yHj5/Eo6dP4+HjR/H88jLW2013ZP+XT0EPB9nROtbx4awfTRNRVe0ek/uqjPV+G5fb5ZdG3HCQHfbZnI7ymI0ncW9+EWezRVzMzuJicRZnk3kba+NxNHXEpixis9/EpujOTd+dZnS33x1GAPuzPu3KfSx3m3akrz8Y6yUbjr9MH5THI3btfqDtwWCTUR7ns9OYdXsvTsfT9rR04+4UdONpzPNZe4q6yTTGLzn17b4q42qzisvNZTzfruJqs4pV0Ybmet8uI9mV7Q4YRX8+8aqKVbGJ0ac0gHZ/fhE/efbFjcuG2SCKqoj8Jd+YzX4bT9bP44urJ/Fo/SSerq7iqljFsjuitD8IoT8A4fb6gfehX2Q7Gg4jz/OYTdsRs7PT0zg7OY3ptF0EfRhNm7eLo+fz+bduETTwbv1Hf+s/iH/v1/9pPN2U8Xd/52n8Z3999qHvEp+4LMvizsVF3Lm4iF96zQ5sRVnG48eP44vHj9pQfPI4Hj95EpfLq/ZUc/ttrHbrL5mCbp8f2ziaxGw8jVnePidmg0FUTXuGl81uG7tuRG213sT+6tErI20QcTjjTDuy2E6bLibzOJ8u4v7J53ExP42L2WmcL07jzvw8puMX97jcV0WsdttY77aH2NoU2zYo90Vs9+192nTbjrXbj7Xr59fFOp5vuk3Sj6aXX/u976bUR1m7ofzoaBq4nfrOYzJuD1aZjCdxNjmJz07vdUE5idl4FvNuHeLf/53fjMF//mv/TfNv//K/emOfrX6Y8XDkydHl/Y7aTVTd7tf9btz9WUHqw5qCKuqbO2hH0503sNuNPdrhzcOu2/1lR59zvM3B0/XzGEzzePj0p/FLD8axr6r40+dlXL2n40D6BZ/9KYDms1mcn5zE+elZXJxfxPnpScym7el/ThaLWMzagwqMpgHAq63X6+sDW46moFfrVeyK4rAv6Ktkg0GMuqib59M4m53EnZOzWEznMRq208ZlWcfVdhmX62W7XVSxi6JbatWv73vV1HQfjZNR3q61y6dxMlnExfw07szP4nx+EufT08P7w+HbDdD0M42r7TrWRRuVm2J3mF3c7Xex2Rfd2+1oXhuV7TrForo+U08flPVrpr4Hf/vv/NonNAbYrUPrT4oe7ZHP1Su+gmGWxbBbqzadTGMxm8X56WncvXMnPr9/P+7fuRuni5Nv5ZYCAPBt8yZT0K87Cno4yGI8HMVk3G6fdLE4iwfnd+Le6Z1YTGYxHA6jrqt4vlnF8+VlPL26jKvNKjbF5jCVetib8y2mpuf57MbU9Pl0Eefz9u3TfP7OB4uqbhp9tVvHptjFareJTbmLTbGNf/zPfi9G89ksyrLqdsKOm7tzZ9c7TmfdthqHzWqj3QF70I2K9QcJHPZ56vcMytr9hLLB9cezfgPUrNs5Oxt0R+a0HxsMshgO+0PCs8iGWQyz9gwGi9k8fvUv/krcOTt7p98oAODj9i6noJe7VVxuruLHz76I+NGLn98ebdzuUzkbT+Jkuojv3H0Qn53di3tnd+Le2UXcPb2Iqq7iydXzeLa8jOfrNhifra9iuVkd1uB93anpi/nZG01NHxsOR3E6PInT6ckLH/vDh38ag8dX9Sc1AggA8C59/Sno9ijiST8FPT+Je2d348HZ3bh3dhH3z+/E/bO7MRnnsdvv4snl83iyfB7PV1fxbHUZT5fP42q9jNV2E5v9rj1V5jc4Nf3f/tZvCEAAgDfRT0H/9OHDePT0cTx88iQePXncTUG3p5usv2QKuj0XcjsFPT2agr5/fjfud6OKn53djfPTi8P+nO0en5t4fPUsni6fx7P11deemm6iEYAAAO9aUZbx6PGj+OLRo3jcTUE/evIkrlbL2O52sS/L9sDYV3z+zSnoaZxM53H3tA3Efgr6s/N7cTJfvPC5ZVnG8/XVzanp5WU8W13FarOOJ6tnAhAA4ENartfxxaNH8fDJo3j85El88fhxPH3+LJbrdXsu6Deegs6PpqDv3JiC/uz8boxH7ZZ5/+C3f1MAAgB8Cuq6jqeXz+OLh4++xhR0ezo8AQgA8C3zuiloAQgAkBinqAAASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIzP8PAb+NY4ale4sAAAAASUVORK5CYII=", "text/html": [ "\n", "