{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Adjoint inverse design of a quantum emitter light extractor\n",
    "\n",
    "> The cost of running the entire optimization is about 8 FlexCredit (check this)\n",
    "\n",
    "In this tutorial, we will show how to perform the adjoint-based inverse design of a quantum emitter (QE) light extraction structure. We will use a `PointDipole` to model the QE embedded within an integrated dielectric waveguide. Then, we will build an optimization problem to maximize the extraction efficiency of the dipole radiation into a collection waveguide. In addition, we will show how to use `FieldMonitor` objects in adjoint simulations to calculate the flux radiated from the dipole. You can also find helpful information in this related [notebook](https://www.flexcompute.com/tidy3d/examples/notebooks/BullseyeCavityPSO/).\n",
    "\n",
    "<img src=\"img/adjoint_12.png\" width=400 alt=\"Schematic of the light extractor\">\n",
    "\n",
    "If you are unfamiliar with inverse design, we recommend the [inverse design lectures](https://www.flexcompute.com/tidy3d/learning-center/inverse-design/) and this [introductory tutorial](https://www.flexcompute.com/tidy3d/examples/notebooks/Autograd0Quickstart/).\n",
    "\n",
    "Let's start by importing the Python libraries used throughout this notebook."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Standard python imports.\n",
    "import pickle\n",
    "from typing import List\n",
    "\n",
    "# Import autograd for automatic differentiation.\n",
    "import autograd as ag\n",
    "import autograd.numpy as anp\n",
    "import matplotlib.pylab as plt\n",
    "import numpy as np\n",
    "import optax\n",
    "import scipy as sp\n",
    "\n",
    "# Import regular tidy3d.\n",
    "import tidy3d as td\n",
    "import tidy3d.web as web\n",
    "from tidy3d.plugins.autograd import (\n",
    "    make_erosion_dilation_penalty,\n",
    "    make_filter_and_project,\n",
    "    rescale,\n",
    "    value_and_grad,\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Simulation Set Up\n",
    "The coupling region (design region) extends a single-mode dielectric waveguide placed over a lower refractive index substrate. The QE is modeled as a `PointDipole` oriented in the `y`-direction. The QE is placed within the design region so we surround it with a constant refractive index region to protect it from etching."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Geometric parameters.\n",
    "cr_w = 1.0  # Coupling region width (um).\n",
    "cr_l = 3.0  # Coupling region length (um).\n",
    "wg_thick = 0.19  # Collection waveguide thickness (um).\n",
    "wg_width = 0.35  # Collection waveguide width (um).\n",
    "wg_length = 1.0  # Collection waveguide length (um).\n",
    "\n",
    "# Material.\n",
    "n_wg = 3.50  # Structure refractive index.\n",
    "n_sub = 1.44  # Substrate refractive index.\n",
    "\n",
    "# Fabrication constraints.\n",
    "min_feature = 0.06  # Minimum feature size.\n",
    "non_etch_r = 0.06  # Non-etched circular region radius (um).\n",
    "\n",
    "# Inverse design set up parameters.\n",
    "grid_size = 0.015  # Simulation grid size on design region (um).\n",
    "max_iter = 100  # Maximum number of iterations.\n",
    "iter_steps = 5  # Beta is increased at each iter_steps.\n",
    "beta_min = 1.0  # Minimum value for the tanh projection parameter.\n",
    "learning_rate = 0.02\n",
    "\n",
    "# Simulation wavelength.\n",
    "wl = 0.94  # Central simulation wavelength (um).\n",
    "bw = 0.04  # Simulation bandwidth (um).\n",
    "n_wl = 41  # Number of wavelength points within the bandwidth."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's calculate some variables used throughout the notebook. Here, we will also define the QE position and monitor planes."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Minimum and maximum values of the permittivity.\n",
    "eps_max = n_wg**2\n",
    "eps_min = 1.0\n",
    "\n",
    "# Material definition.\n",
    "mat_wg = td.Medium(permittivity=eps_max)\n",
    "mat_sub = td.Medium(permittivity=n_sub**2)\n",
    "\n",
    "# Wavelengths and frequencies.\n",
    "wl_max = wl + bw / 2\n",
    "wl_min = wl - bw / 2\n",
    "wl_range = np.linspace(wl_min, wl_max, n_wl)\n",
    "freq = td.C_0 / wl\n",
    "freqs = td.C_0 / wl_range\n",
    "freqw = 0.5 * (freqs[0] - freqs[-1])\n",
    "run_time = 3e-12\n",
    "\n",
    "# Computational domain size.\n",
    "pml_spacing = 0.6 * wl\n",
    "size_x = wg_length + cr_l + pml_spacing\n",
    "size_y = cr_w + 2 * pml_spacing\n",
    "size_z = wg_thick + 2 * pml_spacing\n",
    "eff_inf = 10\n",
    "\n",
    "# Source position and monitor planes.\n",
    "cr_center_x = wg_length + cr_l / 2\n",
    "qe_pos = td.Box(center=(cr_center_x - 0.5, 0, 0), size=(0, 0, 0))\n",
    "qe_field_plan = td.Box.surfaces(center=(cr_center_x, 0, 0), size=(cr_l, cr_w, 2 * wg_thick))\n",
    "wg_mode_plan = td.Box(center=(wl / 4, 0, 0), size=(0, 4 * wg_width, 5 * wg_thick))\n",
    "\n",
    "# Number of points on design grid.\n",
    "nx_grid = int(cr_l / grid_size)\n",
    "ny_grid = int(cr_w / grid_size / 2)\n",
    "\n",
    "# xy coordinates of design grid.\n",
    "x_grid = np.linspace(cr_center_x - cr_l / 2, cr_center_x + cr_l / 2, nx_grid)\n",
    "y_grid = np.linspace(0, cr_w / 2, ny_grid)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Optimization Set Up\n",
    "We will start defining the density-based optimization functions to transform the design parameters into permittivity values. Here we include the `ConicFilter`, where we impose a minimum feature size fabrication constraint, and the tangent hyperbolic projection function, eliminating intermediary permittivity values as we increase the projection parameter `beta`. You can find more information in the [Inverse design optimization of a compact grating coupler](https://www.flexcompute.com/tidy3d/examples/notebooks/Autograd6GratingCoupler/)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "def pre_process(params, beta):\n",
    "    filter_project = make_filter_and_project(\n",
    "        radius=min_feature, dl=grid_size, beta=beta, eta=0.5, filter_type=\"conic\"\n",
    "    )\n",
    "    params1 = filter_project(params, beta)\n",
    "    return params1\n",
    "\n",
    "\n",
    "def get_eps(params, beta: float = 1.00):\n",
    "    \"\"\"Returns the permittivities after filter and projection transformations\"\"\"\n",
    "    params1 = pre_process(params, beta=beta)\n",
    "    eps = eps_min + (eps_max - eps_min) * params1\n",
    "    eps = anp.maximum(eps, eps_min)\n",
    "    eps = anp.minimum(eps, eps_max)\n",
    "    return eps"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This function includes a circular region of constant permittivity value surrounding the QE. The objective here is to protect the QE from etching. In applications such as single photon sources, a larger unperturbed region surrounding the QE can be helpful to reduce linewidth broadening, as stated in `J. Liu, K. Konthasinghe, M. Davanco, J. Lawall, V. Anant, V. Verma, R. Mirin, S. Nam, S. Woo, D. Jin, B. Ma, Z. Chen, H. Ni, Z. Niu, K. Srinivasan, \"Single Self-Assembled InAs/GaAs Quantum Dots in Photonic Nanostructures: The Role of Nanofabrication,\" Phys. Rev. Appl. 9(6), 064019 (2018)` [DOI: 10.1103/PhysRevApplied.9.064019](https://link.aps.org/doi/10.1103/PhysRevApplied.9.064019)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def include_constant_regions(eps, circ_center=[0, 0], circ_radius=1.0):\n",
    "    # Build the geometric mask.\n",
    "    yv, xv = anp.meshgrid(y_grid, x_grid)\n",
    "\n",
    "    # Shouldn't this be --> |x-x0|^2 + |y-y0|^2 <= r*2\n",
    "    geo_mask = (\n",
    "        anp.where(\n",
    "            anp.abs((xv - circ_center[0]) ** 2 + (yv - circ_center[1]) ** 2) <= (circ_radius**2),\n",
    "            1,\n",
    "            0,\n",
    "        )\n",
    "        * eps_max\n",
    "    )\n",
    "    eps = anp.maximum(geo_mask, eps)\n",
    "    return eps"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now, we define a function to update the `td.CustomMedium` using the permittivity distribution. The simulation will include mirror symmetry concerning the `y`-direction, so only the upper half of the design region is returned by this function during the optimization process. To get the whole structure, you need to set `unfold=True`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "def update_design(eps, unfold=False) -> List[td.Structure]:\n",
    "    # Definition of the coordinates x,y along the design region.\n",
    "    coords_x = [(cr_center_x - cr_l / 2) + ix * grid_size for ix in range(nx_grid)]\n",
    "    eps_val = anp.array(eps).reshape((nx_grid, ny_grid, 1))\n",
    "\n",
    "    if not unfold:\n",
    "        coords_yp = [0 + iy * grid_size for iy in range(ny_grid)]\n",
    "        coords = dict(x=coords_x, y=coords_yp, z=[0])\n",
    "        eps1 = td.SpatialDataArray(eps_val, coords)\n",
    "        eps_medium = td.CustomMedium(permittivity=eps1)\n",
    "        box = td.Box(center=(cr_center_x, cr_w / 4, 0), size=(cr_l, cr_w / 2, wg_thick))\n",
    "        structure = [td.Structure(geometry=box, medium=eps_medium)]\n",
    "\n",
    "    # VJP for one of anp.copy(), anp.concatenate(), or anp.fliplr() not defined,\n",
    "    # so the optimization should only be run with `unfold=False` for now\n",
    "    else:\n",
    "        coords_y = [-cr_w / 2 + iy * grid_size for iy in range(2 * ny_grid)]\n",
    "        coords = dict(x=coords_x, y=coords_y, z=[0])\n",
    "        eps1 = td.SpatialDataArray(\n",
    "            anp.concatenate((anp.fliplr(anp.copy(eps_val)), eps_val), axis=1), coords\n",
    "        )\n",
    "        eps_medium = td.CustomMedium(permittivity=eps1)\n",
    "        box = td.Box(center=(cr_center_x, 0, 0), size=(cr_l, cr_w, wg_thick))\n",
    "        structure = [td.Structure(geometry=box, medium=eps_medium)]\n",
    "    return structure"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In the next cell, we define the output waveguide and the substrate, as well as the simulation monitors. It is worth mentioning the inclusion of a `ModeMonitor` in the output waveguide and a `FieldMonitor` box surrounding the dipole source to calculate the total radiated power."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Input/output waveguide.\n",
    "waveguide = td.Structure(\n",
    "    geometry=td.Box.from_bounds(\n",
    "        rmin=(-eff_inf, -wg_width / 2, -wg_thick / 2),\n",
    "        rmax=(wg_length, wg_width / 2, wg_thick / 2),\n",
    "    ),\n",
    "    medium=mat_wg,\n",
    ")\n",
    "\n",
    "# Substrate layer.\n",
    "substrate = td.Structure(\n",
    "    geometry=td.Box.from_bounds(\n",
    "        rmin=(-eff_inf, -eff_inf, -eff_inf), rmax=(eff_inf, eff_inf, -wg_thick / 2)\n",
    "    ),\n",
    "    medium=mat_sub,\n",
    ")\n",
    "\n",
    "# Point dipole source located at the center of TiO2 thin film.\n",
    "dp_source = td.PointDipole(\n",
    "    center=qe_pos.center,\n",
    "    source_time=td.GaussianPulse(freq0=freq, fwidth=freqw),\n",
    "    polarization=\"Ey\",\n",
    ")\n",
    "\n",
    "# Mode monitor to compute the FOM.\n",
    "mode_spec = td.ModeSpec(num_modes=1, target_neff=n_wg)\n",
    "mode_monitor_fom = td.ModeMonitor(\n",
    "    center=wg_mode_plan.center,\n",
    "    size=wg_mode_plan.size,\n",
    "    freqs=[freq],\n",
    "    mode_spec=mode_spec,\n",
    "    name=\"mode_monitor_fom\",\n",
    ")\n",
    "\n",
    "# Field monitor to compute the FOM.\n",
    "field_monitor_fom = []\n",
    "for i, plane in enumerate(qe_field_plan):\n",
    "    field_monitor_fom.append(\n",
    "        td.FieldMonitor(\n",
    "            center=plane.center,\n",
    "            size=plane.size,\n",
    "            freqs=[freq],\n",
    "            name=f\"field_monitor_fom_{i}\",\n",
    "        )\n",
    "    )\n",
    "\n",
    "# Mode monitor to compute spectral response.\n",
    "mode_spec = td.ModeSpec(num_modes=1, target_neff=n_wg)\n",
    "mode_monitor = td.ModeMonitor(\n",
    "    center=wg_mode_plan.center,\n",
    "    size=wg_mode_plan.size,\n",
    "    freqs=freqs,\n",
    "    mode_spec=mode_spec,\n",
    "    name=\"mode_monitor\",\n",
    ")\n",
    "\n",
    "# Field monitor to compute spectral response.\n",
    "field_monitor = []\n",
    "for i, plane in enumerate(qe_field_plan):\n",
    "    field_monitor.append(\n",
    "        td.FieldMonitor(\n",
    "            center=plane.center, size=plane.size, freqs=freqs, name=f\"field_monitor_{i}\"\n",
    "        )\n",
    "    )\n",
    "\n",
    "# Field monitor to visualize the fields.\n",
    "field_monitor_xy = td.FieldMonitor(\n",
    "    center=(size_x / 2, 0, 0),\n",
    "    size=(size_x, size_y, 0),\n",
    "    freqs=freqs,\n",
    "    name=\"field_xy\",\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Lastly, we have a function that receives the design parameters from the optimization algorithm and then gathers the simulation objects altogether to create a `td.Simulation`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "def make_adjoint_sim(param, beta: float = 1.00, unfold=False):\n",
    "    eps = get_eps(param, beta)\n",
    "    eps = include_constant_regions(\n",
    "        eps, circ_center=[qe_pos.center[0], qe_pos.center[1]], circ_radius=non_etch_r\n",
    "    )\n",
    "    structure = update_design(eps, unfold=unfold)\n",
    "\n",
    "    # Creates a uniform mesh for the design region.\n",
    "    adjoint_dr_mesh = td.MeshOverrideStructure(\n",
    "        geometry=td.Box(center=(cr_center_x, 0, 0), size=(cr_w, cr_l, wg_thick)),\n",
    "        dl=[grid_size, grid_size, grid_size],\n",
    "        enforce=True,\n",
    "    )\n",
    "\n",
    "    grid_spec = td.GridSpec.auto(\n",
    "        wavelength=wl_max,\n",
    "        min_steps_per_wvl=15,\n",
    "        override_structures=[adjoint_dr_mesh],\n",
    "    )\n",
    "\n",
    "    return td.Simulation(\n",
    "        size=[size_x, size_y, size_z],\n",
    "        center=[size_x / 2, 0, 0],\n",
    "        grid_spec=grid_spec,\n",
    "        symmetry=(0, -1, 0),\n",
    "        structures=[substrate, waveguide] + structure,\n",
    "        sources=[dp_source],\n",
    "        monitors=[field_monitor_xy, mode_monitor_fom] + field_monitor_fom,\n",
    "        run_time=run_time,\n",
    "        subpixel=True,\n",
    "    )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Initial Light Extractor Structure\n",
    "Let's create a uniform initial permittivity distribution and verify if all the simulation objects are in the correct places."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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c+fivvvuC6uc77//Pn799deAae7xdtddd+Gdd97BH3/8kbAyEEII8ZIkCevWrcNVV13VZBYJ6m9NamjChAkQBMH3740bN8LlcmHy5MkBib0nTJgAs9nsu/3KYrEAAD755BPU1tYGLYs8Y+jdd9+FJElhf4ZwXrd27Vr06tULPXv2RHl5ue8hJ4vevHkzUH+LliRJmDFjRpNE5ZHkEdqxYweOHz+Oe+65BwaDwbd9+PDh6NmzZ9Db0+66666Af59//vn4888/W3yvtLQ03/9XV1ejvLwc559/Pmpra/HLL78oLjvq623EiBF4/fXXfbeLiaKINWvWYOTIkQE5xVatWoUNGza0+Gg486euri5gJl5DBoMBdXV1zZavrq4Oer0+6Gvl5xv+N9S+Lb1PRUUFADSb3ypct99+e8B3qbCwEIwx3H777b5tgiDg7LPPDlrvchnKy8ujLgshqYRu3yOtWltO1BkKz/MBnScS2pEjR7Bw4ULce++9WLp0KQDgjjvuwLBhw/D3v/8do0aNCujAN/bWW29h69atWLt2La6//noAwA033IAePXpg5syZWL16tW/fhx56CH379sWnn34KjcZ7ajabzXjyySfxwAMPoGfPns2W9ZVXXsF5552HTp06qfTplSsqKkJWVhZeffVVzJkzJ2HlIIQQApw4cQI2my3s24AKCgoC/n3gwAGgPr9QQzqdDn/5y198zxcUFKCkpASLFi3CqlWrcP755+Pqq6/GmDFjfAGrG2+8ES+99BLuuOMOPPLII7jkkktw7bXX4vrrr292JbtwXrd37178/PPPaN++fdBjHD9+HADwxx9/gOd5nHHGGWH9PVoS6u8DAD179sRXX30VsM1gMDQpY1ZWFiorK1t8rx9//BHTpk3DZ599BpvNFvBcw7xdSo0dOxZr1qzBl19+iQsuuAAbN25EWVkZbrnlloD9zjvvPMXHTktL8+Uta8zhcAQE2kK9PlhOMIfD4Xu+4X9D7dvS+8jUyON0yimnBPxb/v536dKlyfZg9S6XIZHJ1glJBJopRVIGJeoMRIk6/WWS92v8CJacUol3330Xbrc7IEknx3G4++67cfjwYWzbtq3Z17/11lvIzc3Ftdde69vWvn173HDDDXj33Xd99frTTz/hp59+wsSJE30BKdTn92CM4a233mr2fRwOB9avX4+ioqKA7fIqMsFmzDX++8yaNQscx+G3337zDSTat2+P6dOngzGGQ4cOYcSIETCbzcjLy8PChQubHFOr1eLCCy/Eu+++22x5CSGEJJ9wB+/BLFy4EP/73//w6KOPoq6uDvfffz969+6Nw4cP+479xRdfYOPGjbjlllvwv//9DzfeeCP++te/Ntt/COd1kiShT58+IWfvNE60nSjNXcRqTlVVFYYNG4b//ve/mDNnDt5//31s2LAB8+fPB+o/f6SKi4uRm5uL//znP0B93zIvL69Jf+LEiRMoLS1t8VFTU+N7TceOHSGKoi8oKHO5XKioqEB+fn6zZevYsSOOHTvWZLu8TX59x44dA7Y33rel98nOzgbq82aFK1QAK1QdB9se7BhyGXJycsIuCyGtAc2UIimBEnVSos5Q7rzzziadp/Xr12PVqlXo0KGDb1u4U6EzMjJ8U8B37doFk8mEXr16BewjJ9nctWsXhg4dGvJYu3btwllnndXkKvA555yDF154Ab/99hv69OkTMhlofn4+Onfu3GKSzp07d8LlcqmSpPPGG29Er1698NRTT+HDDz/E3Llz0a5dOzz//PO4+OKLMX/+fKxatQoPPfQQBg0a1OQ20IEDB+Ldd9+FzWZrkpyUEEJI/LRv3x5msxk//PBDRK/v2rUrAODXX3/FX/7yF992l8uFffv2NWl7+/Tpgz59+mDatGnYunUrzjvvPKxYsQJz584F6mdqX3LJJbjkkkuwaNEiPPnkk3jsscewefPmJsdqqKXXnXrqqfjvf/+LSy65pNkZJqeeeiokScJPP/2E/v37h9wv3FkqDf8+8q2Csl9//dX3fLS2bNmCiooKvP322wFt7r59+5rsq3SGjSAI+Nvf/oaVK1di/vz5WLduXZPbOAFg0KBBvplhzZk5c6bvgpf8N96xYweuuOIK3z47duyAJEnN1oH8+s2bNzfpT2zfvj3g+GeeeSY0Gg127NiBG264wbefy+XC7t27A7YFI89ED/b3RP3tko01DrSpRS5D434nIa1eopNaERIOStRJiTrDtXfvXmaxWNhf//rXgO9BOAk6AQQkhx8+fDj7y1/+0uQ97HY7A8AeeeSRZstiMpnYbbfd1mT7hx9+yACw9evXM8YYW7BgAQPADh482GTfQYMGsXPPPbfZ93nppZcYALZnz56A7fv27WvymRr+PRom75w5cyYDwCZOnOjbJifj5DiOPfXUU77tlZWVLC0tLSDJp2z16tUMANu+fXuzZSaEEBJ7SvpPjfeR+0+XXXZZQP9i+fLlAf0nq9XaZFEOm83GeJ5nDz30EGOMsYqKiibvL7eFH3zwQcjyh/O6lStXMgDs+eefb7JvbW2tL2F3uP2nwsJC1q9fvybHCtV/6tu3b0Af5qOPPgrafzKZTE2OKbe9zXnvvfcYALZlyxbfNqfTyfr3799k4Zobb7yRZWZmNnu8xr7//nsGgI0aNYoBCLoYy1dffcU2bNjQ4uOPP/7wvaa2tpa1a9eOXXnllQHHGjNmDDMajQF1e+LECfbzzz8zu93u2/bNN98wAGzBggW+bQ6Hg5122mmssLAw4JiXXXYZ69ixI7PZbL5tct/o448/bvFv0KVLF3bLLbc02Q6AnXXWWQHb5PodO3asb1uo35Bcv437/6G+Dw8++CCzWCwB30dC2gKaKUWSXiwTdT766KP48MMPMX78+IBEnVdccYVvSduGGibcHD9+fLN5EJS+rnGiTlnDRJ1DhgyJWaLOWbNmhUzUOXv27IDXBEvU+e9//7vF92qcqNPpdOL888/H888/j19++QX9+vVTXP6G7HY7rrnmGmRlZeH1118P+B5s2LAhrGP07t3b9//hJtkMRa0knY3zRzSmZpLOO+64w/f/cjLOw4cPByTpzMzMxOmnn05JOgkhJMk9+eST+PTTTzFs2DDfLOxjx45h7dq1+OqrrwJmQjfWvn17TJ06FbNnz8Zll12Gq6++Gr/++iuWL1+OQYMGYcyYMQCAzz77DJMmTcKoUaPQo0cPeDwe/Pvf/4YgCLjuuusAAHPmzMEXX3yB4cOHo2vXrjh+/DiWL1+Ozp07NzvjOJzX3XLLLXjzzTdx1113YfPmzTjvvPMgiiJ++eUXvPnmm/jkk09w9tln47TTTsNjjz2Gxx9/HOeffz6uvfZa6PV6fPfdd8jPz8e8efOA+hm/zz33HObOnYvTTjsNHTp0aDITCvW3rM+fPx/jx4/HsGHDMHr0aN9M827duuHBBx+Muv4AYMiQIcjKysK4ceNw//33g+M4/Pvf/w56+9fAgQOxZs0alJSUYNCgQUhPT8dVV13V7PEHDBiAM88809cPDTbrOtKcUo8//jjuvfdejBo1CsXFxfjyyy/xn//8B0888QTatWvn23fp0qWYPXs2Nm/e7Es3UVhYiFGjRmHq1Kk4fvw4TjvtNLz66qvYv38//vWvfwW81xNPPIEhQ4b4vueHDx/GwoULcemll+Kyyy5rsawjRozAO++8A8ZYk770zz//jCuuuAJXX301jh49in/+85+wWCzYunUrXn/9dYwePVrx3yaUDRs24KqrrqKcUqTNoaAUSXqUqNOLEnW2bMKECfjjjz+wdetWX44AWXO3BoQSbpLNaF+f7Ek6DQZDk/wGFovFFwwLVgbqUBFCSOJ16tQJ27dvx/Tp07Fq1SrYbDZ06tQJl19+edCLb43NmjUL7du3x9KlS/Hggw+iXbt2mDhxIp588klotVoAQL9+/VBcXIz3338fR44cgdFoRL9+/fDxxx/j3HPPBQBcffXV2L9/P15++WWUl5cjJycHw4YNw+zZs319rGDCeR3P81i3bh0WL16M1157De+88w6MRiP+8pe/4IEHHkCPHj18x5szZw4KCgrw7LPP4rHHHoPRaETfvn0DEnvPmDEDBw4cwNNPP43q6moMGzYsaFAK9XktjUYjnnrqKTz88MMwmUy45pprMH/+/GYDfkpkZ2fjgw8+wP/7f/8P06ZNQ1ZWFsaMGYNLLrkExcXFAfvec8892L17N1555RUsXrwYXbt2bTEohfqE51OmTGmS4Dxa99xzD7RaLRYuXIj33nsPXbp0weLFi/HAAw+E9frXXnsN06dPx7///W9UVlaib9+++OCDD5qkDjjrrLOwceNGPPzww3jwwQeRkZGB22+/3RdobMltt92GpUuX4uuvv24SJL377rtx6NAhlJSUIDMzE08++SQ0Gg1KSkrw2WefqRaU+uWXX/DDDz8kzerThMRVoqdqEdKS0tJSBoA99thjze4XaursvHnzGICAKcWy/v37s7PPPjtg2//+9z/2+OOPs/PPP5/xPM86derEDh065HteFEW2ceNG9uCDD7JevXoxAOziiy8OuFUsmJZed/rpp7M+ffqEnBL9yy+/MMYYu+uuuxjP88zpdDb7fuHevvf6668zAGzTpk1N9h05ciTLycnx/Tua6eeVlZUsOzubFRQUsCVLlrD333+fbdiwgc2fP7/J9PNIbt9bsmQJA8D+85//BH3+2LFjYT0a3mJ4xx13MKPR2GQa9e+//84AsGeeeabZMp122mns8ssvb7JdnlL+v//9jzHG2H/+85+Qt7x17tyZXXvt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RERERERElEwclCKibg0cOBAvvfQSFi9ejLq6OrS0tGDmzJmoqqrCpEmTutzvo48+wrhx4xJ6zqeffhrjx49HfX09ysvLMXPmTFRWVuKWW27Bzp078dOf/hSVlZUQQgT3Oeecc5Cbm4sPP/wwoeckIiIiIiKi1OGgFBHF5LrrrsMdd9yBGTNm4Fe/+hXS09NRU1PTZfumpiY0NzcjPz8/4ee78847UVhYiEWLFsHtduPSSy9FRUUFRo4cifvvvx9fffUVDh8+HLZffn4+9u/fn9BzEhERERERUepwUIqIYvbUU08hEAhg7dq1WLVqFZxOZ5dtT506BQBwuVwJPVdRUVHw/7m5uQCACy+8sNO2I0eOhO2XlpaGkydPJvScRERERL0FKxgT0emAg1JEFLO9e/fihx9+gKIo2LdvX9S2Z555JiRJwokTJ7p9XFmWO22z2+3B/0uS1OW2jh+gjh8/joEDB8ZwNkRERES9EysYE9HpgoNSRBSTtrY23HLLLZg2bRoeeeQR3H777Z1mKYVyOBwYPXo09uzZ0+m+jpfcfffdd6Yco9frxd69e3HRRReZ8nhEREREPYEVjInodMFBKSKKyUMPPYTm5mYsW7YM999/P0aOHIlbb7016j5lZWX46KOPOm1/44038Prrr2Pv3r34/e9/jz179mD//v343//+Z+gYt23bBqfTiZKSEkOPQ0RERGQGVjAmIoqOg1JE1K3a2lo888wzeOWVV5CVlQWLxYJXXnkFH374IZYvX97lfrfddhvefvttNDc3h20vLy/HE088gdGjR+ODDz7Ac889h08//RSvvPKKoeN89dVXMWPGDAwYMMDQ4xARERGZgRWMiYiis/X0ARBR71daWgq/3x+2bfjw4Z0GmzoaPXo0ysvL8dxzz+GBBx4Ibh88eDDWrl0b1vauu+4K/j/SelWhH5y05w/dduzYMaxbt67TN39EREREPSm0gvG4ceNSVsEYABYtWoTly5cHKxgDwP3334+SkhIcPnwYeXl5wf1YwZiIegJnShFRUj355JPIyMhI+vPs27cPzz33HAoKCpL+XERERETxYAVjIqLIOChFREk1fPhw3H333Ul/nnHjxmHatGlJfx4iIiKieLGCMRFRZLx8j4hSqra2tqcPgYiIiChlQisYjxo1Crfffjt2796Ns88+O2L70ArGV199ddh9kSoYn3nmmYaPkRWMiaincKYUERERERFRkrCCMRFR1zgoRURERERElASsYExEFJ0kOpa0IiIiIiIioh5VUVGBiy++OFjBuLS0FGPHjsUzzzxj6vMcO3YMo0aNQl1dHQvGEFHKcaYUERERERFRL8MKxkR0OuBMKSIiIiIiol4uWTOliIh6EgeliIiIiIiIiIgo5Xj5HhERERERERERpRwHpYiIiIiIiIiIKOU4KEVERERERERERCnHQSkiIiIiIiIiIko5DkoREREREREREVHKcVCKiIiIiIiIiIhSjoNSRERERERERESUchyUIiIiIiIiIiKilPt/PYp3vDyNJNEAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1200x400 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "init_par = np.ones((nx_grid, ny_grid)) * 0.5\n",
    "init_design = make_adjoint_sim(init_par, beta=beta_min, unfold=True)\n",
    "\n",
    "fig, (ax1, ax2) = plt.subplots(1, 2, tight_layout=True, figsize=(12, 4))\n",
    "init_design.plot_eps(z=0, ax=ax1, monitor_alpha=0.0)\n",
    "init_design.plot_eps(y=0, ax=ax2)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We will also look at the collection waveguide mode to ensure we have considered the correct one in the `ModeMonitor` setup. We use the `ModeSolver` plugin to calculate the first two waveguide modes, as below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">16:10:23 CEST </span>Mode solver created with                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span><span style=\"color: #808000; text-decoration-color: #808000\">task_id</span>=<span style=\"color: #008000; text-decoration-color: #008000\">'fdve-65e65354-aedf-458c-a514-a7eccc5e4b24'</span>,              \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span><span style=\"color: #808000; text-decoration-color: #808000\">solver_id</span>=<span style=\"color: #008000; text-decoration-color: #008000\">'mo-581ee868-4940-489c-bab0-2c43f11c8df2'</span>.              \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m16:10:23 CEST\u001b[0m\u001b[2;36m \u001b[0mMode solver created with                                          \n",
       "\u001b[2;36m              \u001b[0m\u001b[33mtask_id\u001b[0m=\u001b[32m'fdve-65e65354-aedf-458c-a514-a7eccc5e4b24'\u001b[0m,              \n",
       "\u001b[2;36m              \u001b[0m\u001b[33msolver_id\u001b[0m=\u001b[32m'mo-581ee868-4940-489c-bab0-2c43f11c8df2'\u001b[0m.              \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0c1827ce3c9b4a6f89d653d79cb84030",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d65362ccd04c46cbbdfdda5f0565453b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">16:10:26 CEST </span>Mode solver status: queued                                        \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m16:10:26 CEST\u001b[0m\u001b[2;36m \u001b[0mMode solver status: queued                                        \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">16:10:28 CEST </span>Mode solver status: running                                       \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m16:10:28 CEST\u001b[0m\u001b[2;36m \u001b[0mMode solver status: running                                       \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">16:10:32 CEST </span>Mode solver status: success                                       \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m16:10:32 CEST\u001b[0m\u001b[2;36m \u001b[0mMode solver status: success                                       \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0715bf4e1f994ad7a99c8d2829358eaf",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from tidy3d.plugins.mode import ModeSolver\n",
    "from tidy3d.plugins.mode.web import run as run_mode_solver\n",
    "\n",
    "sim_init = init_design.updated_copy(monitors=[field_monitor_xy, mode_monitor] + field_monitor)\n",
    "\n",
    "mode_solver = ModeSolver(\n",
    "    simulation=sim_init,\n",
    "    plane=wg_mode_plan,\n",
    "    mode_spec=td.ModeSpec(num_modes=2),\n",
    "    freqs=[freq],\n",
    ")\n",
    "modes = run_mode_solver(mode_solver, reduce_simulation=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "After inspecting the mode field distribution, we can confirm that the fundamental waveguide mode is mainly oriented in the `y`-direction, thus matching the dipole orientation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7cAAAJOCAYAAABsjvBmAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAA94FJREFUeJzs3Xl8FEXeBvCnZ3ISkgABckC4FOUWBIwICko0rqCgeOCiILKgCAqiK+JyKLIiePGyIigqiBvA1V3xxoPDCwSJIqeIgAJCwiE5ICSZTNf7B9BVnUxnOsdkJpnn62c+Ft3VPVU9SX5T3XVoQggBIiIiIiIiohrM4e8CEBEREREREVUWG7dERERERERU47FxS0RERERERDUeG7dERERERERU47FxS0RERERERDUeG7dERERERERU47FxS0RERERERDUeG7dERERERERU47FxS0RERERERDUeG7fkU4sXL4amafjtt98C+pzB6LrrrsPIkSP9Wobjx48jKioKH3/8sV/LQUQU7BivA4+u6+jQoQP++c9/+rUcO3bsQEhICLZt2+bXchDZwcYtURV7//33cfHFFyMiIgLNmjXDtGnTUFxcXOHztWjRApqmeXxde+21FTrnt99+i88++wwTJ06scLmqQlxcHP72t79hypQpfi0HEREFn0CP18uWLcOBAwcwduzYCpepKrRr1w79+vXD1KlT/VoOIjtC/F0Aqt3uvPNODB48GOHh4f4uSrX45JNPMHDgQPTp0wf/+te/sHXrVsyYMQNHjhzB/PnzK3zezp0746GHHiq1PSkpqULne+aZZ9C3b1+cf/75FS5TVbn33nsxd+5crF69GldddZW/i0NEFJQYrwMvXj/zzDMYPHgwYmNjK1yeqnLvvffiuuuuw549e3Deeef5uzhElti4JZ9yOp1wOp3+Lka1efjhh9GpUyd89tlnCAk58+sVExODp556CuPGjUObNm0qdN4mTZrgjjvuqJIyHjlyBB999BEWLFhQJeerrLZt26JDhw5YvHgxG7dERH7CeB1Y8frHH3/ETz/9hOeee67S56oKqampqF+/Pt544w1Mnz7d38UhssRuyeRTnsbbtGjRAv3798c333yDSy65BBEREWjVqhWWLFlS6vjt27fjqquuQmRkJJo2bYoZM2ZA13WP7/XJJ5/g8ssvR1RUFKKjo9GvXz9s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8i4wUU3BWB0YaludWJ/AV1PqxFjte7xtQERERERERDUeG7dERERERERU47FxWwuFh4dj2rRpCA8P93dRqkxtqxPrE9hqW32IKPDUxr8zta1OrE/gq411osrhhFJERERERERU4/HJLREREREREdV4bNwSERERERFRjcfGLREREREREdV4bNwSERERERFRjcfGbQ0hhMDUqVORmJiIyMhIpKamYvfu3WUe8/jjj0PTNNOrTZs2pjwFBQUYM2YM4uLiULduXQwaNAhZWVk+rk3F6jNz5kx0794d0dHRaNy4MQYOHIhdu3aZ8vTp06dUne+9914f1waYN28eWrRogYiICKSkpGDjxo1l5n/77bfRpk0bREREoGPHjvj4449N+ytyfapaeeq0cOFCXH755ahfvz7q16+P1NTUUvnvuuuuUp/NtddeWw01OaM89Vm8eHGpskZERJjyBMJnRESBpbbFajBeB3y8ZqxmrKYSBNUITz/9tIiNjRUrVqwQP/30k7jhhhtEy5YtxenTpy2PmTZtmmjfvr04fPiw8Tp69Kgpz7333iuSk5PFqlWrxKZNm8Sll14qLrvssoCsT1pamli0aJHYtm2b2Lx5s7juuutEs2bNxMmTJ408vXv3FiNHjjTVOScnx6d1Wb58uQgLCxOvv/662L59uxg5cqSoV6+eyMrK8pj/22+/FU6nU8yePVvs2LFDTJ48WYSGhoqtW7caeSpyffxZp7/+9a9i3rx54scffxQ7d+4Ud911l4iNjRUHDx408gwbNkxce+21ps/mzz//DMj6LFq0SMTExJjKmpmZacrj78+IiAJPbYvVgvE6oOM1YzVjNZXGxm0NoOu6SEhIEM8884yxLTs7W4SHh4tly5ZZHjdt2jRx0UUXWe7Pzs4WoaGh4u233za27dy5UwAQ69evr8IamFW0PiUdOXJEABBffvmlsa13795i3LhxVV7mslxyySVizJgxxr/dbrdISkoSM2fO9Jj/1ltvFf369TNtS0lJEffcc48QVXh9KqO8dSqpuLhYREdHizfeeMPYNmzYMDFgwACflNeb8tZn0aJFIjY21vJ8gfAZEVFgqW2xWjBeB3y8ZqxmrKbS2C25Bti3bx8yMzORmppqbIuNjUVKSgrWr19f5rG7d+9GUlISWrVqhSFDhmD//v3GvoyMDLhcLtN527Rpg2bNmnk9b2VUpj6qnJwcAECDBg1M29PT09GwYUN06NABkyZNQn5+fhWW3qyoqAgZGRmmujgcDqSmplrWZf369ab8AJCWlmbkr6rrU1EVqVNJ+fn5cLlcpT6btWvXonHjxrjwwgsxevRoHD9+vMrLX1JF63Py5Ek0b94cycnJGDBgALZv327s8/dnRESBp7bFajBeB3S8Zqw+g7GaSgrxdwHIu8zMTABAfHy8aXt8fLyxz5OUlBQsXrwYF154IQ4fPownnngCl19+ObZt24bo6GhkZmYiLCwM9erVK9d5K6ui9VHpuo7x48ejZ8+e6NChg7H9r3/9K5o3b46kpCRs2bIFEydOxK5du/C///2vimtxxrFjx+B2uz3W5eeff/Z4TGZmZpl1r4rrUxkVqVNJEydORFJSkimgXHvttbjpppvQsmVL7NmzB4899hj+8pe/YP369XA6nVVej3MqUp8LL7wQr7/+Ojp16oScnBw8++yzuOyyy7B9+3Y0bdrU758REQWe2harwXgd0PGasZqxmjxj4zYApaen45577jH+/dFHH1XoPH/5y1+MdKdOnZCSkoLmzZvjP//5D0aMGFElZbWjquqjGjNmDLZt24ZvvvnGtH3UqFFGumPHjkhMTETfvn2xZ88enHfeeZV+X/Lu6aefxvLly7F27VrTxA6DBw820h07dkSnTp1w3nnnYe3atejbt6+fSutZjx490KNHD+Pfl112Gdq2bYuXX34ZTz75pF/LRkSBobbFajBeBxXGaqqt2C05AN1www3YvHmz8WrYsCEAlJoZMSsrCwkJCbbPW69ePVxwwQX49ddfAQAJCQkoKipCdnZ2pc7rTVXXZ+zYsfjwww+xZs0aNG3atMy8KSkpAGDUuao1bNgQTqezXHVJSEgoM/+5/1f2866oitTpnGeffRZPP/00PvvsM3Tq1KnMvK1atULDhg199tmcU5n6nBMaGoouXbqYfnfgx8+IiPyvtsVqMF6XEsjxmrG6NMZqAhu3gSk6Ohrnn3++8WrXrh0SEhKwatUqI09ubi42bNhgumPlzcmTJ7Fnzx4kJiYCALp27YrQ0FDTeXft2oX9+/eX67zVVR8hBMaOHYt3330Xq1evRsuWLb2+9+bNmwHAqHNVCwsLQ9euXU110XUdq1atsqxLjx49TPkB4PPPPzfyt2zZsko+74qqSJ0AYPbs2XjyySexcuVKdOvWzev7HDx4EMePH/fZZ3NOReujcrvd2Lp1q1FWf39GROR/tS1WV2WdGK99HwsYq0tjrCaASwHVGE8//bSoV6+eeO+998SWLVvEgAEDSk1lftVVV4l//etfxr8feughsXbtWrFv3z7x7bffitTUVNGwYUNx5MgRI8+9994rmjVrJlavXi02bdokevToIXr06BGQ9Rk9erSIjY0Va9euNU37np+fL4QQ4tdffxXTp08XmzZtEvv27RPvvfeeaNWqlbjiiit8Wpfly5eL8PBwsXjxYrFjxw4xatQoUa9ePWM6+jvvvFM8+uijRv5vv/1WhISEiGeffVbs3LlTTJs2zePSAt6uTyDV6emnnxZhYWHinXfeMX02eXl5Qggh8vLyxMMPPyzWr18v9u3bJ7744gtx8cUXi9atW4uCgoKAq88TTzwhPv30U7Fnzx6RkZEhBg8eLCIiIsT27dtNdfbnZ0REgae2xeqK1onxuvqWAmKsZqwmMzZuawhd18WUKVNEfHy8CA8PF3379hW7du0y5WnevLmYNm2a8e/bbrtNJCYmirCwMNGkSRNx2223iV9//dV0zOnTp8V9990n6tevL+rUqSNuvPFGcfjw4YCsDwCPr0WLFgkhhNi/f7+44oorRIMGDUR4eLg4//zzxd///nefr5snhBD/+te/RLNmzURYWJi45JJLxHfffWfs6927txg2bJgp/3/+8x9xwQUXiLCwMNG+fXvx0UcfmfbbuT6+Vp46NW/e3ONnc+7zy8/PF9dcc41o1KiRCA0NFc2bNxcjR44stR5doNRn/PjxRt74+Hhx3XXXiR9++MF0vkD4jIgosNS2WF3ROjFeV18sYKxmrCYzTZz5I0RERERERERUY3HMLREREREREdV4bNwSERERERFRjcfGLREREREREdV4bNwSERERERFRjcfGLREREREREdV4bNwSERERERFRjcfGLREREREREdV4bNwSERERERFRjcfGLZGPvPbaa7jmmmt8/j4rV65E586doeu6z9+LiIioNmGsJqpd2Lgl8oGCggJMmTIF06ZN8/l7XXvttQgNDUV6errP34uIiKi2YKwmqn3YuCXygXfeeQcxMTHo2bNntbzfXXfdhblz51bLexEREdUGjNVEtQ8bt0RlWLJkCeLi4lBYWGjaPnDgQNx5552Wxy1fvhzXX3+9aVufPn0w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6dGjB1599VXs3bsXrVq1Mu0LCQkxelft3LkTHTt2RKdOnSpUlpMnT+LGG29EkyZN8MYbb5TZ5TgjIwOxsbHGLNlEgYiNWwpYjzzyCN58801ce+21GDdunLG0QPPmzbFlyxYjX0xMDObPn48777wTF198MQYPHoxGjRph//79+Oijj9CzZ0+8+OKLKCgowLBhw9C6dWv885//BM4GmA8++ADDhw/H1q1bjckTKjqG56uvvsJXX30FnA3Sp06dwowZM4CzS+NcccUVRl5N09C7d2+jy1VZcnJy8O9//9vjvpITSAwdOhQ333wzABjjcVS9evVCXFwcvvjiC4+N27/+9a945JFH8O6772L06NGlvnzg7IQZOLten5UFCxZg9erVuPfee02ThABAfHw8rr76auPfn3/+OXr27Im4uDjL8xERUWBivJa8xeutW7fiySefxBVXXIEjR46Uynsupvfr1w8hISH44osvPA7pGTp0KObOnYs1a9Zg1qxZHt/PTrmfeOIJ7NixA5MnT8Z7771n2qcuI4izsfr666/nmFsKbP6erplqN6ulBfr161cqb+/evUtNxb9lyxbRu3dvERERIZo0aSKefPJJ8dprr5U6pxBCrFmzRqSlpYnY2FgREREhzjvvPHHXXXeJTZs2CSGEePDBB4XT6TQtVSCEEJs2bRIhISFi9OjRla7vtGnTLJcBUJfjycvLEwDE4MGDvZ7T2zIHJRUWFor69euL2NhYcfr0aY/nfOCBB8T5559v+Z7XXXedACDWrVvncX/Dhg3FpZdeWma5y7oW6uecnZ0twsLCxKuvvlrm+YiIyHcYr6snXq9Zs8Z2TL/hhhtE3759Ld+vffv2wuFwiIMHD5baZ7fcw4YNs7V80s6dOwUA8cUXX3i9DkT+pImKzAhARJXy8ccfo3///vjpp5/QsWPHKj13cXExkpKScP311+O1117zmGfv3r1o06YNPvnkE/Tt27fU/htvvBFbt27Fr7/+Wmrfjh070L59e3z44Yfo169fpcs7Z84czJ49G3v27EFkZGSlz0dERFRVfBmvvfn666/Rp08f/Pzzz2jdunWp/V26dEGDBg2watWqUvuqutzjx4/HV199ZQwjIgpUFZ9WjYgqbM2aNRg8eLBPAuWKFStw9OhRDB061DJPq1atMGLECDz99NOl9h0+fBgfffSR5eQUa9as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3e9+h1/96lf92jZCSHIw0LQa1Ou0glpNBio0S05CrrzySmzbts36FBcXA0AXz4hVVVUoLS11XW9BQQHGjh2Lzz//HABQWlqKtrY21NTU9KreaMS7P/PmzcPf/vY3/OMf/8Cpp57abdlp06YBgNXneFNcXAyv1xtTX0pLS7st3/lvb493T+lJnzp57LHHsGTJErz++uuYOHFit2VHjx6N4uLihB2bTnrTn04yMjIwefJk228H/XiMCCH9z0DTalCvu5DMek2t7gq1moCT2+QkNzcXp59+uvU588wzUVpainXr1lll6urqsHnzZtsTq2g0NDRg9+7dGDZsGABgypQpyMjIsNW7c+dO7Nu3L6Z6+6o/SinMmzcPf/nLX/D3v/8d5eXlUfe9bds2ALD6HG/8fj+mTJli64tpmli3bp1jXyoqKmzlAeCNN96wypeXl8flePeUnvQJAB599FH86le/wtq1azF16tSo+zlw4ACOHTuWsGPTSU/7IwmFQtixY4fV1v4+RoSQ/megaXU8+0S9TrwWUKu7Qq0mAEMBpQxLlixRBQUF6qWXXlLbt29XV111VRdX5tOnT1e//e1vrb//1//6X2r9+vVqz5496u2331YzZ85UxcXFqrq62ipzxx13qBEjRqi///3vasuWLaqiokJVVFQkZX/uvPNOlZ+fr9avX29z+97U1KSUUurzzz9XDz/8sNqyZYvas2ePeumll9To0aPVxRdfnNC+rFy5UgUCAbVs2TL18ccfq9tvv10VFBRY7uhvuOEG9fOf/9wq//bbbyufz6cee+wx9cknn6hFixZFDC0QbXySqU9LlixRfr9f/dd//Zft2NTX1yullKqvr1c//elP1caNG9WePXvUf//3f6tzzjlHjRkzRrW0tCRdfx566CH12muvqd27d6utW7eq6667TmVmZqqPPvrI1uf+PEaEkORjoGl1T/tEve67UEDUamo1scPJbYpgmqZ68MEHVUlJiQoEAmrGjBlq586dtjIjR45UixYtsv6+9tpr1bBhw5Tf71ennHKKuvbaa9Xnn39u26a5uVn9+Mc/VoMHD1aDBg1S3/nOd9Thw4eTsj8AIn6WLl2qlFJq37596uKLL1aFhYUqEAio008/Xf3sZz9LeNw8pZT67W9/q0aMGKH8fr8677zz1KZNm6zvLrnkEnXTTTfZyv/5z39WY8eOVX6/X5111lnqlVdesX3vZnwSTSx9GjlyZMRj03n8mpqa1GWXXaaGDBmiMjIy1MiRI9Vtt93WJR5dsvRn/vz5VtmSkhL1zW9+U73//vu2+pLhGBFCkouBptU97RP1uu+0gFpNrSZ2DNVxESKEEEIIIYQQQlIWrrklhBBCCCGEEJLycHJLCCGEEEIIISTl4eSWEEIIIYQQQkjKw8ktIYQQQgghhJCUh5NbQgghhBBCCCEpDye3hBBCCCGEEEJSHk5uCSGEEEIIIYSkPJzcEkIIIYQQQghJeTi5JSRBvPDCC7jssssSvp+1a9di0qRJME0z4fsihBBCBhLUakIGFpzcEpIAWlpa8OCDD2LRokUJ39fll1+OjIwMLF++POH7IoQQQgYK1GpCBh6c3BKSAP7rv/4LeXl5uPDCC/tkfzfffDOefPLJPtkXIYQQMhCgVhMy8ODklpBuePHFF1FUVITW1lZb/uzZs3HDDTc4brdy5Up8+9vftuVdeumlmD9/fpd6br75ZuvvUaNG4ZFHHsGNN96InJwcjBw5Ei+//DKOHDmCq666Cjk5OZg4cSK2bNliq+fb3/42tmzZgt27d/eyx4QQQkhqQa0mhHTCyS0h3XDNNdcgFArh5ZdftvKqq6vxyiuv4Ic//KHjdm+99RamTp3ao30+/vjjuPDCC/HBBx/giiuuwA033IAbb7wR//Iv/4L3338fp512Gm688UYopaxtRowYgZKSEvzzn//s0T4JIYSQVIVaTQjphJNbQrohKysLP/jBD7B06VIr7w9/+ANGjBiBSy+9NOI2NTU1qK2tRVlZWY/2+c1vfhM/+tGPMGbMGCxcuBB1dXU499xzcc0112Ds2LG499578cknn6Cqqsq2XVlZGfbu3dujfRJCCCGpCrWaENIJJ7eEROG2227D66+/joMHDwIAli1bhptvvhmGYUQs39zcDADIzMzs0f4mTpxopUtKSgAAEyZM6JJXXV1t2y4rKwtNTU092ichhBCSylCrCSEA4OvvBhCS7EyePBlf+cpX8OKLL+Kyyy7DRx99hFdeecWxfFFREQzDwIkTJ6LWHQqFuuRlZGRY6U5RjpQXHk7g+PHjGDJkiMteEUIIIQMHajUhBHxzS4g7/vVf/xXLli3D0qVLMXPmTAwfPtyxrN/vx5lnnomPP/64y3fh5klffPFFXNrX0tKC3bt3Y/LkyXGpjxBCCEk1qNWEEE5uCXHBD37wAxw4cADPP/98t84pOpk1axbeeuutLvkvvfQSVq9ejd27d+N//+//jY8//hh79+61zKh6yqZNmxAIBFBRUdGregghhJBUhVpNCOHklhAX5OfnY86cOcjJycHs2bOjlr/11lvx6quvora21pZ/xRVX4NFHH8WZZ56JN998E8888wzeffdd/L//9/961b4//vGPuP766zFo0KBe1UMIIYSkKtRqQoihpI9yQogjM2bMwFlnneU6APs111yDc845B/fddx9wMnbepEmT8MQTT8S1XUePHsUZZ5yBLVu2oLy8PK51E0IIIakEtZqQ9IZvbgmJwokTJ/CXv/wF69evx9y5c11v9+///u/IyclJaNsA4Msvv8QzzzxDsSSEEJK2UKsJIaC3ZEKiM3nyZJw4cQK//vWvccYZZ7jebtSoUbjrrrsS2jYAmDp1ao+D0BNCCCEDAWo1IQQ0SyaEEEIIIYQQMhCgWTIhhBBCCCGEkJSHk1tCCCGEEEIIISkPJ7eEEEIIIYQQQlIeTm4JIYQQQgghhKQ8nNwSQgghhBBCCEl5OLklhBBCCCGEEJLycHJLCCGEEEIIISTl4eSWEEIIIYQQQkjKw8ktIYQQQgghhJCU5/8HU1pWD8cySD8AAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1000x600 with 8 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axs = plt.subplots(2, 2, figsize=(10, 6), tight_layout=True)\n",
    "for mode_ind in range(2):\n",
    "    for field_ind, field_name in enumerate((\"Ey\", \"Ez\")):\n",
    "        ax = axs[mode_ind, field_ind]\n",
    "        mode_solver.plot_field(field_name, \"abs\", mode_index=mode_ind, f=freq, ax=ax)\n",
    "        ax.set_title(f\"index={mode_ind}, {field_name}(y, z)\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Then, we will calculate the initial coupling efficiency to see how this random structure performs."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">16:10:35 CEST </span>Created task <span style=\"color: #008000; text-decoration-color: #008000\">'initial QE light extractor (Autograd)'</span> with task_id \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span><span style=\"color: #008000; text-decoration-color: #008000\">'fdve-4ca772ae-badc-4827-8da8-4b32cf325ab4'</span> and task_type <span style=\"color: #008000; text-decoration-color: #008000\">'FDTD'</span>. \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m16:10:35 CEST\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'initial QE light extractor \u001b[0m\u001b[32m(\u001b[0m\u001b[32mAutograd\u001b[0m\u001b[32m)\u001b[0m\u001b[32m'\u001b[0m with task_id \n",
       "\u001b[2;36m              \u001b[0m\u001b[32m'fdve-4ca772ae-badc-4827-8da8-4b32cf325ab4'\u001b[0m and task_type \u001b[32m'FDTD'\u001b[0m. \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span>View task using web UI at                                         \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span><a href=\"https://tidy3d.simulation.cloud/workbench?taskId=fdve-4ca772ae-badc-4827-8da8-4b32cf325ab4\" target=\"_blank\"><span style=\"color: #008000; text-decoration-color: #008000\">'https://tidy3d.simulation.cloud/workbench?taskId=fdve-4ca772ae-ba</span></a>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span><a href=\"https://tidy3d.simulation.cloud/workbench?taskId=fdve-4ca772ae-badc-4827-8da8-4b32cf325ab4\" target=\"_blank\"><span style=\"color: #008000; text-decoration-color: #008000\">dc-4827-8da8-4b32cf325ab4'</span></a>.                                       \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m             \u001b[0m\u001b[2;36m \u001b[0mView task using web UI at                                         \n",
       "\u001b[2;36m              \u001b[0m\u001b]8;id=764587;https://tidy3d.simulation.cloud/workbench?taskId=fdve-4ca772ae-badc-4827-8da8-4b32cf325ab4\u001b\\\u001b[32m'https://tidy3d.simulation.cloud/workbench?\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=560610;https://tidy3d.simulation.cloud/workbench?taskId=fdve-4ca772ae-badc-4827-8da8-4b32cf325ab4\u001b\\\u001b[32mtaskId\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=764587;https://tidy3d.simulation.cloud/workbench?taskId=fdve-4ca772ae-badc-4827-8da8-4b32cf325ab4\u001b\\\u001b[32m=\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=13753;https://tidy3d.simulation.cloud/workbench?taskId=fdve-4ca772ae-badc-4827-8da8-4b32cf325ab4\u001b\\\u001b[32mfdve\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=764587;https://tidy3d.simulation.cloud/workbench?taskId=fdve-4ca772ae-badc-4827-8da8-4b32cf325ab4\u001b\\\u001b[32m-4ca772ae-ba\u001b[0m\u001b]8;;\u001b\\\n",
       "\u001b[2;36m              \u001b[0m\u001b]8;id=764587;https://tidy3d.simulation.cloud/workbench?taskId=fdve-4ca772ae-badc-4827-8da8-4b32cf325ab4\u001b\\\u001b[32mdc-4827-8da8-4b32cf325ab4'\u001b[0m\u001b]8;;\u001b\\.                                       \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span>Task folder: <a href=\"https://tidy3d.simulation.cloud/folders/folder-7a0ee478-ee62-43e0-9a9e-26a06b299b0a\" target=\"_blank\"><span style=\"color: #008000; text-decoration-color: #008000\">'default'</span></a>.                                           \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m             \u001b[0m\u001b[2;36m \u001b[0mTask folder: \u001b]8;id=708177;https://tidy3d.simulation.cloud/folders/folder-7a0ee478-ee62-43e0-9a9e-26a06b299b0a\u001b\\\u001b[32m'default'\u001b[0m\u001b]8;;\u001b\\.                                           \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e4279d33d49841cbb2be953433ad58ba",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">16:10:37 CEST </span>Maximum FlexCredit cost: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.060</span>. Minimum cost depends on task      \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span>execution details. Use <span style=\"color: #008000; text-decoration-color: #008000\">'web.real_cost(task_id)'</span> to get the billed \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span>FlexCredit cost after a simulation run.                           \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m16:10:37 CEST\u001b[0m\u001b[2;36m \u001b[0mMaximum FlexCredit cost: \u001b[1;36m0.060\u001b[0m. Minimum cost depends on task      \n",
       "\u001b[2;36m              \u001b[0mexecution details. Use \u001b[32m'web.real_cost\u001b[0m\u001b[32m(\u001b[0m\u001b[32mtask_id\u001b[0m\u001b[32m)\u001b[0m\u001b[32m'\u001b[0m to get the billed \n",
       "\u001b[2;36m              \u001b[0mFlexCredit cost after a simulation run.                           \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">16:10:38 CEST </span>status = success                                                  \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m16:10:38 CEST\u001b[0m\u001b[2;36m \u001b[0mstatus = success                                                  \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3af7123165c8491a934e7e5f850e2591",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">16:10:43 CEST </span>loading simulation from simulation_data.hdf5                      \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m16:10:43 CEST\u001b[0m\u001b[2;36m \u001b[0mloading simulation from simulation_data.hdf5                      \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sim_data = web.run(sim_init, task_name=\"initial QE light extractor (Autograd)\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The modal coupling efficiency is normalized by the dipole power. That is necessary because the dipole power will likely change significantly when the optimization algorithm modifies the design region."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABI8AAAGGCAYAAADywqFtAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzsnXecHVXd/z/nzMyd27alJwRCaFJDR2kCymNUBGMvqIACAoJAfkoRSGgSikCUqihGHpX6KKhRigFEkAcp4iNShdBCerL1tpk55/fHKTO3bM1uNuX7zuu+9u7cKWfOzGz2fPbz/RwmpZQgCIIgCIIgCIIgCIIgiAbw0W4AQRAEQRAEQRAEQRAEseFC4hFBEARBEARBEARBEATRKyQeEQRBEARBEARBEARBEL1C4hFBEARBEARBEARBEATRKyQeEQRBEARBEARBEARBEL1C4hFBEARBEARBEARBEATRKyQeEQRBEARBEARBEARBEL1C4hFBEARBEARBEARBEATRKyQeEQRBEARBEARBEARBEL1C4hFBEARBEARBEARBEATRKyQeEQRBEARBEARBEASx2fLYY4/hyCOPxJQpU8AYw7333jvofUgp8YMf/AA77LADfN/HFltsge9///sj0t7RwB3tBhAEQRAEQRAEQRAEQYwWPT092H333fH1r38dn/70p4e0j9NPPx0PPvggfvCDH2C33XbDmjVrsGbNmmFv62jBpJRytBtBEARBEARBEARBEAQx2jDG8Nvf/hazZs2yy8rlMs477zzcfvvtaG9vx6677oorrrgChx56KADgpZdewowZM/DCCy/gfe973yi2fuSgsjWCIAiCIAiCIAiCIIheOPXUU/Hkk0/ijjvuwP/93//hc5/7HD760Y/itddeAwD8/ve/xzbbbIM//OEPmD59Orbeemscf/zxm5TziMQjgiAIgiAIgiAIgiCIBrz99tv4+c9/jrvvvhsHH3wwtt12W3znO9/BQQcdhJ///OcAgDfeeANvvfUW7r77btx2221YsGABnn32WXz2s58d7eYPG5R5RBAEQRAEQRAEQRAE0YB//etfiKIIO+ywQ9XycrmMsWPHAgCEECiXy7jtttvsej/72c+w995745VXXtkkStlIPCIIgiAIgiAIgiAIgmhAd3c3HMfBs88+C8dxqj7L5/MAgMmTJ8N13SqBaaed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p56KK6+8EitWrMChhx6K1157rWrdP/3pT5g1axZaW1tx3XXXYdasWbj00ktx2mmnDaidv//97/HKK6/gxBNPHPK5risnnXQSfvvb3+L1118ftTYQw4SQQ3tt/MYjyjwiCIIgCIIgiM2Nnp4e5HK50W7GBgXnHOl0erSbsVGwZMkSXH311fjWt76F66+/HgBw/PHH45BDDsF3v/tdfO5zn4PjOL1uf8899+Bvf/sb7r77bnz2s58FAHz+85/HDjvsgLlz5+LXv/61Xfc73/kOZsyYgQcffBCuq4avzc3NuOyyy3D66adjxx137LOtP//5z3HggQdiiy22GKazHzyHH3442tra8Itf/AIXX3zxqLWDGAakHJqLiMrWCIIgCIIgCIIYTZYsWYJvfOMbmDJlCnzfx/Tp03HyySejUqkAABYsWADGGP7yl7/glFNOwYQJEzB16lS7/Y033ohddtkFvu9jypQp+Na3voX29vaqY7z22mv4zGc+g0mTJiGdTmPq1Kn44he/iI6ODrvOQw89hIMOOgitra3I5/N43/veh+9973v9tn8g25XLZcydOxfbbbcdfN/HlltuibPOOgvlcrluf7/85S+x3377IZvNoq2tDR/84Afx4IMPAgC23npr/Pvf/8Zf/vIXMMbAGMOhhx4K9JF5dPfdd2PvvfdGJpPBuHHj8JWvfAVLliypWufYY49FPp/HkiVLMGvWLOTzeYwfPx7f+c53EEVRv31w33334YgjjrDXcNttt8Ull1xSte2hhx6KhQsX4q233rJt33rrrXvd57HHHmvXq31deOGF/bapv/YGQYBTTjnFLmOM4eSTT8a7776LJ598ss/t77nnHkycOBGf/vSn7bLx48fj85//PO677z57XV988UW8+OKLOPHEE61wBACnnHIKpJS45557+jxOqVTC/fffj8MPP7xq+ZtvvgnGWEMHWm3/XHjhhWCM4dVXX8VXvvIVtLS0YPz48bjgggsgpcQ777yDT37yk2hubsakSZNw9dVX1+3T8zwceuihuO+++/psL7ERMOTMo42/bI2cRwRBEARBEASxkfLee+9hv/32s/kxO+64I5YsWYJ77rkHhUIBqVTKrnvKKadg/PjxmDNnDnp6egA9ML7oootw+OGH4+STT8Yrr7yCm266CU8//TSeeOIJeJ6HSqWCmTNnolwu47TTTsOkSZOwZMkS/OEPf0B7eztaWlrw73//G5/4xCcwY8YMXHzxxfB9H//5z3/wxBNP9Nn+gWwnhMBRRx2Fxx9/HCeeeCJ22mkn/Otf/8K1116LV199Fffee69d96KLLsKFF16IAw44ABdffDFSqRSeeuopPPzww/jIRz6C+fPn2+yb8847DwAwceLEXtu3YMECHHfccdh3330xb948LF++HD/84Q/xxBNP4B//+AdaW1vtulEUYebMmXj/+9+PH/zgB/jzn/+Mq6++Gttuuy1OPvnkPvthwYIFyOfzmD17NvL5PB5++GHMmTMHnZ2duOqqqwBdJtbR0YF3330X1157LQD0meHzzW9+s040uf/++/GrX/0KEyZMsMtWrVrVZ9sMTU1N8H0fAPCPf/wDuVwOO+20U9U6++23n/38oIMO6nVf//jHP7DXXnuB82ovw3777Yef/OQnePXVV7HbbrvhH//4BwBgn332qVpvypQpmDp1qv28N5599llUKhXstddeAzrHvvjCF76AnXbaCZdffjkWLlyISy+9FGPGjMGPf/xjfOhDH8IVV1yBX/3qV/jOd76Dfffdt678ce+998Z9992Hzs5ONDc3r3N7iFFiqLOtbfzGI0BuZnR0dEgAsqOjY7SbQhAEQRDECEP/7xObOl/72tck51w+/fTTdZ8JIaSUUv785z+XAORBBx0kwzC0n69YsUKmUin5kY98REZRZJdff/31EoC89dZbpZRS/uMf/5AA5N13391rO6699loJQK5cuXJQ7R/Idv/93/8tOefyr3/9a9Xym2++WQKQTzzxhJRSytdee01yzuWnPvWpqvNJ9oWUUu6yyy7ykEMOqTvOI488IgHIRx55REopZaVSkRMmTJC77rqrLBaLdr0//OEPEoCcM2eOXXbMMcdIAPLiiy+u2ueee+4p99577377oVAo1C375je/KbPZrCyVSnbZEUccIadNm9bv/hrx2muvyZaWFvlf//VfVfeBHtb2+/r5z39e1Y5tttmm7hg9PT0SgDznnHP6bEsul5Nf//rX65YvXLhQApD333+/lFLKq666SgKQb7/9dt26++67r/zABz7Q53F++tOfSgDyX//6V9XyxYsX151Tsj/mzp1rv587d64EIE888US7LAxDOXXqVMkYk5dffrldvnbtWpnJZOQxxxxTt99f//rXEoB86qmn+mwzseHiuq58/bffk+LvVw/6ddM5n5Uf//jHR/sU1gkqWyMIgiAIgiCIjRAhBO69914ceeSRdc4M6PKbJCeccEJVDs2f//xnVCoVnHHGGVUOkBNOOAHNzc1YuHAhAKClpQUA8MADD6BQKDRsi3Hg3HfffRCDyAMZyHZ33303dtppJ+y4445YtWqVfX3oQx8CADzyyCMAgHvvvRdCCMyZM6fO0VLbFwPhmWeewYoVK3DKKadUZSEdccQR2HHHHW3/JDnppJOqvj/44IPxxhtv9HusTCZj33d1dWHVqlU4+OCDUSgU8PLLLw+67bX09PTgU5/6FNra2nD77bdX3QcPPfTQgF4zZ8602xSLRetCSmL6qVgs9tmegW5vvva2bn/HWb16NQCgra2tz/UGwvHHH2/fO46DffbZB1JKfOMb37DLW1tb8b73va/hNTdtGKjTi9hAkUMNzN74rUdUtkYQBEEQBEEQGyErV65EZ2cndt111wGtP3369Krv33rrLQDA+973vqrlqVQK22yzjf18+vTpmD17Nq655hr86le/wsEHH4yjjjrK5r9Al/T89Kc/xfHHH49zzjkHH/7wh/HpT38an/3sZ+uEnCQD2e61117DSy+9hPHjxzfcx4oVKwAAr7/+Ojjn2HnnnQfUH/3RW/8AwI477ojHH3+8alk6na5rY1tbG9auXdvvsf7973/j/PPPx8MPP4zOzs6qz5K5UkPlhBNOwOuvv46//e1vGDt2bNVntaVtAyGTyTTMmyqVSvbz4djefO1t3f6OY5DDMHDfaqutqr5vaWlBOp3GuHHj6pYb0apRG4YiZBLEhgCJRwRBEARBEASxGTDQgXYjrr76ahx77LG477778OCDD+Lb3/425s2bh//93//F1KlTkclk8Nhjj+GRRx7BwoULcf/99+POO+/Ehz70ITz44IO9zrw1kO2EENhtt91wzTXXNNzHlltuOeTzGk76ml2sL9rb23HIIYegubkZF198Mbbddluk02k899xzOPvsswfl5GrED3/4Q9x+++345S9/iT322KPu82XLlg1oPy0tLfYemjx5Mh555BFIKavEkKVLlwI6k6gvJk+ebNdNUrv95MmT7fLa67x06VKbsdQbRihbu3ZtVUh8b/QlMjW6vr1d80b7MSJirdhEbGQImm2NIAiCIAiCIIiNiPHjx6O5uRkvvPDCkLafNm0aAOCVV16pWl6pVLB48WL7uWG33XbD+eefj8ceewx//etfsWTJEtx88832c845PvzhD+Oaa67Biy++iO9///t4+OGHbVlZb/S33bbbbos1a9bgwx/+MA4//PC6l3EGbbvtthBC4MUXX+zzeAN1fvTWP2ZZbf8MlUcffRSrV6/GggULcPrpp+MTn/iEndq9lsG6Vv7617/iO9/5Ds444wwcffTRDdeZPHnygF533nmn3WaPPfZAoVDASy+9VLWvp556yn7eF3vssQeee+65OmHsqaeeQjabxQ477FC1n2eeeaZqvffeew/vvvtuv8fZcccdAQCLFy9u+HlXV1fV98uXL+9zf+vC4sWLwTm350ZspAx1tjVB4hFBEARBEARBEKMA5xyzZs3C73//+7rBNQZQqnP44YcjlUrhRz/6UdW6P/vZz9DR0YEjjjgCANDZ2YkwDKu23W233cA5t+VEa9asqdu/Gdg3KjkyDGS7z3/+81iyZAluueWWunWLxaKdOW7WrFngnOPiiy+uEyWS55fL5dDe3t5rmwz77LMPJkyYgJtvvrnqHP70pz/hpZdesv2zrhj3SrKNlUoFN954Y926uVxuwGVsS5cuxec//3kcdNBBdsa2Rgwl8+iTn/wkPM+raqOUEjfffDO22GILHHDAAVXtePnllxEEgV322c9+FsuXL8dvfvMbu2zVqlW4++67ceSRR9qMo1122QU77rgjfvKTnyCKIrvuTTfdBMYYPvvZz/bZB3vvvTdSqVTD5wOJvCzDb3/7W3suw82zzz6LXXbZxZZ6EhspQ8k7oswjgiAIgiAIgiBGk8suuwwPPvggDjnkEDuN/dKlS3H33Xfj8ccfr5pKvpbx48fj3HPPxUUXXYSPfvSjOOqoo/DKK6/gxhtvxL777ouvfOUrAICHH34Yp556Kj73uc9hhx12QBiG+O///m84joPPfOYzAICLL74Yjz32GI444ghMmzYNK1aswI033oipU6f2OWX7QLb76le/irvuugsnnXQSHnnkERx44IGIoggvv/wy7rrrLjzwwAPYZ599sN122+G8887DJZdcgoMPPhif/vSn4fs+nn76aUyZMgXz5s0DtKBw00034dJLL8V2222HCRMm2PDtJJ7n4YorrsBxxx2HQw45BF/60pewfPly/PCHP8TWW2+NM888c52vHwAccMABaGtrwzHHHINvf/vbYIzhv//7vxsKGHvvvTfuvPNOzJ49G/vuuy/y+TyOPPLIhvv99re/jZUrV+Kss87CHXfcUfXZjBkzMGPGDGCImUdTp07FGWecgauuugpBEGDffffFvffei7/+9a/41a9+VVXOde655+IXv/gFFi9ejK233hrQ4tEHPvABHHfccXjxxRcxbtw43HjjjYiiCBdddFHVsa666iocddRR+MhHPoIvfvGLeOGFF3D99dfj+OOPx0477dRnO9PpND7ykY/gz3/+My6++OK6z++//34cffTR+OAHP4hXX30VP/nJT5DNZvHggw9i3333xSc+8YlB900jgiDAX/7yF5xyyinDsj9iNBGAHEopKYlHBEEQBEEQBEGMEltssQWeeuopXHDBBfjVr36Fzs5ObLHFFvjYxz6GbDbb7/YXXnghxo8fj+uvvx5nnnkmxowZgxNPPBGXXXYZPM8DAOy+++6YOXMmfv/732PJkiXIZrPYfffd8ac//Qkf+MAHAABHHXUU3nzzTdx6661YtWoVxo0bh0MOOQQXXXRRn06LgWzHOce9996La6+9Frfddht++9vfIpvNYptttsHpp59eVQZ08cUXY/r06bjuuutw3nnnIZvNYsaMGfjqV79q15kzZw7eeustXHnllejq6sIhhxzSUDwCgGOPPRbZbBaXX345zj77bORyOXzqU5/CFVdc0acwNxjGjh2LP/zhD/h//+//4fzzz0dbWxu+8pWv4MMf/nCV2wcATjnlFDz//PP4+c9/jmuvvRbTpk3rVTxauXIloijC7Nmz6z6bO3euFY+GyuWXX462tjb8+Mc/xoIFC7D99tvjl7/8Jb785S/3u63jOPjjH/+I7373u/jRj36EYrGIfffdFwsWLKgLKP/EJz6B3/zmN7joootw2mmnYfz48fje976HOXPmDKidX//61/GZz3wG77zzTl1u0gUXXICHH34Yp59+OqZMmYIFCxbgueeew/z58/Hcc88Nm3i0aNEirFmzBsccc8yw7I8YRYyTaCjbbeQwORKevA2Yzs5OtLS0oKOjA83NzaPdHIIgCIIgRhD6f58gCGLzJooi7Lzzzvj85z+PSy65BADw5ptvYvr06fj5z3+OY489dsTbMGvWLDDGbFkcsXHieR5eWXAapk+uzyPrjx///mn8/tUICxcuHJG2rQ8o84ggCIIgCIIgCILYJHEcBxdffDFuuOEGdHd3r/fjv/TSS/jDH/5ghStiI4cyjwiCIAiCIAiCIAhi0+MLX/gCvvCFL4zKsXfaaae6wHliI0bq2dMGvR2JRwRBEARBEARBEARBEJs+Q8082vi1IxKPCIIgCIIgCIIgiM2HrbfeuuFsdgTRL3KIs61JAYCNRIvWG6OeeXTDDTdg6623Rjqdxvvf/378/e9/73P9+fPn433vex8ymQy23HJLnHnmmSiVSuutvQRBEARBEARBEARBEJsToyoe3XnnnZg9ezbmzp2L5557zk4DumLFiobr//rXv8Y555yDuXPn4qWXXsLPfvYz3Hnnnfje97633ttOEARBEARBEARBEMRmhBhiaPYgjW4XXnghGGNVrx133HGkzmpAjGrZ2jXXXIMTTjgBxx13HADg5ptvxsKFC3HrrbfinHPOqVv/b3/7Gw488EB8+ctfBrTd8Etf+hKeeuqp9d52giAIgiAIYuAIIfDee++hqakJjG3c1n2CIAhiw0FKia6uLkyZMgWcj7A/ZsiZR3LQZWu77LIL/vznP9vvXXd0U4dG7eiVSgXPPvsszj33XLuMc47DDz8cTz75ZMNtDjjgAPzyl7/E3//+d+y3335444038Mc//hFf/epXez1OuVxGuVy233d2dg7zmRAEQRAEQRD98d5772HLLbcc7WYQBEEQmyjvvPMOpk6dOrIHWY+zrbmui0mTJg3+WCPEqIlHq1atQhRFmDhxYtXyiRMn4uWXX264zZe//GWsWrUKBx10EKSUCMMQJ510Up9la/PmzcNFF1007O0nCIIgCIIgBk5TU5N+xzf60FCCIAhiQ0ICEIn/Z0aQoTqPhqA3vfbaa5gyZQrS6TT2339/zJs3D1tttdXgdzRMjHpg9mB49NFHcdlll+HGG2/Ec889h9/85jdYuHAhLrnkkl63Offcc9HR0WFf77zzznptM0EQBEEQxPrmsccew5FHHokpU6aAMYZ77723320effRR7LXXXvB9H9tttx0WLFhQt85gJzpJEpeqMXrRi14byYuBN3yNdrvoRa/6F9ZPSfRQ8o6EBKSEEAKdnZ1Vr2SVVJL3v//9WLBgAe6//37cdNNNWLx4MQ4++GB0dXWN/Dn2wqiJR+PGjYPjOFi+fHnV8uXLl/dqzbrgggvw1a9+Fccffzx22203fOpTn8Jll12GefPmQfRiHfN9H83NzVUvgiAIgiCITZmenh7svvvuuOGGGwa0/uLFi3HEEUfgsMMOw/PPP48zzjgDxx9/PB544AG7zmAnOiEIYuOF6X/9fd7XOgSxSWLK1gb7khKvv/46Wlpaql7z5s1reJiPfexj+NznPocZM2Zg5syZ+OMf/4j29nbcdddd6/2UDaNWtpZKpbD33ntj0aJFmDVrFqCDFBctWoRTTz214TaFQqEuAMtxHECHZBEEQRAEQRDql86PfexjA17/5ptvxvTp03H11VcDAHbaaSc8/vjjuPbaazFz5kxgCBOdEASxcTJYQYiBQQ52Kqn1QF/nsSG2l9hIkEPLL4KU2HbbbfHMM89ULfZ9f0Cbt7a2YocddsB//vOfwR97mBjVsrXZs2fjlltuwS9+8Qu89NJLOPnkk9HT02N/Kfna175WFah95JFH4qabbsIdd9yBxYsX46GHHsIFF1yAI4880opIBEEQBEEQxOB48skncfjhh1ctmzlzpp3ExEx0klynv4lOCIIgCGKTY8hla+r/zdqqqIGKR93d3Xj99dcxefLkET/F3hjVud6+8IUvYOXKlZgzZw6WLVuGPfbYA/fff78N0X777bernEbnn38+GGM4//zzsWTJEowfPx5HHnkkvv/974/iWRAEQRAEQWzcLFu2rOEkJp2dnSgWi1i7du2gJzqhGW8JYuNjqGVoZrsNxdHT33lsqG4pYiNgqIHZg3Qrfec738GRRx6JadOm4b333sPcuXPhOA6+9KUvDf7Yw8SoikcAcOqpp/Zapvboo49Wfe+6LubOnYu5c+eup9YRBEEQBEEQQ4FmvCWIjYvhyC8abVFmc8xgovK8TZN3330XX/rSl7B69WqMHz8eBx10EP73f/8X48ePH7U2jbp4RBAEQRAEQYwukyZNajiJSXNzMzKZDBzHGfREJ+eeey5mz55tv+/s7MSWW245QmdAEMSGwmgLSANlQ3NL9cdQhLHettlYznmDxARgD5ZBOo/uuOOOwR9jhBnVzCOCIAiCIAhi9Nl///2xaNGiqmUPPfQQ9t9/f6BmohODmejErFMLzXhLEARBbHLIoWYebfyCHTmPCIIgCIIgNjG6u7urZmRZvHgxnn/+eYwZMwZbbbUVzj33XCxZsgS33XYbAOCkk07C9ddfj7POOgtf//rX8fDDD+Ouu+7CwoUL7T5mz56NY445Bvvssw/2228/zJ8/v2qiE4IgNk5GotRrNFw9m2LJ2kidU6P9khtpgAw182gIZqUNDRKPCIIgCIIgNjGeeeYZHHbYYfZ7Uz52zDHHYMGCBVi6dCnefvtt+/n06dOxcOFCnHnmmfjhD3+IqVOn4qc//Slmzpxp1+lvohOCGEkGMoimwe/g2RQFl02B0bguyWPSs9QHAuslMHtDhEm5CZzFIOjs7ERLSws6OjrIPk0QBEEQmzj0//6Gg7kWgAPQgJXog+EYOG8Mg9/+znN9nMP6ECnW17VY13MZ7XtmQxbyRrtv+kcCiEb8/3rP8/DyxV/C9PGDP8aP//IC/rAmV+Xo3dgg5xFBEARBEARBEARBEES/DDG/aEPX3wYAiUcEQRAEQRAEQaxXRtplsaHOpDWY8x7pMqL15XQZ6dnXNmTHzkDY2Nu/2THUzKNNoOCLxCOCIAiCIAiCIEaM0Rwcbygi0rr2Qe3263I+o5mnM9rXYUNjYxGOhvP+2+gZsng0Eo1Zv5B4RBAEQRAEQRDEsLKxDIpHmpGcLWsoA/h1bg+r2X4TcFOMBhv787FZi0nkPCIIgiAIgiAIgiAIgiB6RZJ4RBAEQRAEQRAEsc5siK6Kkc7dGQ0GWwo25OtS6zZq9NkAB8Yb8nVYH23bEJ+N4WCzdiJtRpB4RBAEQRAEQRCjxKYwLf3GMiBe37k76zOQevh3Osh9JtfvR0gaLpFmwOc9iLaNJBvLc0L0jRQScijOIzESrVm/kHhEEARBEARBECPE+hgwNjrGRimQNBIsRmCwv0E6TNbTuQ+pHUPZx2iX6PR2HoN0Sg1LU4brGRmOa4P1c+6btBNJgMrWCIIgCIIgCIIYGBu6i2CDnOZ9KIPf3rZZx4HYBjH7V3/9sb7DqYdLnKjdV4N2b8jlaxsEw3ktBrrvEby/NikxiWZbIwiCIAiCIAiCIAiCIHqFArMJgiAIgiAIYvNjQ3cQDQej6rIZKQfFMLlyRqJv+ryn1qU/RiK7ZyQdLslj9OI+wnDflwM9n/VUWjeony/r41oM9PibgNAxYkg5tP7ZBPqUxCOCIAiCIAhig2NzEHXWN+s1qHh9D4TXceC7XsqohrssbF0Ho0NqD9dfB5n+OwpZQ6PJkMK8NyRGuGRypMtqRxIp1GvQ221cp9kQEo8IgiAIgiCI9QgjYag31nUgOYDRyXrJHun3PHg/n/fGAEdsQxRW1tUJs+73dW2/9HO+QxFkBnSPDeT69LVOH+1ucG2GTbjbAISYfu+BYWvjUJ6hdZjua33nb23IUOYRQRAEQRAEQRAEQRAE0SuUeUQQBEEQBEEQxIgy0s6IIUz3PhjXx9BdFUN1Gg1kP724KdahTGr9ZfH01y8DdCKNqpulv/00aPMwuI82RPfiyLiOhuua9LavIbqRhtGJtLHNxDbUsrV1MX5tKJB4RBAEQRAEQRDDxQZQOlPFALKA1lks6fOcGw9+hzL4b9y+fjJ41iELaVhyWYZVUOtHlBkSwylO9LX/mvaul8DqfsS3YcphGv6A9JG+JgM51iagdBDDzqDFo0ceeQSHHXbYyLSGIAiCIAiCIDZkRlwcGq6B48AcH1Uf9yIiDc3lUX8e6+oW6VvMGYCwMoJC0sDPbWhi2pDOdxDHH2g7+qN3ka2BiFQj3gxZxBywq4sPuyjSa38N6ufEwJ754XJbDax/h5i/ZQ+yCTuRNuPMo0H/7/TRj34U2267LS699FK88847I9MqgiAIgiAIgiAIgiCIDQkxxNfmKB4tWbIEp556Ku655x5ss802mDlzJu666y5UKpWRaSFBEARBEARBjBSMDe41bPBeXiO5/wbn2wBW869P+nF9NNwP40N7NWhj7+feD+twbWv7Z+Duk8bnMBBHSd/H6+se6vv+6nW/A7gGA2ln721NblS9zro5bPp7jobnOWt4boO6l/p+5vvtx0E8K33te8QYsZ+bo4+UElIM4bUJBGYP+skZN24czjzzTDz//PN46qmnsMMOO+CUU07BlClT8O1vfxv//Oc/R6alBEEQBEEQBNEfoyYG9cbgRKJGg8Z1/VfdltoDjoQg1tvgOjmw7a1f+ng1GBwPSqToj/V4bwxaDBi0eDYIsWgw4sMQRIsB3YsDFJBGXPTohz5Fo14ZnEg8oHuj34auy7UZyDlsxmzGzqN1Cszea6+9MGnSJIwdOxaXX345br31Vtx4443Yf//9cfPNN2OXXXYZvpYSBEEQBEEQmzcb7F+whz6YGtBAeCCDxd6QouoYslGWyVCCg1nvQkCdg6XBemwI51TVvNpuS5xndUbKOswwtQ4ZSfXEolr1MRo5hZKI3tetubZ2ceL8+7y/qoS8daGPNtpGiar2qDbW5DYNNgOpD2dXf/3SW/5Ro2M27MMhzZ7XmMb7b/zc1DeDQ/Y79Zeo32eDbap/Tmw4Skdt/4x62+QQhaANp0uHzJDu8CAIcM899+DjH/84pk2bhgceeADXX389li9fjv/85z+YNm0aPve5zw1/awmCIAiCIAiCIAiCIEYBKbDZlq0N2nl02mmn4fbbb4eUEl/96ldx5ZVXYtddd7Wf53I5/OAHP8CUKVOGu60EQRAEQRDEps4G6S4anjKNfl1G/bpxhtAOVu2wYNpxEP/1PvH5QB1IA7lGDZwT1W4jp8Fu488buSkaG4ESroqEu6Vvd8JA+7FmZrAhO7MafT5Q109fJWQ139e4e3o/ZvW+611g9dcGiBruUl2nvs6hgeslcR+iyoWUuA/lAN1TifPob91e74sG933vfdh3jtVAGYzbqL/rw5j5vv4aNb4+ovHPmsQ16d/t04dDrhHDOBvbqCMGbl6sYiM+ZcOgxaMXX3wR1113HT796U/D9/2G64wbNw6PPPLIcLSPIAiCIAiC2JTZIMSi4cvwGHAeS69CUd8lKvU0GuijaiDZqNyrevBu9lsjItVuPIBwbPWmehActztuq1nGegsMrjlXCdGwKVUiktmmQTnX0EpdeimrwmAGvzX9M0SBoLEwULOg31uvRsBhvOE16W/bpLCnhIvGwpLZrmFZVbKy0QqaifuwP7GOscblkn2dQ6+ljQOkt2OuKw2ExL6emd5Rn1dfn/jTeHnjkj1igMiGVX8D2m5jZ9Di0aJFi/rfqevikEMOGWqbCIIgCIIgiE2W0Zh9Z+QCXgc1eByEYDQYl07clsQAv1b4sET6c2E/qx+8o7GQ1EubexONUCNQJAUj1ouIUo9x03Db5qSQVC0i1buQ6to4SBo6tMyBB+GeaBTo3ega9y4QNBIGaoWbvvNvagWJWgGv72uSFBtr3/fnGEvev6a9ibZqd1zdfcgGNkLv6/6rWTF+K0Vj0bT2mtZke/WfWdUHyb7p05nnNBRX+xOPTH8ylnhWGgquyWvWS5v6eX6G1Ym0sbmQhuo82gT0ukGLR/PmzcPEiRPx9a9/vWr5rbfeipUrV+Lss88ezvYRBEEQBEEQxAAZGZFoSMLDkIUiQ2PHwcAG+slxsrDfyKoBc6CX9edG6pvGbo9qtxFnbk2bq4WTgYRnqwGvEZIEBMK4/XXj/gZlOb0O3Ps5v177pI+gcTswrjkO4w1FNfP9QIQCWTMClTXCTbVQ0+B8EsdJXg/7WQPRou6YUsRCBQBAVAkXfdFY1IyUmJS4vqi6V3s5lzrRqFaQqzl2UmCsosbxVPNZ4wD43kr+zLGSx2lculff5ljUM89M8vP+j5UsO0sIrTVCknpWki4k1G2/IbPBBWhvRgz6f9gf//jH2HHHHeuW77LLLrj55puHq10EQRAEQRAEQRAEQRAbDCowewivTUDjGrTzaNmyZZg8eXLd8vHjx2Pp0qXD1S6CIAiCIAiC6IPhdxkNOb9kCEHXA3Ub1btR6l0IfeUHVZUYSQEptWNHr6scPL2XsvVLL+U3jHm2TbFzInYgsQZul0ZImXBQMGGXmS1Mm4XszQjUm+tjgPdPw2yeBgHPvW6edMdUu0zqXUD9O49qM2yM8wcNXUmi7p6ovYeSbeBcXx/wKgeTlFHVPpPOo9jVUv219/4w1DriRJUTSbVdf98wM6nRs+D043wSiXs97CU8vra9rMbZ5FV/3uvxEufSZ3RT9bMC/ZxUX4uBOY/MVyHD6rJOc/zE81FdwtaoYX049zZ3JAVmD5gtt9wSTzzxBKZPn161/IknnqAZ1giCIAiCIIgRYPiEonUKuB1QuVPv6wwkx2ggg33UlK9VZwnV79cM/tWg0rXvAYDJOHvGlIKZwXtMXyOlxmU3vQ2EoUWK+L2X2FN87qJOlIjbJESYaFGot3Uh+i3LiRn4DGOJrKFEeV8sIPXWP70JhtV9VCWoNSwpq25vcrDfn4BTe6c3EosYuL0GXF9LtU51f0gjumjhSNhrEVhBqbZdjdrfaJ1YkArtZ5IJSBlUnV9ffYkaoaVROZYq4aovx2soUjUQjGrLyRpTc02qsrKS+VT1JWrmXuCJZ4YzDw6rHrIzVp1tFdl+U/tnktvnW4iwF6HIHD9e0lB07YVhzUDayGZik3KITdywT2tADFo8OuGEE3DGGWcgCAJ86EMfAnSI9llnnYX/9//+30i0kSAIgiAIgthsGF5H0ci5iQwDFScwIMGovxyaeiHGs6KLEgMaiEd60CpEaAeaQg/MhQgTQpLat5Rhlcun79m04uPxKiEkfm+WO1zN1Oww154TZ96AnEdCBrbtDNyORZMiErNCT6PxqOg3oLpWuKvO3AniASNLCkjodfaqWtdK0hnDmQtW1Q9ujXhU7aLhDe4zYUWXemdQI2LBSp27o0UKrsURI1QwOHXHs2IeIkQyjAVJHkLIICFA9i069CYQShnFgocM9TLXfo4aEWkgjrbaflD7jZ13SbHU7L+v/CHG3Lr8rtrjiIQABvMsVQlJcfvtPrl5PlL2Orj6vcP9qnuiFiED8MSzDABh8rR5vNze36wPx1FvbMBOJAa2XnUZU4Y26O02R/Hou9/9LlavXo1TTjkFlUoFAJBOp3H22Wfj3HPPHYk2EgRBEARBEARBEARBjC5DnW1tcxSPGGO44oorcMEFF+Cll15CJpPB9ttvD9/3R6aFBEEQBEEQxCbO8LiNRstlZHczALdRXTlSTalNbb5J8nNVzqJcIg5LlLUkHD0OqjNZACAyM6txgUi7FCJZBrRbIRT6fY3zA9o5YejL0WLaj5qyNIenbJvdpLOC+XbbRm1OOl0AIBRlcN2WKHkdEg6kuIgsTPyVP0q0sVFZXX1mkz2vxAFqnSq1mTy1M4PFriNzHK+hi6W2PKnWkdWX68SU8sXOnKgqj8j0I69xsSWdRi7z7bVwoL7ncODI6mGicc+ELEAkAwh9T4WyjAix88jcX1V9kWh7Y+eROg/jhgtFBUIE9S6emhE7T5R5mePUlngljyNEgEgo84OQIZisLgWUTNTdF5ynqpxzTh/OIymFdcdF9pniCeePqHIUmrYbx5HnZOxxPK7euywNB8Zt6Oh+iOJzkgFC/SyHrGz3HURF26a6Ur7EDItJN0zvJWxYv2VsGzhDdR5tluKRIZ/PY9999x3e1hAEQRAEQRCbCaMkGA1imnbFYMrS0Gtpmn3fh2jRKNMoWVbkJEtc9IDf5T48lgUApFjWCjFcxvsPmRGMqgf9ABDysn1vBryRDCFEnDdjBr+NsmeqzrNBm12esuKWESmSggWHB8eIGbrvRCJzyYgRoVNGKEsAgKBRyLYAIpv1w3sZHNcLco1KnpIkc5YcvY0SNerL2Ko7g9eJgZylqkqUkuVJnHlKSKgqIfPiPkV9DhEaCAkCoiqfKFlGxsGrhDsXPjyWRkoqoSIlU0gJHy4cOPpYHAyqQE+LRxAIWICAVfS1qCBgZStQRjKwx4cWPBg4uBaQeuvjSAYIoe9JWUIkw4QAY/YdC5k8UcJZW3ZXS7JU0+wzFBX7PilO1YaHO9yPS8iYD5fHQpuhkZATCbVNEBUhWLUIVrt/IxSZrymeh8/yapn042c60XeRFjLLvIBAFgAAFakEo0pt0Lww4lZfGV3EQJFDLEFb17K1yy+/HOeeey5OP/10zJ8/f912NkQGLR719PTg8ssvx6JFi7BixQoIUX3zvfHGG8PZPoIgCIIgCGII3HDDDbjqqquwbNky7L777rjuuuuw3377NVx3wYIFOO6446qW+b6PUqlkv5dSYu7cubjlllvQ3t6OAw88EDfddBO23377QbaMN4jyHRhDchYNSiwairMIAxaMqpf3Fnhd60yIB8QO960Qk2J6wMmyyKAZAJAVTcjIdFU71DxWWohhkR30l5kaaAYJ8SjgahAayrIVbYQM7eA9mWvTVyiyw9wqwcjjStzyYNpcLVgYB4gZHAsIRHrAHepBcoUVUYFqH+MOgmSQtQ1DNkKPqJthCmicM9MoxDvplDHnzplrnTAQvMqJJGXQ4JZWQctJp5HDU9Zl4uprmewnl/lw4ds+cmTsJHPhgst6gUtCINR9JZhAhMD2nagJPmfgcKVnj+HLNDIijTRTbcowFymHI+UwONqGwvV5RXo3gZQIhEBFjwHLMkJFBKjovohYVJd75MIBE9y+5zWdFerrHWgBqsxKCHgZFXM/woiasavJCGHQIhgAOMyDK+OZy6zgxQPd9gJCrvZVkcU6cUpKUSdIeTxTJc6a+5YnnnmhxbIKL6KihRzzLDncR6hdQMl+Mc+0yzNIOy0AgDTTz7FsRkZk9DVKwasZsgtIBLq/iyyLElPHKrAOdR48SjjBwoRjTsEYb/h8DCYwe0QzkDb0AG0BQAzh/yI59Mkann76afz4xz/GjBkzhryP4WDQ4tHxxx+Pv/zlL/jqV7+KyZMng/UxNSVBEARBEASx/rnzzjsxe/Zs3HzzzXj/+9+P+fPnY+bMmXjllVcwYcKEhts0NzfjlVdesd/X/o535ZVX4kc/+hF+8YtfYPr06bjgggswc+ZMvPjii0in0w32SBAEQRCbFus7MLu7uxtHH300brnlFlx66aVD28kwMWjx6E9/+hMWLlyIAw88cGRaRBAEQRAEQawT11xzDU444QTrJrr55puxcOFC3HrrrTjnnHMabsMYw6RJkxp+JqXE/Pnzcf755+OTn/wkAOC2227DxIkTce+99+KLX/ziiJ3LyJWljYzLyC5r6DYCajNPavN3bI5LItvIlq1x3zqOUrqsJYc2NAvlXGjjWbSm1LqBHqlEQiIy76VEoGfJCvTop4wAZetGUk6zCisiYLHbo9b5YcqjkJgeHAnHjsNcuEwJih4y8KGcG2nk1NcoAx8654U5cPU1NtdaQrlbAFQ5LAomm4d7KBnnEerdUGqmOO22aFS21ssMcMZ1kkTKlD73uJQvQgVCxjO+SZt7Y/rCscdgLC5Tc51MVYmSx7PWNWNcLb52jnnCQwqudZ14jMNh3Lp2WKIsLzQuE0hEUtg+C1FftubBha/blOYOso6DnKf6JeMwZFwg7TCkuOo46zzS/RgIhlIkUdTdW4okSlEaFSH156IuR8dlDK7ekcOUq4kzQG+CSKp7tKIPUhIRSlGIsnYiFfV9GbHQng8Hh6evja+/enBtaSEHs2WMpj/KrIKidtyVeE+ds0ldOe0I0vdvWuaRlepZywgfKet2ihOxzHGKqKDAewAABd6l295hXUjJsjtTOphmzchCPb9NkfrazLLIOfoaOdy6wAyRlChpK1gx8tEpdH4Y1849FiDiOmdJFFEPj809iWtV5VKr+Zk2shlIG1cZnZQMciguoiE6j771rW/hiCOOwOGHH77xiUdtbW0YM2bMyLSGIAiCIAiCWCcqlQqeffbZqllwOec4/PDD8eSTT/a6XXd3N6ZNmwYhBPbaay9cdtll2GWXXQAAixcvxrJly3D44Yfb9VtaWvD+978fTz755LCKRyNbmrZhCEbJ9zwRkszA6wKxHe5XZQUZ0cgMOJtFC8ZyJcpMzaWwe5sapP2nW+0zEPEgXUog0O9DvbAUSluCZAakZRmhrHOOyqgg0JlJcc5N2ZZGRQggtIBkcm0cePCkHhzLrC2ly+rzyDou0o4uY+INSqSkRGDaZwfJKfg6R6aTu/ZSVk/3ngwu1vlHybK1RMCyLRdLTImeDPE2mH2GsgzBTaCzh0iUEZkMJBECLD6+KkVUgdiuDkH2nDRcnoXP1fXzWR5pmUdaKmHNlI/5ug/TjoOUw2w/eVz1ldZ5qu7k0F5TIBASgYivcZQY9TMGeJwh7ahOybkMeY+h2VPrtHgCTa5Azo2QcdROHGaER6avA0cxctAdqhb0hAw9IUdJl/GUI3X9zLV0mGqzq/fjO4DD1Ms0LZQMoYDdRyF0UQx9FLWYVAibAMCKS+ZeSWmxJKXPJ+UweInrbVY3wlYhFCjqeey7RYCSNKJpxW7jSNX/GS3q5XkKOU8vc7k9lpMQ7+L9p9EdqGexI1Jt7mYtKDAlJAW8bH9G+Pq652UTmrSo2uape7El5aBJn4jvxNdcJM6nGKo2dQYOvLL++WSuOy+jokUyh7mIi/208KbveQAQIj735M+vpCg8IEayjG0TQgiBzs7OqmW+7/c6+dgdd9yB5557Dk8//fR6amHfDFo8uuSSSzBnzhz84he/QDabHZlWEQRBEARBEENi1apViKIIEydOrFo+ceJEvPzyyw23ed/73odbb70VM2bMQEdHB37wgx/ggAMOwL///W9MnToVy5Yts/uo3af5rJZyuYxyOf6Lfu0vzEk2ZcEI6N1lBOuC8ex7p8YRkww49lgWaWjxSLsh8iyNcWm1/V5jBP6xVu33b93vAgCaRRNatNsl5zrIuEa0Um1zObPCgNDugG5ZQgdfq95jFUpCXbswETCczF4ymTCeHhC78OHqYUbEQrSzdgDAahOqjBBRpF1MYTxITYpPJvDbBhMzQLDI7tMKVohFONN3gsf5RCbsW30fD5SDqLvq+rGqmc4SIdoNrnntjGbJGbfssWQIAZ6YwS6AdIRtoxKPsmiVSmRodlNo8uLrk+KAy2JPRiCAciSxtqyW9IQReqIARVRQ1i4xE/jsa+EugxRyjocmVx0z5zFkXIa0vrVdxiAksLairv+KEkdFcFQi1woioVCuEfOMehxa1FL7MC6ltHYqZfRyI9yUIqAQxk6lYiStYGkEQlhhSwtljCHlMCvUjNMHS7qVQlEtCgFAeyXOYopkbfIS4IDZYzQ5HtpYCrWE0py3dlLJCMsrWjSthAhNGDlrkPklOdxE0DgA5GUOeanEIaGTuaDvYQAIEWEVW6P63wRLFfXLZDvJmhD9mhnrjKhb4UW9eUdVjpMNn9cuJMZcZLw2tW6wNtH++Jxk3SyR1ec6/E6kvjbewDKQ1qFs7fXXX0dLS0vV8rlz5+LCCy+sW/+dd97B6aefjoceemiDKQ0ftHh09dVX4/XXX8fEiROx9dZbw/Oqp9Z87rnnhrN9BEEQBEEQxAiz//77Y//997ffH3DAAdhpp53w4x//GJdccsmQ9jlv3jxcdNFFw9hKYqC4YyVasup39JzgyOixpu8A2kRhxSMu4nFfFKmFoXDAtDvBRxZlYdwnSpSQUsLRDikV9JzW65qZqFJ2ti4AiGwQNtffOxB2ZrXqsir11a16b7CDYDgI9WDUlOcFgiMUnm5/Jg5DrhKPYmpntWPMsTlfdgY2sN7Fo8QMZJBCTTev22KWs8SMYA734TkZpBxdAsXSaJIuclq4yzhAygVcR+r11TWy1UUCEALwtdYmQhXa68JBWrfXiEeeds/4YMhwwNdd6LqA48hYd60ZkzMh4UjAjeLxORdVM7vD5YDLJbi5vByQXNr8YDPOt7qQAFgk4eh2ewKQkdqvmxiAM6b2DSjRzBzH9AX0PcsS+zVtNH3CIsDV/RlJ1qBQisG1jqjYPZQksm4o3V7J4GnxJgS3hYmyQe4vkxyOuZ8aCOKJOwbCOLrAEDFTrtlAkAIHl8y+T34124R6X4HePpt4ZisRUI7UDRCG6vlctbJRKRsxUKQcorFKAttuuy2eeeaZqsW9uY6effZZrFixAnvttZddFkURHnvsMVx//fUol8twnPo/cowkgxaPZs2aNTItIQiCIAiCINaZcePGwXEcLF++vGr58uXLe800qsXzPOy55574z3/+AwB2u+XLl2Py5MlV+9xjjz0a7uPcc8/F7Nmz7fednZ3Ycsst69YblOtoQG6joTqNMCC3Ue1sV/25jVAjVDSaTS05S1ly2nHUTGufYllkhHIxZKVxE7m2DGltwPB01wo0Z1wsjV4EAOTd8WiRKiS9OWxCTugMHW4yg4BSpIbEPVpw6ead6JIrAADFcA3K2qUjhSmAicvrUk4WnqOdFTpnxUHKij8RQoRSZdYE2vkQiqJ1MUUysCMxmw/EXLhOWr835WVp6whCoqwmzmGKEOllQkb281g0io8jIevMCwwM9apK0o2UvDeqpzyXUskCsfsotH0r9MBdSuXeMdc1cioIWWDLyhqZKSIZz3KmHDwRuiLlMuli3ejm7SjKdtuXQoZwWMrmKmVYK/KyFZVAl0gJFxWHw+NGJJMIBVDWBylEEbpFCV28G2Woa15BEVJGtu995JGTzchrl1mTo8q6jOPI5UoI0mYglCOJQijQHao+6ZJFFHgBZXQjsk4wDlemkI7UfZQTOWSZj5wb5/6YfRuCKL5vuyO17x5ZQkm7b0IWWDHGgclGSsPXAmOaefDsc8fsNajoa1jR90+BlVDkqi9K6EQg4762dwMzz5QPD2ZmQZ1dJd0qATQ0JaA6Z6mMAipS5SQFQs/UJoo2X0tKkfiZYWZo8xI/J1w7W6FByBCRbmcoypCivgSt1mUHAJLF51Q3q9+IlrHV/kzesEvehpp5JKUqIW9ubh7Q+h/+8Ifxr3/9q2rZcccdhx133BFnn332eheOMBTxaO7cuSPTEoIgCIIgCGKdSaVS2HvvvbFo0SL7Rz8hBBYtWoRTTz11QPuIogj/+te/8PGPfxwAMH36dEyaNAmLFi2yYlFnZyeeeuopnHzyyQ330VuOA9P/BsU6lqgNRjAaXGla9XEHIhjVTgefLFXjzKuaut18tVOFywxSpiSJxQNrU0LEAORlFlnJkXFVRmkeY5HXJW5Z7iLtmFBr49CQ8LWQFOng4VDkIbkWdDzHtsmUwkQyrGqzOSczoOYsdmgkz9W4ldQ66liyahpxk33kwtGf80ROkUHKyE4/HuncGiErkPr4UsZlbXFwtmhYKmPvRcYT90L99UouVzRwidjrb9rugFmHlgnMNqV9abjSg5N4FoRMhEiL6modlwO+wyF1GZ8jmpESaZR4CwJHC3EIVZmTHuL5Mo2UdK0WFgoJzqQ9hsOYKknTn6c5B0MaaZlCRbbo3tPlgXobFy48xu195GnhMkw4gpB0HkHlLGXNfSeyyMk0QtmKSO+bgcMBg8tMvhOH7zhwWXW+UPKnhssB35YsakEochBq8SaUwpaImRIyDgbHBHeD1VVDqX0xfZ5q32npw9HiTJplrfgTsQaCDOJAc0PEInueqoDMlKup+1ZCJMSnrD7fFKTT2IXUCBsanyiRDCMdMi6DxL1aLxj1Kn7XikfDXMa2MSMFgxRDEY8Gt01TUxN23XXXqmW5XA5jx46tW76+GLR4BADt7e2455578Prrr+O73/0uxowZg+eeew4TJ07EFltsMfytJAiCIAiCIAbM7Nmzccwxx2CfffbBfvvth/nz56Onp8fOvva1r30NW2yxBebNmwcAuPjii/GBD3wA2223Hdrb23HVVVfhrbfewvHHHw/omdjOOOMMXHrppdh+++0xffp0XHDBBZgyZcrIudJHLNNoXbOM6o9b6yZKbp/MzVFCUjwjmfk86SKwmUd2Viffhk/7Mm2DfNO6HCrrcmR0LU7WERjjppF2YN1GLaIFeS1gZFzHznplytaYZPZcfOOCEWk4wgzkfVQcJSSUoWeNQmAHqhIRmO5TI86EMhHCm3DsGBeR41SLio3ERONcSpa12cExQkQiqFoWycgKRqqEbIAZLPaaOXWDa1Y1QuZVA2JZM1quvl8cMO7AYR5cM5sb95HiOfg68DyFLFwZD8UiO8OcFvI4qyurSjnM3h9p6aBJeghFxub0RDLO1Ek0zAoaESQqkbACicPVrGfmc9dhSDtOlTCQzBnqDc7icq9I1lXDweMMnq5zyzd4/vrDziyXEJA4U7PDAfFXluJWxBCJicSSglxy5kGTayTMskTfGSFLfa2OaUluI/QMd9BCmwmXD7VIVGEVKxSFqCQL18yZ2Bn3uJ5JsVa0NNvEZZshIpjw9pJ9FozDT4jAOvKkiMsp4xkGZeOfWb0ISWjoRKrrkbo+6ovkM9/3TGwN9j3KGUhSDvGQoxzVNBwMWjz6v//7Pxx++OFoaWnBm2++iRNOOAFjxozBb37zG7z99tu47bbbRqalBEEQBEEQxID4whe+gJUrV2LOnDlYtmwZ9thjD9x///028Prtt98G5/Ev6GvXrsUJJ5yAZcuWoa2tDXvvvTf+9re/Yeedd7brnHXWWejp6cGJJ56I9vZ2HHTQQbj//vuHN8hzwIIRBukyGjnBKPm+0fa1bqOkaATtmuC2HCXODzIDSh9Z+FCDSl/6idm41PYZhyGjc3KaXIFxGReuL1EoqkDcvOvCtzN2saop3qEH4UZISjlxGY8v1HGy0kegQ53LdkBcQokpIamCkp3qPLIlPYlZsSCtEGbKh1yk4Or3SbeGET4EQkQ1Do0IFTvIVCVqerkNBg4bZsbEF4RXBQLXl6jxhGgU3y/MljTF52TK1Kp2nxAGOVcOMo9n4OnyuxTLwqu5lm7ivgylgBRxUDPX09sbh5iZac3kFynhh1Xdk6FQAkk5MdtaORII7IxxAgHi3CBXcvicwzP3kgukHfXVN/lD+qsRYAIBVARDOTKz4QEVEc+EZq6hcQ15nMF3YN1xvqP27fK45VI7lwJt5gmk2n/Zfm/6Pb5cHlP7gp6RDADSXFblI9nZ1vR+ihFQCPWscSGzYmNos6piXBMQ7nCkeHwNnISQZfrFzggYRijo56ZHPx8hKgi06GpK3pAQT1yWRsqUuOln3pO+FRY5gEjfayYYu8xKKEGF2AcQEOZZiPRzKCq2zMzkYCFxX7ucx0Iuj4Vekw8GHTiepN6JVPM560dcqlUUN+LZ2IZctjYMx3700UeHYS9DZ9Di0ezZs3HsscfiyiuvRFNTk13+8Y9/HF/+8peHu30EQRAEQRDEEDj11FN7LVOr/QX02muvxbXXXtvn/hhjuPjii3HxxRcPazsJgiAIYmNByqGVrWEIgtOGxqDFo6effho//vGP65ZvscUWvU7VShAEQRAEQRANGQa3kd3VAFxHgwvAxqDdRo1n8dIuo0T+UXWpmnHmeHD0r+c280j68KSZ+cyz5WpmSveMC+T1b/QtXoQJaRfwgXKktsk4zDqLkMimMX/3j0TsgvC0WyTlomobE9pc1tOgF6M0uoVyS3TxbhSwRu/blAQly9YYeMJFBQBpmYUvjQspWbql3BIBC6qmnweAEOW4RE0EsbMiYXGw14I51oEidF6NlGF9uYtugbkONoeKN3CqQVS5KZJlceq6M7udw32knCx8pxk+VAh0GjmkRca6jVw4VWVxoYwdQjDOI8FtHlUaDnzt4gHUNTcOIbOXSAIVCfRoA0lPyNBZcdCtrTtlKVGRgT2GJ1048GAicNIOMMYH2jyBZlf1b9oV4JAI9cC3EHF0Bi7aK3HbSxF0yR1QEQIcDDLhdks7QKu63Gj1JJrcEFlXwLFlWAyVyEEhUtt0BA4642YiCOPzM1fG0Q4ps08AaHYjZHVWkMslQj3A74nUVu0Bx9pE1ldZGMeb2b+Ic5d0+7MuR872D0NKhz+Zsw8kQyHU7WYMJlO+IE3ZZYiK1C4kETuPTDkjA7eOo5wOw8+wlA2052AItWelIOLyubJ2Nkkp4vB5oXOORDlxVi44jx1xAOA6jj1+lHBDCR53eq2zSNQYheoKy9ahjK22bLVRNtmGxFDL1tZzdd2IMGjxyPd9dHZ21i1/9dVXMX78+OFqF0EQBEEQBLEpwngvg/je6F9cGkqpWu8lar2LSfUByr1/ngzEttPOc9fmA/FEtlFyhjVTtmZyjlIyZYUWnzm2tMzMsJZ1GXJ6oN/khZiU9hCkgFBnFrk8Ub4jJEIzENdju0hKKxSZWbiSZUZO4lqV9T57Ag63rAfhQqCsZ6MC1KxRyZmopEzZWaJ8qc4tL7PIcCOSxf1nxJOicGypjulfKaNEzlJYlYUEPROVKQmU0rHiDrNlbU4iE0k0FPnM4NoMZhnjdj+CxaM/CTPINrOtKcGKG2GIp5DiOWTRgqxUMytlZRpp7tpyKOiMnVDvvwyBAAFCZs5RwIWLTJS2bcq4ji3RavYk2lIh8m6EFI/bURYOOgLVD6sqXF939bU7kqiw0IY+p6QHTzr2+mdcYKwnMClTxtiMEiJy2TI4kwi1QNJd9LGqlLGh4ErwkagYYVGESkgTcXlmxlGCFABMSlcwLlNENlOBq5fJCCiVPKwpqZI+t5SChIeSqC4ZDIW0qqbKPFLtHpNSfTber6DJV2KI5wgEWozqKutyMJ5CqMvBilEsshmSmUqm7C7rAi1as2nyJNJOtXhUilQJHQBEkqGo+4lbkVbYTKJIlBMlkbpsDC7SQp13VgvGeddFitc/Fyb7vZLIylIlnGb/Rd1fiVnTGLc/00zwfYqnbfaWCcZHYrZENBCP6jPE+hbhaz/vs4yt3xK2AWQgrU9hZsizrW2GzqOjjjoKF198Me666y5A/zXh7bffxtlnn43PfOYzg27ADTfcgKuuugrLli3D7rvvjuuuuw777bdfr+u3t7fjvPPOw29+8xusWbMG06ZNw/z58+1sIARBEARBEMTGzMCcSL3PoDYwp1GvswzVrl8jGPX1eXVWTuw24looYXCqRCNYwUi7jODD0eG8Nv8EHny9LMUdKxoZcSfjSOS026I5VcGUjIuCDzsrl5RqoAztDjBjLDMgjYS0M1D5LA4gbk6pNTM8FpdMlk47Z4j0ALZQ9tEFM3OaETGiqn4y+UYZqQbJecdD1tWzdXFm21SKtCAVSJR0n8ZhwbJK/DGCHONGBHKrnDxxkLYO1q4JEY6vkxEjPHDrPErO7GZUgAoEM4IU17PENc59cVgKHssiI/PIIz5n3+E2sFxKdQ2KerxelhECVrFZUiEqcJGyIponHAjpwNOBRXlXYEwqwNhMCRlfO70YUK64yBfTuh1pVCIH3Y65PxlCFqACLTIwgVBm7DheOYRCTMz1oG2iWscby8B8DlFQx8iuqgArJLq1SLKm4lXdTyVU4EgOX2oXlhaljMAzOd+NtolFeOMZuL6JRVkgu7YIb4WelUw0oRA6NmTb3B+RlHCkyQoCcvoZaPPUdR3f1IPmViV6cR8wRp9sh74XOhi6Qu1C4qxuZjSWmJnNT4RxN2tnU2sqQs6pnmVNiWdGkGJ29jkeubaPzX0rIOCY+1b/nPKQhq+fj5yrtsl5HClu7r9YtK1oxZeLeAY9iRAi0jO32dkGq58/44hztTiaZs1owli1Lo/PJ3Ji51GtOJvMQ8KAMpFqxfuNN+OIiBmMTxgAcPXVV6O7uxsTJkxAsVjEIYccgu222w5NTU34/ve/P6h93XnnnZg9ezbmzp2L5557DrvvvjtmzpyJFStWNFy/Uqngv/7rv/Dmm2/innvuwSuvvIJbbrmFZngjCIIgCIIgCIIgCGJEEYIN6bVZlq21tLTgoYcewuOPP47/+7//Q3d3N/baay8cfvjhgz74NddcgxNOOMFOG3vzzTdj4cKFuPXWW3HOOefUrX/rrbdizZo1+Nvf/gbPU8rp1ltvPejjEgRBEARBEBsKg/tbZu+OI1S5jgZWoqaOP9CZ0xp9Xus24jXOJuVMikvVko4jaAeScRs5zLPlaibnyJMePL0vn3PrPLIzTDkSeVf9VT+fqmCS4OhIc/t3/lBwsEDPABUxOxOacTGEUiJtZgnT26QdiSZXrdfiRXC128U4IBw41oXUVXHtLGqmTwSELdvhzLUzjGVY7LBo0hk4bmJWLNOCYsjA9LGkdvsIGWq3j+lr41xSOUouT9t+hG4FEjNcBaKgs2CAiFWsGyS+Tq51ZjCYkisWO5gYg9QNZSwCJK9yU0gpbbkbZy5SSCMtfeQdtc/mlIOMq87XtM6UOAFAJRAo6NnrVLsLKAPW7ZQWPkKRshWfGSdCq19Ga2sBfqt2pHhA2FOBvybUfcbRHWawRhuTHDBEiOwxoLOWDGkONKUCNI8pwZ+m+2JSM5D2wAuq73i2E23lItZqd5Ovz8/sJ2AVhODISjP9PJB1JNp0OVnrhCL8bXy9X3UTOKUKnBVdkDqzp6VYxspyyj5LJk8nOYufwxiyjjrPtrTad8vYEvwttHvMdyC1rYs5ar+tJQ+ryvq54i44qy5BY2A268g4f3KuRJMuC23xAmTcaueRG7qoRKaUlNtn1TGlj+Cxu01ye2+ZnwO+LmdE1QyKgJeY5c6cf7KE1DwLoQjiMtEG5V+swc+cLFrQJtRsjFGiVC3kcf5RMgsJNXlIaJiJ1LcTqc8ytppqLlZzHhtaBtJQM482BQYtHhkOOuggHHTQQUM+cKVSwbPPPotzzz3XLuOc4/DDD8eTTz7ZcJvf/e532H///fGtb30L9913H8aPH48vf/nLOPvss+E49XXtBEEQBEEQxIYGbzBvc9/0LRihV9EIA8g2SoZcA/VlbbWfJcUiNBCMYnEpzjwy+3SYV1XOBp15YgZ3nvThIRaNoEOyU7rsxE9MG26yV7KOQFYPaLPpCjwngpOOf8Uvhi4qOjvGYY7NOgqMiCQjuCLO+IHOPGrx1D7HpAKk9ACzZEpxZAoduvwn5XA4Ue/5Ug7z4GshIat/X895QJMOinEQBxeb6d4dxqxoFMEIIdXCkRGN0rxFfUXeZioxcAi9XZkp4aDkdKOis5mCqGSnN4+vlwuHGxHPiGHM7icUZVvCJiHAZJQYQMaldQYOFz7zbLB5zgOa3FgUiCT0tVQLyqEDV7pxQLhUAeFM91mJNSOQWUgdxOwyIJsOkB4j4E7S7U27cAoBuKundK8UsKbiIevq+8vkR5lzQgUCkRWkPC6R8yrwx0mwKapfMWU8kEkDPaqcjguJzOp25FeHep9KIApt2HkIB46tNfMcIOcItGTVdfAnc7BpY4ApkwBfK4iFAuA68DpV9UlmRYAUl/anhK0cTAzYU1wia0TTrBI6UhM5+CSV5YN0CqxbHdMrdan7b02AdLcuA2TSlhBaoYfFWUcmmDzrwB4n54bI6BI5E8QuBIPnmPwu2KB2B6Zsz7WlqpJJG1TtQ7XTlykrGplS1BRn0LcNQgFbuGdFNBbacHnIqL58EszmjHHm2Swvc1/nZRMmptTzIytj7XZlp2DfhzXiUcgrVd9zWV3GJlD9/ciWsfWTgTTCKPGIMo965Uc/+hFOPPFEpNNp/OhHP+pz3W9/+9sDOvCqVasQRREmTpxYtXzixIl4+eWXG27zxhtv4OGHH8bRRx+NP/7xj/jPf/6DU045BUEQYO7cuQ23KZfLKJfjm79R2DdBEARBEAQxevQvDvVF/39AjPffwEFUlVnEG4pPyfBr2D31Jj5Vr8vArTjEGLfuGBuSjYTzCJ51HKX0r+kei2fc8h2GdGJmLEC5OjLagZHOBMg1lVHxY4dKV8lHZ2CcTxyRNC4iIyBEiHQ+jRna+BzIa0Gq2S8hrd+XAv01cpDTmUUpzuGE5pyZ7RvjsPCQRkaLOjlPrdfkMeS0s4kjngLOSXS9yfoRVjyKHR8uT1vRqFmOAQDkZd6GcDtVM1SpwX6BpdGtB9TM6UIkTSaU0MeOw8qNk8qBa8UrzuOBNWQEySJEdgAtlDNKGhFJgOleSGmHWM5laHIlfMcIUEA6inu9ErnoLqfh6TaU0AEhQwRCHbfMS6hEApEJX2cSnhuCN3GwMUoIQD4NVgnhoQMA0NJVRGtPFnnXOFsceGGclxMhrBp2uwxIuxGcZhdoU0HfmDgeMp0F69ah6D1FOC2dSHtaPOKyarYsgRAcDJzFM/hlHYFcTokPfHwWmDgOcvIkIKXFo+5usHIFTnO72sYPrdsNCVFOQtp7JOUAeVe1Iduk9u2MzQLjtOiV8gB9jzpri3pRCFdb4lwOOEY0M5lQADKuuV7qs4wjkNU5R74bwdP5YpG+HRmTMKldjMXPkDl/F6nYHccieEy9z0olHmVYCr6dmc5sG892KCGNTGTdXZG+3+K+aeSC1IHcPBXf1/pnThNy2CKr1g1E1m7THY2x7+MQfEWl5nshqp1InLs1n9cIOjVOneTPzHoXT70YVr2r0bX9SAw1MHtEmrNeGZB4dO211+Loo49GOp3Gtdde2+t6jLEBi0dDQQiBCRMm4Cc/+Qkcx8Hee++NJUuW4KqrrupVPJo3bx4uuuiiEWsTQRAEQRAEQRAEQRCbPlIyiKGIR4N03G6IDEg8Wrx4ccP368K4cePgOA6WL19etXz58uWYNGlSw20mT54Mz/OqStR22mknLFu2DJVKBSmjXic499xzMXv2bPt9Z2cnttxyy2E5B4IgCIIgCGJwKKfOcPwS3XupFOrKzxo7jmCdRY1cSLGDqDbHqHp7p5fjmhyheP8OvDjrqEHOUUqm4EgzC5P6NT3FHTttd4oz+DVla2lHIKsdGKlMBK9ZIuVI5HWujZRAupTWbYF1Hpkyo9B6fGLnT4pLZPQ+8+kKUr5a1ynp8p1KCildAuPw+hIVxrgtAUshax1Bxs2RcyVyCQdOIOPp102bI6ZnqEqUx5i+83gWeajMljYoh0xrKoW0a8qQgED/lT8d6L4PE/ccAyqsWNVmBx486BwfndHkSAdCO2AqLG1LyKRUM78JM3ubrGj3kSlpCq1jytylKSaRdSVyul85gAyP87BCARTCFLqFcqQUWTtClOz5ByghkBKBLvELTZ/5HMirdqOlCQgjsIp2oq1uR/PqCppcnTnlcnhBypY01eJAwnEEmO8C+Zw6t3wz4DqQxp3TlAPPufC088hNuGRgnHbSseVfKe2MSzXru6wtD4wdG7uOACCfV6VxKfPMBfbeAKozf4xbKM1h+9LTJim0ZoGmnF7ZBcq61MrUgHFhnUecxflTphTU5czeo1n7VcDXzjuXCXDdKuO7EZIj1NckSjhLXP1MpGU2zu1iAmmo9mWl+ppxXOtOcxL9GIj4qzb82RntKqwCmXDimWfNlNJx5sDh6p5IuXl4Tlq3X/V5k+NhK91NhSjOCWvvarbvO3keSUo8W/V9bRkbE9Xf15aW1To6k+2vo9aJ2iDLaTSRgkGKIfwftrmUrY0EqVQKe++9NxYtWoRZs2YB2lm0aNEinHrqqQ23OfDAA/HrX/8aQghw/Z/oq6++ismTJzcUjgDA9334vj+CZ0IQBEEQBEEMHGfQmUdAcqDRd5lafVBr4jPGbf5Ib4JRnNVTvR5qhKLqLKW4TXWB2XDsMl4Tjg0ArvTgmBBduLZcLaX36XNuB5dppzrrSH2NkNEDeScj4Y511FTpXAcYlwOkuiN7fDvtuX4XMWGvhmsH5gI5Vw2P09kAbjoWegAg1RMlBuFxT9iSPbhwddlMVmaR89Q55XXOUZMrkNM5MqFgKDITLqwQkDbTJZmlYjJbsmhBi2gCAIzRuTljfIaMa64BbI6SZ69NClGoRswBC+31MxlDLlJIS52jpMvsPLi21KQMPy7NcfUU6VosCqNQiUe6FDASZQROqaoojHPA58KWA6a4REUw24+hdFEMHRSKagBfYK2IeByGHCFEWYSoCBNQzRBFOrTb/GE9rUWkkg63bulGU7psj5l1HaSRgqvL8mpDj6HLsODwWHDRpV/QkxXBT4GlHLh6incHEkoCMxk/Dly4SCVyfDJuCEeLFchnILPZ2sMqwcBkSkmGUDLEd2Z8r5lyzYwjkfV1uVqzbms2HecoJQUIHfQlo1iI4kzlMQFARg/qPScWOPO6rDLNBVwt/jAGhEKXe4VqxVLEUdGijRL0dFmcvqfTwodjfiZIjrTu+5wWfLKuA6/mx6GQschbioCSrpEra8ElYhWbv8W5B0cacYjbZSmuOtzjmUQ5pmpzs+diG11G2BHEY+gVxXjMvFa0VrWpyNZWfR+w6jK2qLZsrSYTicneM5Bq/5YgBy0W8fq6uBFkqIHZm03ZWpLPfOYz2G+//XD22WdXLb/yyivx9NNP4+677x7wvmbPno1jjjkG++yzD/bbbz/Mnz8fPT09dva1r33ta9hiiy0wb948AMDJJ5+M66+/HqeffjpOO+00vPbaa7jssstGtFSOIAiCIAiCGD4YY71mHPU+aOhHMGqwv2TOkQ2pZm6d84gnQqyd5OcNAq8Zi4WgRsdmaCQiOXFgNjwrGiVzjlyp84Gkh5R11xi3UTzDWsZlyLpGPFJfM06EtK9EDDcHOG0+nNADoAaHXns8W1qy5UY44InAYNe6moTNtHEzEtq4AFfbIVzeuADDCHMu9+Ez5VzIyowVjcyAPO9GSGvRpKTlNSSdJg0CeDlz4OsBcV42o9VTA90xvtr3uDSsmwkAiiaTRrc0kA5KWnipyLR1gxhSMoWMVA6dnA41TjFuXTVl4cLVwgE4IJwQYaTcXUKEEDLhEoqKqHhFVGSAQA/spVT9ltb5OXkvgABDipswZIZK5KAnVIP5QmUcQl5BRfbYNoaIUNbdUgg5yoELUSrCiRLiqucCaT3TWd5DOhuLRznXRYa71v0SoGyvPQBEYMq9EkmT1AwIoZSvXuBMahePzu2RPlLSt265NFc5Sjyt9+F5sRCVpFKBLOkcrgpX4lFC6AEAh8XPQs4NkEmr+54Z1dBzY9GoUgGKSkQTPVp8CXxURJxvZBxHXN+XGRdo1k2LBbdYKI0EQ6i37w7UMbtDBz2hya1KCKz6/HPwIaRx6TGknVgUNsf0an68BVKioi9pMZQo6OtbYnq2QITWvVklDvHYmZfS7jkP6cQsiKp/W32GHVpVLtaKchyY/Y4fSwPLe3JI4tU4jxxebc7gNc4jxmq/730ig3oXUs39toHNxiaGWra2OYpHjz32GC688MK65R/72Mdw9dVXD2pfX/jCF7By5UrMmTMHy5Ytwx577IH777/fhmi//fbb1mEEAFtuuSUeeOABnHnmmZgxYwa22GILnH766XVCFkEQBEEQBLFhwsB7dwc1+H188H+Frtklqy5LMwKHmYGIg1tHCWdeIsg66Uxyqpahxm1UfQrV58bBE46cxMxrMnYbeVpI8uDC05+bwWXajR01GScu9zLThzel4kE0z3CwXAqoOODabeH6Fbg8dk7E05LHbgjPNQN9LUy5Ar4WpJwMoA0/4DwZYqy/JgZExn0CnkYGyhmU516V4wjaNZXSbRLSqXMeCCltQ03fedxFWpeoNSOHNj2X+jgtbI1PRdaNJQD06BDvQDseekIlBgFASvi2WM+IaGmZRkafqAkDzzjcti0dOXBN6VukynYCV4VZh7ICEVZsMVMkKihHnSg4RRSN20lwCAnrYkl7IVw3gu/GIllF+CjqmevKURaBGIcOfUgOjhARSnqcXYg4CuUUos4CnIKeHCioKMeQZ24YD162aMu7sm4KOddFuqKEBc5ixxB02VUlcCCKZfBSSR+ooMrKirrMr1SBDERVYLDL45ncfOEhzVx7z6YdCc+NwJJp0EFQLSB1dwMdXRCdqv+K5RzKEbf6lQ3f5rBB63k3QiqtzoulM/G+K1q06CkAa9X1Cdp1eHo5ZWcelDrsG1rgUvsEWvUsgyaMO5WYyj6IHPRox1GH+Rq46NGrlBPTwRnx1+HqqQeAlMOsy8gIRm7i3jc/6SoRUNAh8sUwQsmIkrys2y7gmEBsx7dCtA/jnMsiJY3biNkS1RJX17A1xTB1GxVOPrWzyR6/zU/b9/lC/B4AUqxaPDLOQkOF9VR9z2tKI/uajW14Z2IbeaQcYmD25pJ5lKS7u7thiZjneUOayezUU0/ttUzt0UcfrVu2//7743//938HfRyCIAiCIAiCIAiCIIihQs6jQbDbbrvhzjvvxJw5c6qW33HHHdh5552Hs20EQRAEQRDEJgZLlIYp4r8yM/B6pxEbnPsoWa6GWrcRc63jyGQaOdyPQ6yZa/+Kn3QgJZ1D/VGbI5PcxmEeXGn2q/bpSte6kDzmwOe6rEVnxmQchowu1WnypHUcNXvKpZFPVeDndAhz3gGyKYBzMG3b4F4FjilbY3G+iGszahjS+lhZ6xYJ4emQbOYDzCYi6xIrEQ+eIhnnmZggZh9p5IRy3DRlHDR7xi2l2plzQ+tiqggeZx1JcxRp+80zDguk0KRzWFpSHsZo48NY7RQZm6ogrfvGlBYBQHcYZ++YPnUFhyer/xieYh6yuqQo68b94ekOi1wJz9E5WOUMwmgMAke5cwJRRBSVIIVxHhVRCbvQ7axFIVLB3sWII0i0y/UipDMBUrokiUOq/KdIOT4KoYNSoclmPwUoQzKBip4CvTvk6Ag8VDoYUh3aFdRaUCVmpozN4XDSQFaXIOYdIOcy5EzOjYzLzdR5MJRDF6KzB7y9S51re7van3EedXVDFgKEoa93oUKsjfMozTykuWOziVJMwHESz0Q5ACsUIFtabDYTW7UKWNGOYLW6ATorKRQjbnN/TPxSzgWa9D3a5AXw8vqGMTaeMFKOIwBY3YlohXLDFNaoZ66jlEJBO7uEBHy934zevNWL0JoK7P7VrmOXVSlybLlae8XTX4Eu4zxKVF/5jnFLMRjTlcdV6DcSpXhCAoG+8Y3TqhQBRf1NQYaJcjX9TILD16WHyayunP6a4a51PklIlITazvwcHZsSyOyuykq3eqPLtnlse+w2yjnVMkFaVJex9dQ4j5wap1FUW6ZWF5iNXqlfd8N2Im1ODFo8uuCCC/DpT38ar7/+Oj70oQ8BABYtWoTbb799UHlHBEEQBEEQxOYH57XiUTw4kFLUlTBBxuVsvQ0izPLGs6ElMo+4B5fr/BE9+HG5bzNDXPh1mURcxqVmvEH2kkBkBSPBBASq8zskRNX2cf5RXLZmZmbywBNBwybnCGhJqZFWiyswJqVGqmPSakDZ2lyE36bPvykLZFJqVh8TjsMBhlg8MkG+vi678xi3opEpCcp6oQ3JZl4yyFitl4zESQ4CU3q2shQyaNKzPeU9oClRaqTOKbQDcpOZA1Rn27i2FEcNcjMyj1a9zzFphrG+2ucYXV7Xkq4gpfOEKpGDshZqfD0Idhi3s1mlmINQmsynuD9iwc70B+CbvBsZZ0IxOAhLWZSh8mLKThcCp4BQ6pIpGSCIiiiKtejUs951BR4KEUdoZsTiEm5Ggus+cVIlRJKjpMWNQuShGKUQlFRZUbe+XhVdjtgVKPGoqyON9Aol7Lgt3dXpw1KCubClcVknQsZ1rDAQRRIu4/YaBhIoBC6CdsBdpUWF/BqgWIpnLmvvhugWKEdm5jnofjZihYOMy5FxTamWAGeA1HlZrFQG2jvAymVVEgcA7y5HtKQLnavV9e0op9ATxbOXmVKvjAs0mbIyvwLHVFLZYKoK0KFnalvagdJ7avHKDiV8rAlSNp9ISEBXPtpyytZUiNaUOk+T+QUARS0U9YQu2nW52lrTHQFQ1Kuqe0S9j4O9mQ259534WdRVaahE1TOrAUA5ElbwqcgAglWXfHlII6XFz4zMIK/zh/K6XDHjMlsOF0qgRwuoQUX179hUBDZjawDAxMdfsvttWzbOvm+qCWLyS9VlbLVla0ZsNzSagbG372vX7TcDadTL2qhsbcAceeSRuPfee3HZZZfhnnvuQSaTwYwZM/DnP/8ZhxxyyMi0kiAIgiAIgtgkcLkPxpwqh05SPDKhw7Eg1Jto1PcMbLFg5NpwV49n4HGVj2IGPx7L2jwPT/rWkWLcQC6cupmCANjA5RARIj24C2VozyvS+TeC9T3QSc5U5SXCsXN6xNzsAa2e2sd4P8DEjBIKxreq2Y6aJlXgTVFtZm1ZNdtUCICX4rYmBi02FFs7nNKOgyYbaK3anPUCODpGhrkMsqwdR3rgHQjHJphISBt4bRwQGZlBPqX6r8UDmvVAPKfdHGkvRBiZwPJYfbKzvoEhLVQDfOiBMUtjbFoNUMf6wFi9zzY941ZTugxmMpnKSISEx+4Vh8f7N7PZmWMmZ7UzrpGMI20eDmeAr0UABoZIeqiUWgAAJT4egduDHh2gLWURkSiiFHaiM7UGANAV5NAdcpQi1S8iYuAuYGZE99MSrVEB5dAEMXN0hy5KkTr/KJAIEaGi76+eEFhbcbCmlEHzSnVcp6VbBSnrvkcQARxwTfizI5BzHRvaXBEC3MoZSsjoCV30dKaQWq6EHSe1Gsj3ABX9XK7oRqUdKGkHTgimRElzX8FBxmFIMTPrmNq3KGuxrqMHcFerWdza1T0s31mL4jvAii51/6wJXPSEzDqPvISY12LupUwFzFiHjGWtuwS5Vj0f5XdCrFypOndpUQkfK8sOCvrGdVk8c6Fx87WmymjO6pnqzGyFFUfPoqZyptoD9b5d3crorEiExiHFmHWq5Vzz/Eobbu8yaWeQK0Xqa5j48WDEskAIBGZmtcTPSSMYeTKFjP75lXc8tPiqg/JWBI71tFAyOGXVT0V9b01IBxAzdlXbTPu33f+4V2ORKudWi0EZWS0WubxaTKrNODIOTwOrCdSuF4QGQa0QZf7/GPoeB4UYony1CVStDV48AoAjjjgCRxxxxPC3hiAIgiAIgiAIgiAIYgNESgzJeYShbLOBMSTxiCAIgiAIghg6ixcvxl//+le89dZbKBQKGD9+PPbcc0/sv//+SKfTA9jDxkvKzVXNVCalQJRwGwkZz1gFPQ26LWvoJ/9IrccT71U5hXEbpZycnULeZ6ocKC1zyBiXi0zBg8kf0uVljFfNAie0yyDSf0cOZITAzIbEAgTacVTR20cyqMtBQnI2N8nVMbT7JaPrXvLaudCaEhjvq/1PyRYwZZyaoKZ5K9U/qW1yYFNVrg7GtABSKAuDth6IEIgSgxZTAmTcJ3mP2UyiZu3ASGcD2KoUxiC1JSLUzoWy4FWOCdNnTE9138R9tPq6/R7QYsqmtGsk5UVx2VrCfWTyYHyXIx/4VctaPA/j0+r9hFSIsbpsrymjvvrp0OYwORURl8LZ/pa2bM1zOERUfUyPc1vGZGbhSiXcKS6T8GzZmgrNDYVygpTL41F2uxFE2vUShGpC9agHPVI5jzrCiegM0ug2s8AFDiQAbmrkGENahhhTVjk9XRUPHYGD7kA1qhR56BFAqO+lYijRHjCsLqUwdq0uF1xRhOcVYKc6K4eAgJ1tL+UIZNz444pw7P0MABXJ0B066OjJILNMu8R4F3i2CKnrrMJVIQqdKRRC5SwJ9OxlplzLYQy+C6TsbGISImIQukJNrimAVUIgkhBrVH8V35FYtrIZy7RDaFWZoSeU0BV6NvMr5wjkXX3fZ0NwM7W8sewUSgiXqvth7bIM3u1Sz/qSomrrmrI9VeRdwNf3nck3as6WkclWO2TCiNsSve7QQWdFtaWzoh1gQWQrBT3XhTYBoUk/U62uQFY/V5zBzvYWSTODI7PND4UpkYyviQMOR5qyWldfE9fOCNjicfusmfLQnBt7DdXsfNo5pZ/fidkuIKczk6bl7bFadT8AQM6rdg6lasrSTFmvweXVzqQgqp59rc+ytRpn54Y++9pQA7PFJmA9GpB4NGbMGLz66qsYN24c2tralB2yF9asWTOc7SMIgiAIgthk+NWvfoUf/vCHeOaZZzBx4kRMmTIFmUwGa9asweuvv450Oo2jjz4aZ599NqZNmzbazR0Rsu54cObaXIsIgRWPIlG24lGgh/0RKhB6cCFEpaEQY2CMg3MThK1LPJw0Uo4aKGVYG3JQQks+UuJRDmnkHDUQSjsOUry6dMmpEo7icWolMoHPAiU9yi2IAEVUDz7LTNjSE8EEHHMuMJk7HJ4+1xTnyOnfzlt1ztFEP8SWOTXynjqxHS07qu3cHSeoFbffEnLyJACAzGTA33kXkCEA9Tu5rABBFA/OTAlQnpkQboZWE8Kt815S6RAslRjQ6WqWsKKWhYLbfmBg8HWfp/XQos330OqZ8wjRpEOIM7rEjDsSlcCUjcUDXSPOZBzVKwCQ1iJaW4phUlqd+4R0BW0ZVaplBvuOJxCWdRgymB2ombuF6cBiaJEuFpeYPY45ZVNqpTKiTF6NgNYD4ELlYJmWByKLcjgVgafEkEgGCMNuCBGiHKnSrC6nB51BGp36vAtBCm1B0WYU8ZwLxoGMDtAZWyhhTcVDhxZpugMXQSAQafG0FEXoDlysqXhYVVCiXWZVBblUCU6zug5S6FvBiBtMIM3jPJ4i56gIYfuqHEl0hw7WllPIrknrfZTgZgNbJVrqdNFRyFgRTFej2eE+40CKM9tv5n4JtZbAV1WA9gpkCSiuUlutXNuEdwtZLC2p79dWgEIYl17FgdkCOZ355WaSWUe6bHR1Cd3L1Lkv6W7COyXVd0u1cNUTSvtc510lpgFAk77vM9kKvLwugTKPcRdDRedn9UQMnYE6r65AHbMiBdKm7NSJS8daEjlKRjwSMhZwCqacL6F9JcUFE2TuImXfpxOB7nn9fLV4QKsRfz2TbSWsIFuIOKCfpe6UFl/buu1x2NQx9n2rX7DvM051QLbPqgUdr6aMrVZMMj+H7XFEH+JRjbBUW9+1oQVoSzm0zCNsLplH1157LZqa1H+w8+fPH+k2EQRBEARBbHLsueeeSKVSOPbYY/E///M/2HLLLas+L5fLePLJJ3HHHXdgn332wY033ojPfe5zo9bekWIspsJBCqHOCYoQIODKEhDwAipSDcAdrgY4YVREINSyMPFXapONhITLiDHXikYpVw1+0k4bclwFG7eIcWhDs3rvqvWaUw7yXpxTktV/vU9ZJ0Xc9lDEg+WSFmR6Qo5uPaDsDji6dDitGQBVh2iLOvGLg9mZkTIuQ7Meg03Us51NyxWw9RQlBLXs4YDvu53a054z1Ir6d3SDcF3IbA/YS4sBAOWii7KIZ5hKWQHFOJskWvWAPK/FHTejso7UeUgI7dgIApOVw2xQssthZylL6fNoSzGM9fXg2Qvsfs0MblIysIS4YPrYhFM3ebA5TEZMm5AWmKLdRuNzBeSbS7qtdoo2SN3OKOI2p8YIPA6Lz126sIKkdY3wOLeHN0gn4ZDWhZTiEi6XcJjpVw5RaEYoVAix8EL0AJAiQChVO3tYJ7qDNnt/9AQewhJDythrXAcsy+C1aiGvs4gxxTRWl3VAs8dQDB0UrONNoidU2Ttryvpe7sjATfXAj/SzwYCoFN+LDleuKnO/eY5EJONrGQigOwI6Ag9+QeUPhcJBujuw7rVCOYW1Zd+KR5VI3VcsIfSoWcXivqtEDko96sYWUQhIoNiTwupuJXq9V8zg3YKL5TqmqzMQiIRExjWh7lrA4wJpLURyP07rFgUtOK8CVnQoJ827BR/vasFqeVF9HkqJtpQRORjS+n5L69B1Ly+UKKUnbgOUay9+1hl69AdFEZrbzgolWRdo1RPZmWD7sX4ZnnbeBaFrhSiDkPWOFJdx+yx5nFsBNZvINDIiVbMrrGMwr8WjjBtax10mikWfQqTOvWlKQuCeFIdkN/uv2fcmp8lg2mPwRPVshfWB2U6fn0eozUBKbFsnFm1YAdqywTUb6HYbOwMSj/75z3/is5/9LHzfx/Tp03HAAQfAdanijSAIgiAIYqBcfvnlmDlzZq+f+76PQw89FIceeii+//3v480331yv7SMIgiAIom+G6jzaBLSjgYlH1113Hc4++2zkcjkcdthhWLp0KSZMmDDyrSMIgiAIgthE6Es4qmXs2LEYO3bsiLZntJjOJsLjvs31CKRASTsliqigwJVdoNttBwCUnE6Uog61Lu+xLiRh//Iv7Ew/rpOxJWpZR7uNMAljI/V+nJvBWF2zM05PozXWlxijZzNr9kI7nXxaT/vuMJkoT+LWcdGlXThrAgery+rz1WUXqZJ2tFTiuhTB49nkbBaT/uognv2q1WeYlFb9Mj2vznPbqavReoAqIWKH7QGx4459d3AuB2QEZI9yU/T0pHTpisKU7RiXT5sn0GLKdnK6rCwbW3JkJUKkTQIm+yWUzDpNfCcusTFZOuN9iQnazTEmXbL7Nc4jU15mMCVOZnp3h8WZOW362kxMlzGpWbnRWtpKcLXhypgUwp6a2eBqHB4pB8jr0VvGjcvauB0DyjrHUShhHUxAnB2U5RJ5F8jqKe897sJhLtAzVu9JrVcOO+x1DlBCTxiiS2c5dQcuSkUP6bLucwDwXXBtKfHzAVrby2gpKYdH3nPRGXBUAuO8kyhFAj0hR7ue+ay9nEa6M1TTzQFwPImwzKr6gkO5pqDL83hiDBwINQtYZ+DA0U6RUDCkKinrmiiELtorLjq1g6oQMVQSNgzj97J9KBjKoYOegjrvcslFOXLQWU5jWVGd23slB8uKwJqSeqYLMoQLDt8xuWO6tNARduY4OLA5TKJTLetu9+3MakuKwFLtOFotO/UmHDmhZshjjCGln/F0WpfCZetHx0HEUdDPfHcgUdTOo1C7CT3m2pyyFg9o086o8bqssjlTsi677hLAA3XONudIxrPKmWuRdR1bWpjzgKaE4wgA8q5ARrc96wpktLMpp2dL9N0QTDuHMqFjj2+e39Q2GXt+clxctpbNxG6gdE3skF/rPIqqnUdOjbOodva1usyjKvfQOsy8BvNDQK43dUaA2VnzBoPcXMrWtt56a/zoRz/CRz7yEUgp8eSTT6Ktra3huh/84AeHu40EQRAEQRCbJCtWrMCKFSsgRLXtfsaMGaPWppFmRdQNVwQQ+jd9AYGImfyjEKEO2HGlGoz4LA9HD9JDnkekA6lN7oWoKVlw9KDFDOC7sRqhLotbKzJY0q3zj7rVYDbNXCve+NxBSh/LDFiT5TcyMbW2CbetiMhmHhVliJIOSykyNXgs8QLKTGWJhLIMqQedRagBbZezBitCNZh7fW0Tnl2jym5aXdW+MW9Mx5gnVSPGXr8CY1PLAAATdIj2+HQJ0yesVcs+noU8bB+w1WWU3lDnvLJnHIqJ0pV4enL1tcUL0eSbEGLVNuYyW2MhKxKhFsQCndciJLP9knXj9y06e2ViOogHz80l+Dk94NfrsUBW/eXe0YNbUyqTd4Fm15yfOo+Jrd3Ij1PX3h3LwXSAkSjpffdIhLaUiiMUJtxalyZxhrQe7zIW3zOmHaEEAhtcDLvMBBwLXa4GAM2pMnw3RKRL31rKPnJO2t47rGsCGDjW8HcRyXhAXpERilo16A45SmUPsqQ/DyMg5YCltRCaD5DPlNGsy8eaPAdZl6OsRZuKVKVdxRDo0qJZe8VFtuDbc/b8CCJiCLS4FNXkE3GmMqukXj+UDMVQopvHg/9IcnihsIPlQqhKM7tDM+W8RCDicbvqolgQqUiGYuhWDbaLoYvVZQ9L9X21tAisLAVol7pUFSHSMo0maYaqcTmhjd4RgCiqa19ROjNWd2ewXOccLSsKLMdq1ddMfc2gFZFQZasujwViI2qyFLM6htDCVClw0aPF10IIlHQJlekznzlo0VlC43yJSWl1349tViK4nwttVlip4lnR0gSNB0Lavks5JvMrLn8b50u06nI0k2mU4mEsAHIBR7/39Oe+F8LRz7dEYEVPG1K/3QT7U1M2t9jr4qfjUuB0Tdmay6uFD0dWq0v1gdg1ZWuo/bz3zKMNPUBbzbY2tO02dgYkHl111VU46aSTMG/ePDDG8KlPfarheowxRFFtTSJBEARBEASR5Nlnn8UxxxyDl156CVL/RskYg5Ryk/99atzuaXhuHLbK+rH/y0Q2jkBkB20yMYgzgoxAVCcqSQiVHKwThwATFqu+VvQLJjzZzLJmZhBjHBxmZiTXDqodPbB14CILdT55pOsGPtXnIhKimcl8ChEx46KSNsupBDUIXSJDvGPORYZ2ewMHQ2aNcrxs98vp+MiiApYuXYrW1HgAQHvFswKIwwBfN6/FU33Wkqogp2csc8xEfw6LXR0F5RaBnmUNNdlJTZ5ERr8fq91GkzMlO3jOtIVw9OU22UlSMCvuSDA7EM5pUSfnRBinB+ETxqjrlJ0awZ2khBRkU0CgB/yri3qnIUItrJQjx2R8W8HHdyL4ehCddoR1GRlnUSFy0KHdZN16WSSAMDFrW1Y7O1pbilXnNa67B2NXpZFfqwbiLkuBd41DKvDQwVVelbmfyvrRLkQOihUPoc4odkshmO+qYCIALMPhZ+Kw8aayh7zLUNI5QOYEAwloDUXPBpayYkE6ChFJ5fxR6/I6xwRjsagUCqAiVLaPcZaFwoHLuZ1dqhABxYihSyttxVAJIEzv12XKwRTaYHmOAnNs1k8oGboDBysrHCt1xtHKUoAVWItutjbRsjEIoizq0G0VFUA/Iih0KqVlVTmNFXrZikoBa9l7ug3qXnTc2C3jsYS7UIfTM49D6FAz444rhB66dF8XI4FQ/ywxM5/lXRdj9X0wKV3GxFZ1v+YmqY1YCmAdahunU9h+KOnzqCR0EDPx3lgf2CKjZ1jMFDFWuxDTWXUvMC4h9L0ehQyR3ic3glJKwNXh8swFUmm1vXVtbbtHfNBcHIzt+nFjkoHnSITZ289rBJ0651EfYlGj74mNgwGJR7NmzcKsWbPQ3d2N5uZmvPLKK1S2RhAEQRAEMUS+/vWvY4cddsDPfvYzTJw4sc+ZbDc1mqJWpFjafs/B7cCzPyRkLArpwU2ECIIZ8UhCsFiUAYCIhVaQqRaaGv8Z2IpGxu3AXLhSDTpdpOAK7QzR4pEH1w6kXMbAjfjEWNV+kueAxF+hQxklSlgiWw5jAsVDFiDUbquIhfa8jejmIY1mM3NcmuONHo6lPS4maMEg6ZbyuRJmgNjZ0+RXrOOIm7G1lJAVLa4UgXJFnWsl4WAyIlSOS7TqfU3UbqMJY7uQHa8H5q2OTZeV2mEnJENkQrzB4Bp3kJ79aly6hInjutT+t9XXYdo4oE25RuA6QLv6nHUpRUqEQFk7o9QAXW2X0kJK3o3Qql1M+XTFDqTNrG/tPWkA6r4MhBoIF2VcSpR3I4xrUyJE8/sAPn0C0KxcYm65gknvrkbzv5cDALLvjIPHM/A627C8rPZZRgiPxYVxgQCKkYugoEuJihGcnLDlgszjcNOhLUXKuwI510GPa6Z65/Y+Mi6Woi6x8irqQppytaLpF+3I6k2aVvtSYlAp0o4roQRtcw+VBEMhlChoQaUUKQeUcaY4giMUEhUzOxvn4JGEMbKUI4aOkGNNBVitXWOrZSc62HKUI3VNOXOR4mmEslWdh4zvFSMQRoV49r8OPdvc6oqLVSV1oNV8JXoqq/SJ6WfeFfAcUwIn4bs19z0A/aihpB1MnaGLLr2sEEY2/D7NlGLU6jMbbj+1qRtN07RzcmLGdqqslGz7jZBrDHNBFDvBTHD/5HSIbZpVX0zaohv+VP0zKauOKQMB0aEk72CNRKVb94++ZoxJe05OHtal57WobcQ228Tnm8gx5l4sHnm8+uejU/N/lFMjHhmnqN1XbYB2H2Vr/QpLG9jsa0IyK6YOhqHN0LZhMSDxaPbs2bjkkkuQz+fxyCOPYPr06RSYTRAEQRAEMUTeeOMN/M///A+222670W4KQRAEQRADRA4582jjZ9CB2R/60IcoMJsgCIIgCGId+PCHP4x//vOfm6V4NMbJwXcytiwm+Tfk5K/jxo0lE0ERMpF2YRYLKRHpvzxHkLasxDiUAoQQzHweQer3YQP/Bdc+KADg2u3gSAcp/Vd1Fw48ZqY519OIc2ZLOpLvTQ4QrwklNiMIcx5CerbEJ4gkAu3SCbRLJ5ASoYjPz5y32aXPHWR1unTe5agIoBxJdGq3hOeoEh3oEq68q/bV5KkVspkKnLSZy103MZSIdDlVpeCiWFHnn5xmPKsdTHlXYEJGlcVUlZhN0M6LlKNqmwCIbuXAkBEQaJdEKFjs7tFtas0Xkd1Khwhvr8cc07aAbFbOI1YJAN0nzFGBNyJiNhBYtVPnKGl3ybhMEWPH6xyaCRJcz3suelSbsksCyFWqIRWdceMyB2N02dg249ei9RDlNJIf3A8yE4cOAwDeD2S3/T8AwM6PLYb37za4LI+Uno6+sxKBMQZtHEKk21nR5VHZYgRZCsH0tWRcOWLSOscm50Roch30uOa+4QiFurfMPRFIoBBxuKHJKzIuF12CFXGUBWzJoJCyKodFOfMYQqnuIQAQXIWLm/uyHEn0hBIFHRxdFqoU00uUa6Y4t8HsnpAAHDC9fSli6KgwdFYkOnUSexdfg2LYjiBS94/rpFHmBQT6WY7dOhwlfS863QLlsnq/uqQcOavLDO2Bcpd1y5UIdbmaccG4SNkp59NcwE+pvuXaJCMjiVBtgm4dVN5eiZ1HRRFnAmX18z82BWyRU/fQmC2LcLdVbimM0Ynu3UXw1apNUjKUIuMGg+6/uFzN5JBtkS1iynTVF6k9xgJbTdIdq9rEurrhvLtC7VN0INQ1cJFxG0oGpp1DTpML1lpzr/ZiAuEJM5Fbo404dWVrfQVgNyhbq8stGjj1TqPRLeuWQ8wv2mzEIwrMJgiCIAiCGD5++tOf4phjjsELL7yAXXfdFZ5XbfE/6qijRq1tI81Y30XacxuKR7yfP+YK2Vg8MiU1EaQNso7M1+R7KWyQr7T7ScwUxVgiTNgICLxKHErp92ZwnEqKM4n3egImuEw2PC9z1EiyREAzsyVIJl8ojABdQYZIyLpZwhzObP6Qx22FmN2GS0BPLIe0I5DVJWZZE5KdDuFUT5wEWQaCbnWAnmIKhdCIR1oY47D5QWPTJYzXolFuuh6wbtkKtOb1BYqAVV26g/V5hg4CEc/cZvJVslooyY+rwNlajzW2n67alPjDtQTAuvU+9XUQIbdldaGMBzl5XfY1ZkwPsjuo82BbjwVyKk+H9yiVrKlpJSb/u8teE+iZtrabojKLmk7YHXKrreovZLLf9lBB925rM7Z3/wn2TwmXKRHhvaKDUhTPYsW0cBbosrmwCPByZMvWAIC7QMo3M2mFyLku8vrGEgAqkbrPzL0gda5RyZYHql4ombI2wVGOYiEolLDPgz0HqTKQ9CYI9D1ns5pCVb7Vo4WUkgwgIeAlypa8kNnZ8lxmRpxaAAqBYqRmLevRQfIl2YVK1IUw0uIiJEKnhLIWCQIrPHH0aPFISoZu/X6NEZHKwFodRF+KOhAJdY87OmPNRwZZM3OZE8HTz4K5L2UgERR0KZwWj9ZWlPAHACVWsuWqOU+d4ARfYIs2dczU+5qAbbfUB9CCzfJVYL7KcgoFszMf9uhDh0LC1T802nQO2ZRxnUo0AiA/sJe9Vy1hBKavsbOqB2yFLnUNE2Wl+icly/vAJP0sNeXQJ4kfxk5N5pFTKyaxWrGoNkC7b7Eo+Xmt8DR4+HqVZoQEla31BQVmEwRBEARBDB9PPvkknnjiCfzpT3+q+2xT/31qXBrIePGAlyVcNP2JR5FMii7qq6gRX2z4r4y/GvFISCUwoZe/HDMGOCb41woyLPE+zvoxIkCKyziUmUubFWIEEZdLOPqYDQxIiMAQGKFIxKKRFZFqzs+IQ2Z7lui3SIcncxYPbqSU4My0TyCnB8yZtJ65LC1hZ9XWA9qoAJQKakDeXU6hO0hmCalzyuv9jMkVkdtC5xtNVwNeTJ0QD3h7CkBPuaqfo4jH4piMZ3bKaudRaqJj3Rayt2oHE/SrA6ZFxOw+I8ltGHJTWgkImS0BttNUtc8ddwDSOuW4pNrGcq+hWbwFANjmLSUYpcYBzimfrOrvgSC33hrux4FtK/+EfMkIjzm0V5gVP1NcXaNAC15RiUEUIjh6lC4jCTDA0U6xjBsi70Yo6PyaSAszLBE4bvrTOLAiLhEJoKT7pRAxlARDxYhHJnxanx2HCspmLDGflTSzzqlvy0KgKCIUoNxmRV6ChIALLR6JPNyQ2Znnah0spYihFEmUhEBZz0gYRAVEogwhdbaXdBDKMgIdQGTygbpDB116qvty5KJT35erAnV+7RWBTrbG7tNk4bhcXeuMyCGnG5RzQzvLmtEuZBkoFrRoFKjzaQ9gHVJFXkKLVKHozfp0J6bLyOucI7xvK8jtEnlCAFgQ2MyhMHJsuHkxjB2Gnrb8jNOB8/npEthzZ7VirXAEnfk1ZbLa/+tLISN1LcpB7DjLGpdUxgMmqfB8OWly/b5E47yg2p/FteJRrdzj1MgKtYLQ4AKyN+wwbQkGuZmWrQ3oysyaNQvLli1DZ2cnpJR45ZVXsHbt2rrXmjVrRr7FBEEQBEEQGzmnnXYavvKVr2Dp0qUQQlS9NmXhiCAIgiA2ZpTzaPCvTUE8GlTqNQVmEwRBEARBrDurV6/GmWeeiYkTJ452U9Y743yBrCesG4YjrtRhDX69lmBxiRpiR008Qxmz062HIrkcdpndJlE6kDxS0vlkiikauY2qXUZm2ncJT+copRyBFI/09rqEi4n4/JiMj29K0cBtBk0ouHUhVRIOJHN+gWC2pKrKeaXbXAwZSnqGN/O5lLFrIMUFfO0YcrWjhSd+pRfaIFTpcdBdVA6MriBlS21M2VqKC5tP1DS2DHcrne8yfYo65pQtbK4KW7MaWJWcgh0IIseWmKlZw/QMVtoNxcdmILeYgr4wmUMmGysMuZ1dTErY6erzeXVSzlYtynEExK6jxHs5Y1dwnSmT3VmV4cl99+qzDX22b+ut4R3aienFxQAA8SbD0kIaPbovfaYcYaHOCgorHKlyBKFLl8AYGI+dR2lPOY+KiX5LMVV25iRcfFIyBObej1R+UVHnSxV1yZgpQQuFRCRl4vlj1smWdBhEInYplaMIJVlBgauSsyI6IRDC0zPVgQOuaEZKz4pmMsK4PkggJYIICKWwMyNKKfVLfy8CRCJA2S3bdgNAd6QyiKCfrw5d8rdW37ftQRkldKj+jirW7eI5yqWWZz6aPNU5eS+E41f/vIlKcdbRWn2cNWWBDq72WUEBLlMlYHn93EzIF+BuP0a1e/sGGXYtLdYdFwqGntBcizg/yZTAjkkrJ5azwzjIMWPq95VAjlMuP+a7iEyOki7j8yIOGah9IeVCjlPOI7gNSsmCIH7fx6RltU6k2lkkazOO6jOPhu5Eqt12tEUYuZHMtvbcc8/h7rvvxllnnYW2tjacf/75uPTSS9dpnwNWgO666y7MmjULhxxyCADg3XffxZQpU8B16FihUMD111+Ps846a50aRBAEQRAEsanz6U9/Go888gi23Xbb0W7KemesFyCXcmPxiMXiDWvwu7VMlqoJhkivHQtGLFGixqwQY0SWMJFPEfYy6jADI87icjNPf60SjBxhRSMzBbzvRPB0iZTHBVw93TzX23AuwBL5IWYAIbTQIQRDGMXlVkFkBprxgNMIDFHi/MyysmAo6m3KTMlvMhGsnRwPukzatjopnYni2pnMoatzUC656NbTvXcGjhU8kiJbLqVW9sYzYKoui9lS570kMrxkaytYyiQSqy+B4Kgkrp8ZGrqmjGhMHsjnG18sQ7o6BFgFSJsgaMTXrFnvc+qEatGoAVZcGibkHjOQXqkCvacV14Ivb8Xqsm/b6HIR3w8hQ1QCWCoRVgWA65K+lBch6wZosuKRyuNK3tMOU11s+kHqQGYjvvSE6r0Jww61aGNC4hlX+0iGvMdlkvE2ZVZBCUpgK4suRLKCgBV1u4EUPKR1/k6Kczg8fq6CSAleAtKG2sua8HopJSRCBFCqUEm7MbsCF77OynG5yiMCgDVlte8O3oVK0KXbHcLR5WpprsTNJte1odSZVFCX9RWWGDrLpmxNdcCaShmdfGXcx7qvTNla65gisHXvP8dlS4stWwuEg5Lu+4IWylLMsX3Tktd9uM0g7sOUiyg0OUpqaO9Jjihg9vM+7/tSyb4VgzC98kY/rIfI4EraECf7W/pQvUaAoZetrV/x6MQTT8SnPvUpfOpTn8J9992Hhx9+eJ33OWDx6Etf+lLVLGs777wznn/+eWyzjarr7OrqwrnnnkviEUEQBEEQRD/ssMMOOPfcc/H4449jt912qwvM/va3vz1qbRtpWv0A+ZRjxSMG2VA0Mkip3DnQQouwQlEssgQJQSXpQoLJQWrgNjKwRDisy+LMIvM1xUVDocjXX11XwDWCjCvB9Lq9uo2Mc8jMZiUArjNPhBA2iNZMBR0JBmEEsYRLyTh3eOTYc1ZZR9XB4klxgUGCOUbUiqdts+JRWYdklz1068yXrtBBQTtXTPC2y6R1CTnjMjZTBTX3serAlF2uI2gQRBxlI5Il/hrvGidIS1ODK1VDjYsiChlCmOvM4BkHWLNeYfIoufx23xEAkFv+NCaVu8Da1TkWQ9cYUgCdAyUCQGpBhLmqv0yusOeGSHshspESHUKp3EGVBi6IpPuuFMXOo1IkUY6knckvFOrZM0KAEY1clhQH1DrCipESFVZBIJXzKBA9CKMSHK5nAmMMKZZFRignUkY4KEccZqI+kbgfjTuFwbEOMkMoApShjlHQ4lFP4EDrMOAAOrRppjNQfVJABwKd/wPAtikDNQNak8vRrEPZ034AbjQV87Oi7KBbCzDtWpBq5x0ohkoA9Jw0XP18mlkL/QkScuoWdZe9Cm6cg9zmN5V0vpMDBl9f40yrdl5Nndr3/pI4HBXtwDJtT0uBsKI7yuknuLqcyCMTvf8grpV3eK3zSNY6i/oO0K51JlWvWzu7Wq+rjgrmZ+xgWd+nkU6ncd555+EjH/kIvvGNb1RNDjFUBiwe1R5sOA5OEARBEASxOfLTn/4U+Xwef/nLX/CXv/yl6jPG2LCIRzfccAOuuuoqLFu2DLvvvjuuu+467Lfffr2uf/fdd+OCCy7Am2++ie233x5XXHEFPv7xj9vPpZSYO3cubrnlFrS3t+PAAw/ETTfdhO23335Q7cr5ZeRT8fTsPBH2mxRaDCIpniTcJVGivMuzJV4ydubw2IEkrXsi3rcpkWMJt5HLREI0UqO8lCOQcs37CJ5nyr6MM0TA0e8Zl6j9I7oU8eBHRoCJtDLnLQWzziTGGLgWn7juB9dR06Wr9gt7fuYwkWS2rENIJUZFsrqsTcj4XG35idmBBEy2bqCnjS8FLrpDM707Q0l/blIrOJNx2HBrNi6L6Q2veshRJfLJ+FqYKdORbxAS3A+R5FYkRCKw3NEWkf7KgPpj8uT6sOGlS5f2u50J/Gbbjkd+5VKUdTmRU0gjkrDXXkiu3EcVU+6oro25n7gr4TsRMq4Rj3Q5WBT3pdDliuYZCqQS50xAdkUAFSFRMbOxaYOT6XYG4zxiVqQJBLNCL7R4JBAiEEqkqYQ9iEQFoVa9GHNQcrtRhlLtKpGHtMPhNHDCcT0U5czRJ6rLDiEAGSGC2mdJu3R6Qg9uon6qU/dVl1B9WmTtdoY1AHAc7TyS6n7KuEBeP8t+OoxP3Nz/gYMefd936dq/bqxGOeyw7TSB5jkjHo9PQ/bjaDNKciiZdX1VdFh4Fql4hsaWvnfT277NLGslK8jCupGqFMpGlJPOo6E7Y9Z9xjRiuMno0t59990XH/vYx3DyySev8z7pKhMEQRAEQaxnFi9e3OvrjTfeWOf933nnnZg9ezbmzp2L5557DrvvvjtmzpyJFStWNFz/b3/7G770pS/hG9/4Bv7xj39g1qxZmDVrFl544QW7zpVXXokf/ehHuPnmm/HUU08hl8th5syZKCXKHgiCIAhiU8aUrQ32tb659NJLEepsrW984xu466671nmfJB4RBEEQBEFsICxduhRXXnnlOu/nmmuuwQknnIDjjjsOO++8M26++WZks1nceuutDdf/4Q9/iI9+9KP47ne/i5122gmXXHIJ9tprL1x//fWAdh3Nnz8f559/Pj75yU9ixowZuO222/Dee+/h3nvvHVTb0l6IdCpEOh0gnQ7g+72/j1+BenkhfFe9Um6ElBsh7UTw9SvthMop5AikuXr5TOUU+VwgzaPES32edSJk9Cvnhsh66pVLqVc2VUHWV69MJoCfDuGnQ3jpSL0yEdy0gJsWcHwJ7umXG78Yk1W5R0g4qoRkkPaVWIFJgElwLuE6KkvJ4RE8LvQrgscjOEyCJ36pD7XrKBDqZQLDhd6/HcroKdml0HnVERCGDsLQQSlyURJcvUIgkAyBZGY1cCbh+OqFfEbZoxqF8RocR71UIBMiobJ6knlUAMA89UI6Pah7CjpLKhIq3FkdUsBxBFguBZZL9bd5r0yePLmh66i/z+qYMgnuBA+5XAW5XAVpL4TLJTjUS0hARNxeC1NKaC6u4wi4rrD3us8jpLhE2hE2l8vVQ1Qp1UuI+D4IBFCJJIJIIJDqFUlRHRyv7wmHwbbLSWSSQf8siBBCyEi/AkSiDBFVIKIKwqiIQBYQsAoCVkEopQ7mVveltKelHHMMHJy54HDAGLclSxISkQwQyQDmXzkSKIRAIVT5TT1BhJ4gQoEXUeBFBFEJUkaQuvMc5sFhHtLSR1r6yLiAz1XfuSkB5jIwl8X3ZcRREgwlwVAMIxTDCCXRhUiU1EtWbB+lXYG0K4CmAdyreiNVYivVi4UIWAgBCVeXCjrNLpzmQU5KxVVmWhhx+8yWIwdRyJX7qL9sojCyLylgX72cQq+vuvX1tTWvTYmhzrY22FK3m266CTNmzEBzczOam5ux//77409/+tOAt3//+99fNcnZrFmzBteABgzq7nzggQfQ0qL8dEIILFq0yP5Fqr29fZ0bQxAEQRAEsTnw9a9/veHyt956C3//+/9n783D5ajq/P/3OVXV212zLxBIlBAIW4SQENQZHZEMOirf8cejjAIqbgygGH3UOALqo4PbKDoKqKMyM18ZHOaruOCgDiMqj2ELuxEMkBACuTfrXXqt5ZzfH2epqu6+S3fuluTzytNP9+2uOnXq1Kmbe979+bw/9x+Uh6Tv+9i8eTM2btxo3+Oc45xzzsGmTZua7rNp0yZs2LAh9d769eutMLRt2zb09fXhnHPOsZ/39PRg7dq12LRpE9761reOu39ORsDNRHbBkUxbS2KEFCYYuDDeKFHCLDVq2BacQ+iVj9AHYIyn/mivN+d2mYCTMMH2tOG152hDWy+C56n3XC+Cow2NuU5Vg4N0qlqiypnqSPqcpDXK1h8LbtPyRNJzJCE2mb6qjBljyG2qWNWJUnWeHJGUY3ptWM8jm/YS+0gFkln/qHjhD3Cjx2THIczULS5FQjRKXRtb6q6Jd9JY5yDjtEQpAa4r4CEzuufLRLBo0aKxU9h6e8C6s/DyymjaK4WIBIuvs4gFPvVznUcKU5XXHOvJFSHDOYR0IPR7kWSpnYT2NQoTcyGCehjqR4fXmdjzOnFA6rQyqXO9hAgBBPa+i2SISAYIufL0CaVoWqacJXxzGGNKOEqkrUkprJF2qKuy+UJYrywAqOmJ62uzbiF9CJ3ixpgSpQBYn6IMg/XCYi7AHJMOqs3AE/5ppu1QVBCZMoSQtsqYa+ZXfvzCpLo3dZoi4kpz1v8t59oxboVIxpUZoY3PbQonH124YYmqb81Eo4miFY+jmc5UVVs7+uij8fnPfx7Lly+HlBL/+q//ije96U14+OGHcdJJJ4267+9+97uW+wcAS5cuxTHHHDPi5y2JR5dccknq5/e9732pn+uNzgiCIAiCIIhGDhxIly6PogjPPvss/vSnP+GGG244qLb37t2LKIqwYEHaIHjBggV48sknm+7T19fXdPu+vj77uXlvpG3qqdVqqCXMWIeGhoDEN9hGNGK8TlyoE10Yi4UUxhmYMFXa9EKprkqbWYiZP9RZYsGHlBAj7Odm6cIQL+SMVQhnCRNsnhB1jCE2T4tHdgE2wgqw3jZULUT0KScWF7bJlIgkG5WYBO2YuCLpyWT7kfRMihfXSWwvxjDkBeIFrBkbOdK38LbsWuuLyRHXvfU1xqcJmcmAZVwVWWW6xZoMQkKoS/bczLHYHysxX+2UTO/VMNfGLUzIEV6bd5S4Y14rZ+/Yl0vVUTt4f1zjsSuZOVaMEcIA2Kptom4WGDHKsSKVEWCb59/IlD+aOU5oL4qUIlWZUTU+jrma9Bez7cd9tW21uZZO3re276OYXzfdmRg347+PDo43vOENqZ8/97nP4cYbb8S99947pnhUr9uMB8YYrrrqqlE9F8ctHgkxiVIkQRAEQRDEEcSPf/zjpu9/7nOfw+23397wBd2hyHXXXYdPf/rT090NgiAIgpgwBNqMPNKaivkixZDNZpHNjm66HkURbrvtNpRKJaxbt27MY23btq3l/o2HQytGjCAIgiAI4jDmwgsvxN13331QbcydOxeO46C/vz/1fn9/PxYuXNh0n4ULF466vXlupc2NGzdicHDQPp5//nkg5ceiPH+kKqwUP0RcoSx+aE8gEb82qVky0SZkwt/HfkOcfB1vq6pzcUgwlU6itzX7G/8cIRmk4PoBQDL9UA0mfULU56N/LV3vEcKYtCXSOZP2YTyPkoyV9tBWkA1v9C/hOkLDYSaFiaWit5A8zSgaqeUYIQAhbJQWY3FZ+PR2NteqndMY4dht1tWeYJjvA34IGQAy0F1qdj21x1H9J3HUVuyPJe0iltkYu9Qx6xpho8at1W/Z7LV5h1t/IgaeqJQWe9yYVweDSmdjCe+cGIcxOFAPnviXxERBmVQ9KROVCJv6+sReYGasHObG56ZTYFMeNtE45qqZ14l5n/QCsm3ZX2StjlP6nmLQZfRGSAluujNlEI0bcRCPZ555Bj09PanHddddN+KxHn/8cXR2diKbzeL9738/fvzjH2PlypVTer5JSDwiCIIgCIKYITz66KN42ctedlBtZDIZnHHGGbjrrrvse8arcqRvLNetW5faHgB+/etf2+2XLVuGhQsXprYZGhrCfffdN2Kb2WzWGn2aBwBEPkfox4auYRC/Tj8c+whDph6RgzBi6iEc9Yi4FYJCwXQZeI5QqEcQMfW+fgTmEamHLzj8yNEPZTZbixwEkYsgcuEHDoKAIwhUX8Ma0w+OsMYhfFhBQIaxCGbdpRMwBjAuwLgA59APAc6lfTQXjbTgJYxHEk8ZbicxnjXcikBsTNGAOephTKZdJuBxqR5MwuUqk8y0IwAIXz1Q80dp2ZxAWlBLC2WJzczYhcHYbdafA0ubgQvJISQH/Eg9ppuBQcihGoIKV4/ARSh4LEZyNR52Hc8bvbSikCMSDJFgCIQD3xiP67ldrztwAC5nsSFzQnAxj6b6nYwvmajTM5g1Q3bB4IJzF4AHzjLgLAOHuXCYB1fqB+NW0KjPThVa3pFSao8jYdO5lDCleulKF650keEcWYch6zBkHIYsc5BlDjLII4O87oMLzlxIKSBkCCFDhFIglAK+BALhIBCOvlclZBSfnMvjeW/adnkeDs/C4Vkt0Kl/5vcMKuOY/4nrwRlTD7jgcMFYLFjLaghZDcfRUhqHCTiJe9ZlEo5+YIzsIem69mHF3UlQCETdv1QfpEg9ZjoyVeRg/A9Ihpe+9KWpL1UGBwdT/oT1rFixAo888gjuu+8+XHbZZbjkkkuwZcuWcfXzP//zP+H78fzcuXNnKpusXC63XKCjRTt3giAIgiAI4mCpN6eGjuL5yU9+gte//vWpz7/yla+01f4ll1yC1atXY82aNbj++utRKpXwzne+EwBw8cUX46ijjrLfeH7wgx/EX/7lX+Kf/umf8PrXvx633norHnzwQXz7298GEl4In/3sZ7F8+XIsW7YMV199NRYvXtxyBZdq4MJjbuwdkvh2nDHZEF1jRBJoY9jQvNbG077g9nUg4s9DmH2SPiYJ7yOtZjAJuFqsCQSDp6NUwkhtm3E4QqHEh0wYwfO0Ya42zOYOg+MaTybZsPAy0VL1mPOWApDWxyZheJwwlDYCkQSz5xcIx55fcrnlGl8X3Q+Xxz5QqvnYVBrGS0fbFrmuOs+cEyKnfZ5yrgPjuGzcjYRkiGr6nIoVVa0JGLnimolOMn5TXMDVr8OEqiSNZlStNm9nFBiT1n4mFLH5tyxVWm6rVcY0ywaAF/sQ7g5QKqnqXNXARSQBrm8EzgDuCDvIzLEKC6DNzMNQiZsAUBMOfMFQjThCM1eM61HCK9mTgKfHJeMocVVExiuovpIabHSO8RSL6syuGWNw4IJrd3POPDhcgnH1s+vk4bECPKGMpF3O4HJmvYaslxakFYqEDFV8kEwKRwyONojypHrOOhyFxOo11PdAoZZX2zk5MOO6ro27AaDKlPdaJSygpvcJfQ7PRLiZeekI5PR9mddzORd2oczVNXNYxt431VAP6vA45qreSYlT6gS8UD1zsNjQfEgJRy1ZvAtVjRGAvWddLuC4CYOx0Ujcs6OJRo1ebaM3K5uFdh0mjBC4Nq79OOf2i5TxkMlkcNxxxwEAzjjjDDzwwAP42te+hm9961tj7nvhhRdi165dmD9/PgBg5cqVeOSRR/CSl7wEADA8PIyNGze2VKCDxCOCIAiCIIgp5uGHH276/plnnondu3dj9+7dwEEUI3nLW96CPXv24JprrkFfXx9WrVqFO++80xpe79ixw1brAoCzzz4bt9xyCz75yU/iE5/4BJYvX47bb78dJ598st3mox/9KEqlEt773vdiYGAAr3jFK3DnnXci12JZ9VItCyazsaChI0VGQkogMukdIjaXDnWFoWSFJBUNoF8Lsx2zlYearXdUaope3DEOz1azUouqTCSQ0Y1lnQhe4NrXAOC6Aq5+7bgJc21jqJ0QxGQiVckIYjKRjqbS+fS5GvErKZ4hFsd8LSL4gltBiDMlGDiJLJRkdE/KqNqsfhig17Pwslo88kJ0aiGpFMWO5sbHWkiGoKYXnQNlsL17VPsjpDAiSEdTuExYwS6ZbiWMeFQsN29nFFT0hRb+wOw8iIZUo+7+/ZCzZ7fcrhGGFi1aNOJno8H0vSyf2YNin4sBLR5VQhcOBzwtcHAmwF0JRxfvYk6cxgkAImSoRQ4qWnQohxzl0IHfpPKT+cljQMgkMnoCBFwi5AzS3jvpe09qcUdIae8pIWUq608lW7nwuBJsIrcDYeTA0eX3Mk4HcuhEVi8zMw636Y+oEx1MxTFhT9SY2LsAc+BAtZnTVdM6XIZOYzieEIOHAjWmefSiyFVqbSRqiCIlGlW9sh7zWSiGWnyrusgHfmrAPC9Ch573XZ46UGc4ByV3PwDA4Z416S7p+y/cU4VT1YUBciP41hjxiElktYqWkarPjAGB+Z02qJ5bEo+kTIi+wj5b8WistLps/PubO+2ndx7OYlE97WbCTsQICSFShShGQ9YpfPU/twOJRwRBEARBEFPMb37zm0k/xhVXXIErrrii6WfNfJUuuOACXHDBBSO2xxjDZz7zGXzmM5+Z0H4SBEEQxKGCBBr8xSaDjRs34rzzzsMxxxyD4eFh3HLLLbj77rvxy1/+ctKPPRIkHhEEQRAEQRBTxkDNQyAzNvLIGryOUKlaJtJmIsEQwUQZmQijOO0jlHFal4k2ChNpX+EIX7wmy2+biBhPP2e4REZHI2UdgayOLMrwRDSSjjzyuLApJCYtjXNhy6sjEWVkI4wEQ6hTrCLJEURxRFV8fubz+PzMezXt4QT9jbj1O9LHc1ORJQwySkc+QUqYTB8nq/rZkQ3Q6auImHIU57WZpkLJUK2qyIxobwVOn4o8wpw56llHbQAAfB8IVFsmLcZzBLKOiYyII+BCkwo3ONz8QiUJ0z5Gjivh6pniQ9q0vlAXNnJ39QNtRB4ZxpWa1oxHnwQAlP4coW+gF/tqKjpFSKDgRugw/XcEuAcwHXkErlIqpT7NIHRRDVyUdeRRMXRQiXhqTjsJo3Po+SwTEQfKLJopLygbFRc3YCIqQgk7lsbzyN4jYMjIDDxWUG3yQKWu6Y7nWS8KsoC8DmdTPkXxPKylIo/UHJCIGqIiXO4hC3WMgqOuZYfH0OOaFLB42yFPHasQ9MBzVESUHw4jEiqyqIIBAMBwuAhDgWqrWvMgtF8XL+hjZiN0uioaqjerzqe31IMht9ceK9ShYMVQzfHaboaOnS+o8zjuJQ2X3w6i/v2Q0/daTqfkOYyjpq9xZUCdR27nTsijj27eVj2RQMZTDZi+e46Am7H5jqPuLpNVvkYx2K6PmhF1cZyC1fkY1Rm+SZn+ud73KL3tkRPFNBq7d+/GxRdfjF27dqGnpwennnoqfvnLX+K1r33ttPWpZfFo1qxZTUOoGWPI5XI47rjj8I53vMPm1BMEQRAEQRDAX//1X+NTn/oUzjrrrFG3Gx4exg033IDOzk5cfvnlU9a/qWJf4KECLxaPkileTRLLJGLPIoFYCIqSglEiVS1+H/Y9k2IQJdJmUj4u+pkzwLEpWurZ40DWeMYkhSTjCeRIeHrhlHEEMlyns+ntHCZGTmGrS0VTKXixlxO0D5M5v0DEKXjWO0YymKQwIY0xMYvT1hJnGkqGQKfbRL72BAojaEsXmzKVzYXo1AvrauTaMfcTIlXJVxsHeypwdirxiHUrKUQuPgpw1TKDDQwAWoiy6UFcIKOvf8TjhJfQpMLtLwLFonrd2YmmVNNeRpwJO+ZcxH2tDWnvmp27gZfqxf0I6UXsyT+rF8Pq2PLM05sfe5ywRx5D9cEDAIDn+mdjVzmn0wCBLFNzyQiL3JVwcgDL2MkCGQgILfb5gYNy6GFYp10Nh0p0iGQsFmW0SGPGgVlhNE6RTN5DiNQ9wWIdUaetNYoFxlrbZQxZkUGOqesiuYBACA9qEhXQgwLy1jMo7wAZHnsoCUg4YVyTTbWdTtRSFdZceFDXKafFoy5PYlYmvr+M71IpVG331Lqw1+kCAFTYfgjjeSSUGDkchBgO1byt+B4inbVmxaOcRHdWvTnLUyLU7EwWA+E81Q5KNm1NZ0NiYH8eHduVeIQm4hEbHIQM1Gh6PEJOX6wCi5fh5v4eLKpjznr2eWC84pEf2hS1DiseRXA8aT/HaGl1uWTa2vgOCZ3OmOIgAnFaF4um1wC/3bS1VrPGvvvd77Z+kDp++ctfoqenB0gUznjiiScAAAMDAy2317J4dM011+Bzn/sczjvvPKxZswYAcP/99+POO+/E5Zdfjm3btuGyyy5DGIZ4z3ve03KHCIIgCIIgDkcuuOACvPnNb0ZPTw/e8IY3YPXq1Vi8eDFyuRwOHDiALVu24J577sEvfvELvP71r8eXvvSl6e7ypLC3xpEX3EYysDrxZjSS5r2xeJL0N4otPkKZfC+OojCLv2Z/yLOUeKTe8zhLvc7qTua0O3NaUJLWM8lEMLlcwkG8mDfY8wCzglEogFpCNAKAmmSp8xN14hdLjFtkq2RJuHqxzlg8Vr7gqOnIlVAb/oowslFKXK8tMx0ROnWVnlrowrfRQbEfUzFQkRPD+7Jwd6jFuZt/UR0zCIEOvSIvlRsqUnlOhIyO1vJlPDImmknsq4C/oNqSK45vvFAAWEWLR8ZPxhVwrd+UYyO3ikV1Up07BuFocUiecHy8kNYLa/bnrRAPP6feek4twjMPPA/n79/U9PhjwbZvR3D3NmzbPgsA8MxwAQN+bG7e4zF0SwZXC49uRoBlAa5DU2QkIYSqsAZtsF0MHQzrn4dDoBYpUSejvWo8LVB6ibkXCdiS8FJ7QYXCRCIxQMRRJKqOmPIVE1Z8BBwe3w9Zx0FOZhDKgh5rDgkBF9ojSHSiw3FR0DvkXSUgwd53DJ4jVRU2vRRljOmH/pl7cLiHrMjaNgCg0wF6M/ra8Ng3a1hHAfV6WeQitVAedjIIQ+V1FEQlNRecGoYD1WYxcK3pu6f75uSAzpwWj/RxZmdd7PP14pvLROSR6tPuYgELtu5V433s05DLj0tPhMFB+0vJ5RIdbtqQOxACNX2D7q8qIWfJn/fCOVn5LI3k08X27lMvaiEcHcWXz2h/LzcCM8F/fpjwJGv07UpFCY5imF0vlsj6yKM6ubGholqTCmvjZeb5KbG20tamItWtnksuuST18/ve977Uz636KrYsHt1zzz347Gc/i/e///2p97/1rW/hV7/6Ff7f//t/OPXUU/H1r3+dxCOCIAiCIAjNpZdeire//e247bbb8MMf/hDf/va3MTioHFIZY1i5ciXWr1+PBx54ACeeeOJ0d5cgCIIgiDqmKvLoYBFi4kW3lsWjX/7yl/jCF77Q8P5rXvMafPjDHwYAvO51r8PHP/7xiekhQRAEQRDEYUI2m8Xb3/52vP3tbwcADA4OolKpYM6cOfCS3wAfxuytArkoUQ0s8dlYkUfJdBqbyialjcyJIOOoCvOcfC1FHHlk24n/oldlyE1fVM9UBTaTwsZs5SpbNclh8Jh5rSpcIRG55CaqnSWJI6jSkUU6wwU1815konPUeZhFi2nT4QwZGxkVV1Sz1exYnKZUExwlHXlU0FE+mWoIJ6e31cE4TgHI1VQUQ6fvoxbpaCWpngPJUdTt7C/lkXlBhWF0ZlSKlhNGQK9ONxNRQ+SRk/COqjLHpu2VdTST319Bbkef6tMs5TcjdblpS6lkBkWNhyNtmw4Tts3hqkpT6nm+go7OnarNSiUdGQVAPr0HQ39Sb+3cr6I9guc4jrv6ZwCArvecBnnMMY0Xsgls+3aEv3gUz/ypF1sG1Ti8WAGqEaznTd5R18j4ZTk5CV5wAM/4S0WAjCOPKqGOPNLpUqUQ8COTvmUmmITL4kqAGaZuMFeYOe8giICani8+V9FuPBERIY3Hkf6ZM7VgNHMs5BwhdyCESrHiwoWEgKcjjzq4h4LroODG55lPrDgZJGoCyHGObKQibTxegMOz9l50mAeXZeFJ1aYZs043Qpen5lLBC+Fx9XlR+xj1Zji6y+raDTgFRFFV9Vmo6LKKV0Ip7NLj59qKgTmh5i/LAvmCSVtTA93ruejW+ZxVkYPQKVMmba2/msWy59QJ9j61A8wYe3Wo8cH+OG3NdSIdhQXkjQlUyO09v7emz2cbQ8/DW9SbZ50ez1VDGAEvKg8uWfKtZ1nWU+fhupH1F0MlALQnGdNzHUvOiNvizcON6sWRqO7nelkiQrqi4sFEGk1MXbLJo23xaDI6M8W0LB7Nnj0bP/vZz/ChD30o9f7PfvYzzNZhdaVSCV1dXRPXS4IgCIIgiMOQnp4e60dwpLCvFiIbhU3Fo6TGYsLpk+KORHPxKNILkwhxWolJmwgQWjPXCBGkfh0a34zEQTm4XUhzqVZkjnSQidSizoUDT6/KPG0Q4nGWEpfM69i0mKXFo4R/ExAbFANAEEkEelUS6G+NAykRivj8kulqAJDljjUU7s4oc2IY4UD3wyz8qhG3hsvlmjY4rgZwtSeRq8UjlgW8Tm2eXfNR8dX5l7XfTjUAyjotbF81B2e/SctTXkGFYADufO2zknGASpg6d9eN4BlvKBZ7KpUDbQa9NwNvu/LjcArbVNu+D9ndrV8HwJD2RIqMZ5CwqXAu8+yYGmPj/fs7wP6sBKfswC5wrW6Ikupb+QUHuw6o9l8sK1GjHDkY3qFEq1NveBy9r1Z9kX+xBsjnUQ975DEAQPi7bdj6x1l4bKAT23Q3h/wIjDH0ZkwKmRJ+PG127OYBlnXAPP15EEGEgF9T/SyFLkoht+lSpUAJPxkn9uRiADwmkNOpkzk9HtyUlRcMVceBFxn/IgmHMUQpAVWlqZk563GmF8rJ+9CB0QpcwSEg7X2RdxwUXIa8vgHyrkSeI/Z2AkNNMORdBx2hEkWGeRd8pxT7Kjk5uCyHLOJ7DLoEfYdOzerI16zwNqxFxznZLGaV1TXc7fQg4Nq7Sv9OqKGCshm/yEGg7wVILR55DF5Bbdtj09fy6M6ofgxVcgj1iZcCdezdNQcv6HlTeGo/Mt7zqs3Zei1crEDW4rS1gmP8iRKeZvqXwQEtgr24txv5R1RaWgYPAccsVBtktCnZcBF4UaXKRcMhpBZKXVfPpUwsvshiDaxPibowz69KiEdJEpqN8VaLf0bdz3Vpamx0g+x6kp8ffFqamFJpRh5U2trU9HPZsmUtp6QBwFVXXYUPfOADI37esnh09dVX47LLLsNvfvMb63n0wAMP4Be/+AVuuukmAMCvf/1r/OVf/mXLnSUIgiAIgiAOb/ZHJWQSCw0l14zvj1wJGVdoMobLiOzCRUBCsFC/r59ZCKEXh8rTJd62GU7ChwUAOHPhSrVoc5GBq6NvXB2N40UuXL3IdRmzEUuO8RyqOzdZ57kUysjav4YysqJWqM8jZAFCFthzMufN9OLOkzl0+2qhynkeXR5H1mHo9uIIK7M49QVDUUey5PSCO1/JIFvVEQsF3XaOwdGvM5UQ+Yo6fsY3pcAclLUg4UsOIfP6nFSf5mMYhZryJHJ6Hfs1vVlvMgfwnNiXp6oNj42P0kAxj+wO1acOT0VNcD8Em6UW6XAdYEgJQTIZeWQibrhAqPtnBK+9lTzC3ercO4d8u9D2AyUUDZRy6K8q9WxI71OJgEhHvzy7ZxZe8lu1+O7u+1/wZbOBbh1dVfOBnftQ/qM656efn4vHB/N4Zgjo1+NQQ4gOlkGnl9UjqPqZyap+sDwDy7k2JE8KQPjK6wha7BgOVcSROi8jSHArxHoMKDjCGifn9bOj50woGMqRExuLM304PReZnq0qeklH0zEJxuI55HJlxs6ZuQ8EIiGtwXze5cg5sAJWngMFJ4JjouMYgwBHTQClQM2nkpiNwK1aA2zOXGRRsIJUxophAjktHuU6QyuSzNHzck41g15Pve4M56HiaENgLVSE8OFrIbYqGGq+FhB1FJHbyeB2qGMZ76PeTIguXc0tX3MxrKOUyrqK2T7fwQslNYfmPJ/H3Lw6plvU4qmUEBUTBSiRM/5Erokoi6NYhvV98EI5j/w21amF/j5kX9TpzQU1F2UgIAZV/8IBQISmeh7sccy9Fg2HYFV9r5RNOGNoDe2TiITeU1+ZMqoLtQnH8DRq9Dxq3+R6plVfOxTS1m6++ea29lu6dOmon7csHr3nPe/BypUr8Y1vfAM/+tGPAAArVqzAb3/7W5x99tkAYNPXCIIgCIIgCCLJsDMAz4mr/jA5unAkE2XuRSL2xnxznRaEIrvQsCKTFFa1GEkwMnAwhEb8MSISOEJU9ecuuC5B7mgRyYFrjX85GJgug97sUJIJ2weRELciFotbRugy4peUYeJcwoZz4GCoOCr6vytYhpfMFch3hOjVi+wBP67QpQIg1OuMXh3maxl0lNVC1+vUYkOegWV1NENeIGtMih2zAPRsWl0xYqjpyCybuLIPmBepqI98EMJcbl38CpxJODryiEMi1AJbzRhzV3OACqzAfKGjmSp74S7UaTeFDKAjP6SvxSMXyLqxmXI5SletOxBwK3jlqjlbhc5UuipHDgaD5DjFKYAAUAwd7D2gqsnhqRLyu3fDye5WbRSBgb05bD+wAADw5HAGzwwLvBAMYpAr42MHLjJivpUSPQ7knRBeQY9D3lW5jjrEQwYCYZWjpCOniiFHKQQq+rr5kbBCjjFpzzsCBTdCV0YJCzkvTEWQVLRw5Iwg1qq2VKRPzonFH5fLODoskvA4s2mRDuMIhLQiaYYrgcmYeOe4QMGJK+FlubLvDjMcvhEgK92IEKFoyv0ByMkCXG5SR2HniqsrizkFwMnpKCFtnj6nnMfcnI5CGpqHsndAj1VJ788R6PGtRhw1fV+IZFalzh7O5dRk7XZj8ajgOij5RjRV122gJtGv0992Dnci+5xJ91R9YhkgqsT9j4UwfThHpTMCQDFQn+2qOuBMCcLVwMWcvaqBXEGbu3NpBaMoZIj0HOc8NiUXOtdVDsX3SGlQje8xzz4Lcbw2og/jdDMRxHGgxrDf0BB5VCcGGYHbtiXSP9cLQEmxqeGzMcSi6RaTZJuJdVOZtjZZgTwti0cA8PKXvxwvf/nLJ743BEEQBEEQBEEQBEEQMxApmY2ybGm/SenN1NKWeCSEwNNPP43du3c3uHj/xV/8xUT1jSAIgiAIgjjM2PtoFS6TiQgcgUinnUUI4TOdjgH1LXvAagilNr6VNURQ32jXRxgZHJNOw1QqiYssclDpRRnkURAqeiQPFQ6TYy5y2jMoyzkyjvEsSnsXoS4FzBhz+0KgHGlDXhmiKlX/K0z1ucrKqLGy7b+JkjLW3A7zkNFpXwXZhW6p+trrqn7OzrqYraOA5mSBOTpVZ35WRQzMy1WxbLbyR5n/ugrkq1dj176jUf3+/QCAJ5+di5owHj4MJR0wwHWUTY5n0FXRY6HT15xOCaaNdHgByObU+9lhHeXDAN9EHoUMZeP9q1O8eCIKYg4vIacjmkzAC+PSRqIwyNgwW0cLVSIOX78X6KiKBWERnUU1ju6cauwN5MfeVSYqJetEcHW6V1m34wuOYT3mLBHNZhaBoQQC66Ol51KiRL0AUNZRQAODeVRKISIdZTZYy2JXOYftZXXMbcMRnov2Yj92ItJhLTneo/um2is4EfKZAK72QmY5Vx1Q+0/JikCtksGw9psaDhmKIVAJdbqdFNqDC9aEudON0J3x0aFTrrxsBBExCD2Gni90xFXaINv4G7lcRQ51uBJduqR8pyvgMQGh98mGHC7jtg0GiWrE7MKY6+glEy2U0dFQWTeOVMk5Lhjz7PiF0gOqs5CRJoItRE7m4DlNFuj6evBMvJItaEP2ucNVzNeRR/OrBRTDxQCAomv8g2Lj6UACVR35FPk6VTCQYLrjrk4nLLgBulx1/+Qdc+6Ar8PoimGIfdrouq+aReeAun8ZUxFz2Y4Qoa+jhCRHRpu65/R5ZHgceVTRz/tqQKQjG8tRJ/bW1PG7h0xkXWjvH5cLOPq1pw2zGaT1QZIAKiUVcbSnpM7/1Gd2ACbyyBjPAwhrceRRWCeOBA1pa+nIo0jWRR6NYZg93dFDB4M4BCKPJouWxaN7770Xf/d3f4fnnnsuZWAInRseRe3nMxIEQRAEQRwJXHLJJbj00kuPyC/d5jud8HjWmvQGUqCqfUQq8K25dVUvvmqyiGqkPD+CqIRAqBQOIUyql4j9V5w8Mo4SXTxHLZQ6MQdzxBwAwFw3jzkFtWCcq1dvc7ISsz11zG4vRKde5BqzYYdJa44aCI6iTnUZ1uLL/sDBPm1qvK+Wwf6qWujt99XzoMiiqFPdfFTA9Oo3CyUY9UQ9WJBRfT2m08Fx2qj6pB61qDvxmOfRe7Zqi716FcQJJ4w4ttZMPDOM7EuUIDSvv4z9WoAYCFxUI2NErrbNcRc92jy7q6wELy+MwHJaHMgwuDo9yNNpYZxJm8ZSDqUpeIaaEabg2fQcj0dgTF0zTy/IpWApASeyKVFa6Ilio+uKXuDXIgcLAzUneqpVuF3qoCxe71ofo0wiTcpcu6qIfbsj8IaqdYC05u1uSkwxRs+wgtaQn4WoZa35+B7fxQtljp3akOg5sQd7omdRCwfh8Iwe5x5kmGONpDtdgVw2gNY4lY+TkJBawAuLQLGSxVBg5htDOYzgJxbdDmfIu7BCT28mRHehhkK3ElMcTyKsMfi6DeM7ZFZrQqpUSWtUzVQVsE5XokcLET1uiIwr7HwpOy5c5irTbO2jFMm4CqA6PWlF1wyTyLshOnUapcsj1CIHGZ4DQ+yhxeDBrapUrbIM4TIOt87wV4DB+ixzgGvVLNOr3pwzWMECff/tzXsoDav73tWilAMOR3csFLF4ZKquZf3Qro71LYucF6JD+xQVXI6c9mUKdHppTUYY1N5Je2sMnVpo8obUgHQHVTvXQ8ESRuTm/uAw0ltN31RBxGA00VLIsN/Vlez0c6crkHeMuCWst1WHEYwiBqbTBsPQwYD28nqxovomnt5lx5QNDdrXtWosDZjfE4awLmAkqjfIbhCL0p+PJiaNltKmjwZiZtCyePT+978fq1evxh133IFFixa15eJNEARBEARxJDM4OIhzzjkHxx57LN75znfikksuwVFHHTXd3ZoStsl+OCJjqxZFCBA4OspIluFLJTT42jMnjCpWMAqjKqRetBlvIGhfIgCIhI9Il+UW+pvw0Kmh6qi2itFcDJaU6fI+XcK9O+OgU0exdLhZFPRC3JQmTwY/hCL2wzGLq1IorVdJMYgwHKrjDuloqTIvIdBRVIIJcFttLa4AV42MfwpHn1YuCo4SlzI75+Clf1CREz3lB8B3q9fiZaeqhuorHJdKQKUC1qEXnB1VFIbixZhZoPqRqRDH0aMNh2fpCIV8uQKujYOZx+FkVP+ytpqZtGJCLYrNm6tRbBaedUyZ9RwyNupEiRr1KR8mysGIO8UQ0AFmKGtvl0DmrO9OFHH0BGpOuHndEQlwNxasXJ5egCpBKh4DI3ZYs2kem0S7xsybqXO1/dQRPNWIoRpxDGhRZlcF2FUOsUOoa7MnehalYA+kCMC0CuEhhw7XRZc2Mu/0QuTyAXg2oX7VQgjdyVrRwUAta32YioFELRTWqDjDHOQcjg4X6NVCT2+2io7uGrKzrAM2wCTcUjwWAsxGeoVa9HESY5BzJLq9CHO02NObqyGXCWKBr5YBZzl7zfxIlZo30TPSHjg2RM+6ETq0X08mF6JLAh2lABme19vkweHaqMGhgCMSElxfnGS1wFCLt4hCGyXEu9V7nb01LCqp+27A92ykGK902/PN8Fg8NZ5LVS2a5Moh3Loiep6OnFLXzEHe1Wbq2vtISImKnv+DgYMDWqg1huFCMCu6BqFbJ7KZinf62th7KrLjWQo5hszvBL1y73A5OnVIXLcr0G0qt+nfY/nIsUJoNXKwT/dpt44s8p+tWNmO7d1vz7VciT2nqnV6Ta1OPAqYn/rZRIQakr+fMaZAdJBRSFJMqRu1wMw3zJ4s+Di2SbF161b84z/+I0488UT09vbaErNHYqlZgiAIgiCIdrj99tvxwgsv4LLLLsMPf/hDLF26FOeddx7+67/+C0EQjKMFgiAIgiCmGnkQj0OdliOP1q5di6effhrHHXfc5PSIIAiCIAjiCGDevHnYsGEDNmzYgIceegjf//73cdFFF6GzsxNvf/vb8fd///dYvnz5dHdzwtmHneBwbVpDhACRTkGLRM1GDAW6RFEkfPsttki8TqYymBQaJrn1mPHDUuJzfSwWoKYrpxVDFbEzEObQYaNkHBuZkLXeR3HfhYyjIHydq+ULgap+XRYBKjq6pqpTtQL4qW/ZWd13twISgf5WvxJKDAXqgKaCU65UgPOiOugx0QH0lP4MAHD7dMTA8iWQixaq88znwZ/fCXYgVGWcAGTzIbKmslnCq8h4NnHGMKDLdhd1+lp3pQInjCOPuK6W5nk6LYxLG7ETirhseUU/O9yz6VndnodO3a5JK+OOTEUfmTGt6YiY4UDaCKmiG3sWQftUcSZt+fkOqSJaHE9YJx/HETZiyKQERZLZcy+HKl0SulodAORcZtsUDhoQYIm0Oo7BkGOvrsbeXxF4MRrCXrkdAFAK9iAMi+AsY723OmQ3Oj1uU8w6vABuTgLabwthBFkJEQyoz4eG8tjvexjU5duLgUBVRtY2xONMRx0Bs7NqzvX0VJCdK+F0q+spBeCEobU4ioSqomX8a4IIiKSEy00UGtDpAD1egLkF5S/V1VuFW5D2dssNhZCS2YiwoZCDh3FURSiAQKSrc2WcCLkOdV9nZqkVaLZaQ3avupe9AxKcFcBM+innKIdxSmGg50pNcFR1FI2o1awvGdchOd7cCPOLRT2HMqiIrJ4Dap9SKO19DQBVPd+q2rMoKPo2CsZkXTlMIqfT1jpciQ4d5VPRKYu+FBD65MshMKADcrI8XmYXIvVayDh6zcBZMnVSj6EU9ncCIsDVY2282QouR0lXhat63FYU9PU4FSLHVsMrR9x6Mu3T83X4xQzmmIP17bXHHarFVTDLdWlrfn3kEdKRR6LO80jWpZrVfz4aY/shTXO1NclsFGSr+x3qElLL4tGVV16JD3/4w+jr68Mpp5wCz/NSn5966qkT2T+CIAiCIIjDml27duHXv/41fv3rX8NxHLzuda/D448/jpUrV+KLX/wiPvShD013FyeUcrgHjMWrcykFIhna12aRYUQgIUKbqtbohZFGSmG9kCK9uAkix5pTwwGELintO0rcKcsOFIXKVclGGXj6z2OPmRSsOrFHLxQjGM+mCIFOwQtYgECnbxjjb5FYRHEZt8W1iCQgECAWokp6oTigTXxzjguPK08k3i8hoiEAQPewKhOf2VcCO7ofAMBm9yjFoBgvUFhGpd4YApsOE28zYIQAnb42t+oi42vzXY/bFYOrzbpdLqyoJiFR02NuTHRZDShof5YB30WPfm1Mk7OZ0IpHErHZshE1KpHAcKDaLGrxJIg8W7o9wzI2hY6bkvC5wC7oOKRdkJsRl1CiBnQKTs0IXdaCIxYOzdAImTAOjrgVMYohw/4aw96qanBPUMY+vhNlXy3Ew7ConJW4i6yjDJS70IFuD+jWAlzB88G8OJdFlEKIwRCV/do/q5LDvpqLAzUtooUhfBlZw+ac46DTA2ZnAswtqLlcmBvBnZcD8q6+DiHEUGjXq4HkqCZSzHyhhA8zVlmHodMNMSvro3u2EllziwFe8CD1oPBsiDCsYFALglmurq2Z5VIAvpBITC+4XED7v8OZmwHrzACRhNOj+u08PwTZB4TazD6S2ldIN2pM6kshR0n7C4UVwDO5Q1ktOs3JobOq+n1UdRhVPa+F9jzaX6sTRHSa5bCe94VyYFMrLVxak+sOR6Jbp4bVtCBUCiIrpAaJ1MicPjaHa72ylHibTsXjCYE6KSKFWkAJEF+/ilDHrERu7NcUcTtHa/rzDldaIbUaMRzQgvSgVk93H+i04pHcGaetDdS67etKlBY5anUeRgGvpX5uMMwWY6StjeJ5VM9MM9duN4ro0JaNFC2LR29+85sBAO9617vse4wxSCnJMJsgCIIgCGIcBEGAn/70p/j+97+PX/3qVzj11FNx1VVX4e/+7u/Q3a3+gP/xj3+Md73rXYedeOSHJTDmpIQgszhQ4lGYek/F5oi695ojIcDMtvpZyMB6JgGA1AvBkKnFj8/KqGpxxpNZeNoNxNHVjlzpgMlGpwfJTDsRImbEk9Ae13iAGANwgyNj0ci0E+nzqglh/VOKTiwimSgGjxUAHSggxDAAoMcvIVNWx+JLfKC3E6jGphzchY2oAeKKYlX7N7uDocBEkWgPmLKHjppe/BUkmPECMuIPF7YKGcwCF0BVV5iDAAa0ifhAhqFXR2kUdAU0xiQivYhW/iHpBXUtFCjqiCJzzUM/B8/RVeEcBwX9OqOFMQYJxk2UUWyIHc8iFpu0R8IaT5uhcRiDr0OOAlOhTUrwyCz8GbRWhEGf4YAvsc9XQsM+vgflcC/8cFhPjgBgHlynAx1strpOTgbdHqwhu+dFYACEKbEVAtW9DPuHlYCyu5rBXp9hQDsnl0SAEBFyevmWdxl6PWBOzkfXLDXu7nwPmF0AMnqJN1gGeBzt4kcclTD2lqpGkY28gja37nQj9HRUkFuox+WoLqAzB6bFRM8dRqHkozCs5pzHswBYqgqhy2LD51AycEeCm6pyswvAnG7AdcB7VZRQwTuAhdGQFUSqoqCq41lTffVcihiKobo//bKLrDYgMybY6MnB1Rd+VrWCo3V7oa626DAP5dBcb6AmTaSbEpfy5TjyhnMTgcSsUKmq2RmhJhYdQ2nM2SVqkWnTVKPjNiJIVZk05vvx/Lf+Rzxd6REAIogGf6GayMAPVF+DyEOgxbaK9USKjblDyawAaQTZ/nIBJ+oqa+FzRdvuQGDjkVCqCxTy68Sheo+jUKTFpFaqrR1qBtlCtul5NBmdmWJaFo+2bds2OT0hCIIgCII4Qli0aBGEELjwwgtx//33Y9WqVQ3bvPrVr0Zvb++09I8gCIIgiEZEm4lzR6R4dOyxx05OTwiCIAiCII4QvvrVr+KCCy5ALpcbcZve3t7D8ku7UNTA6lLBkpFH9X+Wjxxt1MSYpsl+DekTCf8jAIh4gFBXQ3ORhcN0WW/9zCW3/eVNjikQxVFOTKTS1GCjoUbbXyLS+wRCoKrDb0qBqfrGkNVRSB7z4DCVYudobxzOJbpdFZmQ6SyD5TOAz1JfjbPEssV4HVWFHgcpbeRFUUcIlQMPvRUVrcW7pM39SlUzs20zRPr8q6ysx0GiGKrIiMHAw5COOOp2zdjGnkdJ7xDTyxASVa6r7kFX2pOd8KqqIwXXQ5f2acrp9CnGJDI6QsSPHJvKYyI9QqE8f0z7vk7DMZE3NSGQjUxKktquwuNhjCRQiUz6j8SBWoD9TJU5L4o9qIZDkDKOEHF4Hjm3G91CRR515Tg6XSDnqPnIHQkRAtCBH0GZYWCggP6yur79NQd7qxIDgZqbFVaBA46Mvv4dLjArE2F2roLsPO3vNL9TRZ4ZyjVAwFYoK0ccpTCOOqvKCBnm2NijjAN0uCE6un04C3Se2eI5QEcBqKlzY1Iis+8AcrvVebiQEJLF8yqKwJkDX0fYmfQ1W1WupwOYNwfI54BeNV+Y6yBf7cf8kvp5yM9gMIijhOJUS2BQz6VSJYPOWlk3rs+gMwemq6FlwwjzfBVdU9PzOpIce/U96Iu4YuKwHp+MH0ce5bz494bxzyo4Ar2eiV4zo8ZQCePIORPZZ9JChWSo6ts+6zA71snUSDtnbNU7Ds9EwUluY3xMKqzPfATSpOXmEVRVv6v6nii5DK6NPJIohcaTTZ3T7moG/LEnAACDz8W/i/fWYmnA7GOosHRkUairSRrqq6sJUe+BVP97/CBS0Roqt6l/U4WU7VVOOxyqrY1LPPrpT3+K8847D57n4ac//emo277xjW+cqL4RBEEQBEEcllx00UXT3YVpQ4iwTjwaI70BYsx0tXoxKtmOZCIhJJkEqzjtTELEaWesCkf7o3AjHoFbz6R6s+vGgzYuktQ+kfnBeh1FCO1zqA19AwhrxF3lpnw9w6D2P8pwjoz2fMnptK3sUIjsAZ1SNFwDq/hAjccrbqF8hWA9fNQKxniYhFLYkuYlvQguBy7Cqk61CQSY7ovJpnEYbNpaIsMGvjYjjxBiWPtIFQMPw8b0WS/SPe6C83hxLeoW0pEUCLW4V9PqSsh8eEIJRR1VF116dZzXnjsOJHI6JSwU3KZAmTSiSEqbtubLyPozGbhkqGnxqKL3ZQzwWbx/Ua/4B2sRDogyhvk+da2iQURRNXZZZh48J488n4VuKIG4y1Pig8vMXGQIKwxCH7NUzGB3qYBdVXU+/RVgX83HIB/Wc6OGDtmJjBYSuzxlbN3VU4U7X4vQvZ1AV4cVesAYZBiLJ+XIQSUESpFOM5QBOJi9hh4DCl4IrxfAXGUoj7mzga4uQIuJqFTBOwdtKpfZt2bmrYjAwlhQ8SOVQsi0VxByWaC3B7KnB6gqQYIBcIbK6N6j/Lx6ij46ah7267YrxvMnBIYDdW2KtQzmlpV45FrvowzQkbdt5irKz2deWYlI5cBFJVJjFQaxgfpwaPzNXCthdmnx0XOEnasdbohQp5uFmdj312hXlTBOvTSpgaGQ1mPK43FKmtlHdV3azwEg63CEWjwKhQff/tbSghGqCHSKaI1VUZUqJ7Diq+d86FrPNglphWKTVrrPz0M+pszd+/d02fM44Mc3s0lxM9RYWiwKZV2aWoNhdgtpazPcILseCQaRSPcc/36HPuMSj84//3z09fVh/vz5OP/880fcjjyPCIIgCIIgiNFQ5tfNRZhmhtitmqWa7c2iVkoBgcRCyDSnuyAjAc6NP5FnhSSuF0eMxeIRT/Q7afqdpF5gSopPkQxs5SvjoxSy0ApJgXRR0/40nhY9KhFDRv95PRwAOa7aGtLRQl1+Br0l7SlUDMHLPuA7kFVdoS5QlcagF6q2KpYWT0IgrhanF9HVyEWgq71layGQSS97OJe2mpPDWEKIU8esoYYSVwv2Yb9gI4+GPfWcSZgQhyKOizILagZm50Kgr0MIH8N8AAAwGGSxX0cc5XWkCWcZFPR5CAAlLVRV9PWuRrHAEcrYR8Ych0sVmQMAjhY+pORgLK5MVgrV+Q1EVQzy/ShH+/RnZTWvjck6zyPjdqETs1DQFbLyDuDxeC6HgYOqBGp6bPaVC+irZtCvRbu91RAHMIwiDsTzSHYjo03DO10lHmV6JNCjBBN0FpSAEuoJEwlEVSWaAEAxUhExJWkiWKrIyHg56HGJrBuCd7tArxIVZG8v0NkJZHSE18AQWMGD68ZeUyriRotHMgATzIp3vuSIosQ9kfUgC9oAKacEUDl3Ltj8A/DmKKGse5ePvJOHw4yAoqPxQmBY38rDgYegqCsjGqHUdVSUlMYpqrlT2K8EyJ6ijwP6vhkOXVi7KX1ZpGy8pztlAM+YsjsRIk+LR/pzCc/OXyFho6VMtcBKJG10W8Zh8PR80sUQbYQQEAuyOQcQxhstcBHqqnGB8WmDsBF5NZRQZer8Kkyde04WkBFKJHPA7L1e0ybX+3yOyqNqnx1DS+zx9yWslYzAaKjyUurneo+jqC7yaDSxaCxmmkF2PW1HHk1GZ6aYcYlHIlGaT4iZfTEJgiAIgiCImctoFdMmY9FQb8xqhCQpTGSSZ/++dZiw1dhstBHjVhBizIkFJL0SSEY9sURamtlOMseaeDvwYkNtK1I5tkKbAxeBbqOm+1QNua0ClnMYSkZI0uLIsO+hoqNVeio+ZMkHQg+ipKOpaswaJksZL2BkwrA7sFEjOr0p5Kjp8t75SgjHRAaJeKVrk3YSi1+TfheKKio6YqYoelHU0SImAinvcJuu5kvWsBDjiUalbTNA1VGRKUPoxAEdgWVS+gAHHU58LUyKWVEbF1cjaU2yfVZriKQAAGaqtdkKb3ElspoQKOoF8yAfRFkesAbZIjIl3nUUFM8g63SjIPLI63QtjytxLNSiQDVwIQIPRV3pa3c1g/4qR79Wu/ZGZQzyvfClWrRnWAdcOMjpKVZwBApZH043Awo63crLKAHLRI1UAgRljpKJPAoZSmFgUwID1JCXeXv+DgMyXgSedwGTUmuEnrzeLpcB8zgYiwMGQhGLRzUWgEmOija2rkYMQehA6lJ3TEigrlo3OjuBni7wbj3nsj6yjoCrhVJT4dCPmI2OK4YO/Ko6LyOUMiGtyAUAmKWN8HvVGBb6fWRK6j2WMK2uCFNBMRaFXW7SRiU8R5uDOxE6tfgjbbQcg6+rnFUjhrKpwmjuX13RDlqUzGkx0aRI5l2VLoiEpK5+NoKvA1+Lf1Wp09NYCZERVUUNUrdf1VF4ZV6w6Y0ecvb3l/ndN+BL7HxW+entrMTjZYy1AaBYl5bmy3Lq5/rIo/rf3fVpbA0RpqmfD63gkyPZ82iM2Nup4Zvf/CaWLl2KXC6HtWvX4v777x/XfrfeeisYY6NGQxEEQRAEQRAEQRAEQRDtM67Io69//evjbvADH/hASx344Q9/iA0bNuCmm27C2rVrcf3112P9+vV46qmnMH/+/BH32759Oz7ykY/gla98ZUvHIwiCIAiCIKYP9S15q9/bJr+ZbkwtiVPVeJP3ElECCMHr/vwVCGwKmWTCtqH8T9JpaEw6EPpzlohAilPYwkTEkd5OijhaiSW+ftYRLRwcoT5WgMAaDXumvLoQ1ti3EgJlfaiya9LaHFR1lFBYAviBGiIpIYZ12lfVTZhHxzDrvaQsv5E00444qjraIazEAxj6OtVOsKbfoptog1DUUNOpNGVUUNRlxYs6La7gOJBunLZmrq6JN+JA43WSEWpCRZAU+RAGAhUZk+E5u3dJjwlPlFIf9o0BeYSyNvGt8CoC7c8Um53HkRJSj4MH155nDT5KXJ1TEftQiwYRiqrum8r34fo6ek4eGeSRYR48k4rH1LmadC4hOXzBbEpff83BnipwIFBtDfC9qIpBO6YZR0UeZfWwFFyBrBeC5xzASdwTQWi9hEQxQLXsWa+pUihREaFNQZKJaw/tG8WZUO2ZHCo+eqyB8awK9f0W8Bo4AF+nTVUFRzV0IKo6PTAIgCBojD7KZMBy6uTcjA+XyTpfIOWFVTUeUaFrI+56K+o6sCCMzZQzGSCv5h3v0NE+XmjTJSUAXzdcM/5EsTe8jRDKcYGsNjnPeBIOV7PVGL4HkqMcxZF1Zg77OvKoJGoITDSj4MgZ3y5uzt+1+2T1ZfQYA9fhfpFkCHREYFWb0JeZa6ONAlFBFMUptgBQ48PIcGV47vE8XGZS2NT4DtQk/jzQAwB4oRJf3/212LeoXJemFtRFHkViDM+jMdLWRo8yrfusiUH2dCJk2uh8vBwxhtlf/epXx9UYY6xl8egrX/kK3vOe9+Cd73wnAOCmm27CHXfcge9973v4+Mc/3nSfKIrwtre9DZ/+9Kfx+9//HgMDAy0dkyAIgiAIgpguooRM0O7+GLHamhEDmplbJ/2PbCpaopoag0gJSdALMm7T1kRDuhpDnJamjh+/DwAcwgpJkIlTT7RjTLojhPD1fp72oqkJjkxkvIiYFZKMP085clDRAkRUYQj3RYgcAX9Qp2tVPfhWsIgPb2psSclhCp6ZClBVwVHSJtqdZQ8Z7Wlq0oT8yLHGwULGSz2TYiYR2rSWMi+jFKoKYEXtN5N3mE2AkInjWu8jMDh2/OLlSqRFmjIGMchVWo6rBS0hM8hp8cgBEMhYNAKAwdBHmenqWyhazxjbNkIIZlIK1T6OdCB0mpKPCspQ1dWq4SD8sIRIGJMYoWRArvrq8Cw85OAm5qAQ6loaIYdrke6ATunbXwP21yIMQKXmVeQAAlG2gpQDF1nu2hRGl0k4jh554zlbrSq/o0F1nmIwxHC1YI9ZDoEqfIRImNvUISVTrs/GCCiMlJdQoMWBmg/pRzYVMtKz36QsRtoC3hq/RxyV0EWktQi3WAErl5VhdurAwuZAMiaVeFQnEggZm09XIoay9r2KhpSwwcvV2CzcSSxzdTojc0RKkApsW1qIkXGVsqJOj+t0uU01lFKlrgGAtu9CLnKR0fPGTaRbGmP6KquhooVUwQRqUKJOJNQ9wUMGz6Sy6X05U+tqAMg5Er5NdVPPDjL2cyECRFbE1BUEmYNI+xtFbicyRvzSnkhDQYhnS2rsdiVug4EwFoSKTnp97Yu6+6WhutoYnkcNXxhEI27bOmLKk8LaOdphoB2NTzyarDKxvu9j8+bN2Lhxo32Pc45zzjkHmzZtGnG/z3zmM5g/fz4uvfRS/P73vx/1GLVaDbVafCMMDQ1NUO8JgiAIgiCIVlELhbR41Kxa2tg0ikhSxpFDdrEik748vHGhwur+qk8YbUOLS5I1VlvjMhaUUtFJtjKbiXDgcLQXTsSChsgjJrk1wmXgNjog0IszX3D4NgqJoZYwgIZenJe1p41fcRAFAn6WoTikog2KtSyqIo48MtWe3JQ/kx5R3bYvGCq6zWI1g5w2YDbRSKXQhS/jfZpVVop0lI/Py6johaURpAohs4t4nijFLqygBjjCGGHHyxUT3RCIMorcGEnrCBC/E/nQCC0MoR5oE21UZiUUmVoQV+WwFaLMdXa4Z6OPjLjiMDdhZl6GryOfgqiISPja/D0eRVuhj7lW9DKz1JcM5RCItCgotQBiKlwdqEkMRT7KOrrJGBLbaCbk4DEGT3vxmPLxoibgFBP+NH4IuVf1s7qXYaiWsSbTlVAZhUtr95y+7yIwRBGHrAVgRdUGKw5B5gpgRdUvDJcgSiGCQAkRYV0UhqpeGNnx9yOGSuTCH1LHyh4oAvv2KQ8l409ULAKVKuCno3psJJp+oSrmqddVAevlFOjlnTdQBrq0SpXxABNJY4QwgZToaURLE4EUCAlH//7o0ENUDjlqWnzLuxyOMVi3fRPWH8lJ/FoL9XZVVraio5QRQmai1LTZt3CQ10JwpBvwEpXXhIzNtU0FtYzMpPzVzL0GLdhGCSEJSSFbC2rDUYAdJTVXd1fiiKFBFq+Ta7KIJKFIRx4JMXp1tbGqaI7KDDfMPpIjjw7K80hKaUPm2mHv3r2IoggLFixIvb9gwQL09fU13eeee+7Bd7/7XXznO98Z1zGuu+469PT02MeSJUvGsRdBEARBEARBEARBEESMqbbW6uNwYFyRR/V897vfxVe/+lVs3boVALB8+XJcddVVePe73z3R/UsxPDyMiy66CN/5zncwd+7cce2zceNGbNiwwf48NDREAhJBEARBEMQMYqxvpUePTIpGTGGrbz9ZGUyOEG3EbERR7FOUjEIy/kZRIj2OJ/epS0sDAyJpqql5Kvoo8blgHBFMm64tIe/IOH3NVF6rRRxVnU6jM8hQ1pEdAFCteAgCB8MFF/urKq2rErrWJ0ZIZqMjsjrFiklmo5Gsv4+ATXXK1HKo6updVX2cYuhAF3ODL4RN8zJeQQICzETsoIqKrmxWClSkSc5xbOSFA2n9iaLE1/mO/o7bRPBw5thUmVBUUdXRHOarcJ/5yMqcvSYmPbHG1bGrKMLX0RRBVLU+ReY6iyiC0H42jq24x2w7oajBj1T0RSh9HQUVz1vO3EQqI9eV/ST8KC4zzwEbBRZJFXk0qEO4ikGIKou9mEybHlcRPlmZQ8bldqYLyRCELsRwFXy/6hcr+5DlAMGLqv+DgwUMBJ5NwapGEYKEt5OTSqxTkTjV0EE0VIF7QEeh5PeA5XNASUee7BtCNChsFFpQ53/F4arxN548UqIccZR0mlTHnjJ4/14wxwWyOvKoXAb2DSIaUtckqHnWp8tcB/Nso+MioGiqyA2rdrL7qnDyel7kMoCOyIp06JUf5GzkUShgo5hMtUEBae8FU9WtEsWeRvnQUZ5Q2rMKOkpK2hTQ+B4y5x8yH4GO2olEgIira+NyfS+IHGqRGUt9z/FEFB4YHJhoM+3HJrmNSFNjo6McE9FGNgpJeAh15TRXV2sbRgkvlNXrfWEcUTTk7Lev/ag+8iid6lhfTW2stLV60p+Pse0MS/hqt9razI6nGh8ti0fXXHMNvvKVr+DKK6/EunXrAACbNm3Chz70IezYsQOf+cxnxt3W3Llz4TgO+vv7U+/39/dj4cKFDds/88wz2L59O97whjfY90xpVdd18dRTT+GlL31pap9sNotsNtvQFkEQBEEQBDEd1KetjR0In1xoNBeS4hS2evNsiTitLJnWFi+46pqqE3/qU+FYE0+l5kJS/F4yxcSksFl/HYRgJh2LcXAtGhnD7pp0rHl2LVImy9DpatDeR2XjaVPN4EA1h0HOsaeqFqeh4NYfKZLW/gWe8ZeBA5fHni7qOMBgEPfZZbH/EgAc8BPiUSSs300Scx0iGaCm0/LK2psnFzjgzCyIVToSAATWGFlaEc+MA2euLU8uZWQX5IaQ11BhSRNmbeCs9wlE2Zr8RsK3aT1W8GGuTeeKoMUjxuwiOZKB3V+KoG7xa0SjeF4LhKjJwKb/edyBkLCeOgJAJZQo6ZSqqlReQWZeuSwLsCxy6FJjJrPwGLcCaCiBctVDfr+PrF7Yc89HWAKK+9W131cuYMB3UQ7N+AqAAUwvAV1kwOHY6x4IhlKQQW0vg/OiEmGYkEDOA8rahHvXMCr7HRSNeKRTeNyEV1fy3ggioBRxDJaVsNezq4pcYT9YLVQCDwBUfWD3MIJ9aiwqNQ9+QpQy58wTvzZ8wVDWBuxFLYR09PvIukr0YFkHsqIFTJXhiHLVQ1XP4UAyhMLcg8acWlqvopr1FoM9Ts5xIepSbmvCQaC3DWWc+hl7QIV2Dgnp2wy6mk5PrLFuVI25uBapPC4TIlR8LJvqKV04xqSfOQ2/QyUkYI8Z2BSziKt5UmTD6PfVMffxfXa/ijiQGN+0eFSfplYvHjWkqY3icXTwTK8MI3Dkpq21LB7deOON+M53voMLL7zQvvfGN74Rp556Kq688sqWxKNMJoMzzjgDd911F84//3xAi0F33XUXrrjiiobtTzjhBDz++OOp9z75yU9ieHgYX/va1yiiiCAIgiAI4pCjfiEwupjUrLJaTByFlNwutZCpM7wGRNM/6q3xNuNNnU5jY24xopAE7Y1kClaNtOCwAkbC/8ixC3wHgTbUrom42lQtMpXR4ipmRT+DvkoOZQ/YqyuwSQlUrKdQXMEqo1UkRySqWun+VCNmfXJC4drPjd/SgM8wpCNmyjJEpKOlpPWDiU3IhQxRY8pst6KjfUohhzRiA49FgqpeeYdSxoblZhyZa0UPCd9GWQTahygUNWsijMTi1kR9CRHY11Ik/GD0PpwJhEZQ0lFZkLAWHSLhcdSsYiBjzEZICBnCRxVVVkNR6LZ8Jf65PI5SCaRARftJ+TICGJBBTveHw0UGeamMlfMsA5fHC9BK5GCgloUzIJGv6KgQBtR8Fwcqqo3d1QwO+LE/VgQJB449hoesjWaB9hEa9j0M7c/BeU5dM6+4HyzLIcq6n3uBA4OdGNSiWE23bdrxZAYOOBweewuVI4YDNSXwdO/OYxarwBveqyrFad+m8IBAca8SkwZrWVQjboUaIzTyxPWNpLQRQQeqqu3cvgDdkYqy4dkIpiBYcVCd70Ati5K+fwIh7f1o5p+EtFFIxmesFDIMa8Nqh8MahRvKEbdtViOGQBrRSOo2RTyHEhF5Zi7WWBVVUdD7q+O4nNuoKDVP4nO28838fuCejUKKrDF/0ow6jO8Bc0wM4oCe40XstdvWEoJRfaRRVB95NJZB9pjV1ZK/k2dWNbXxMPN7ODm0LB4FQYDVq1c3vH/GGWcgDOsVyLHZsGEDLrnkEqxevRpr1qzB9ddfj1KpZKuvXXzxxTjqqKNw3XXXIZfL4eSTT07t39vbCwAN7xMEQRAEQRAEQRAEQUwU7RpmH5FpaxdddBFuvPFGfOUrX0m9/+1vfxtve9vbWu7AW97yFuzZswfXXHMN+vr6sGrVKtx5553WRHvHjh3gfPRvoAiCIAiCIIjDhfFFIo2cypauwla/XbIKW/x+st0mx2ozCgkABAOgv6XnvPmiw379ygDjahNAhU24cFHTaVSe4DY6IVmy3EQ+DPkZvFjxEGSB3VVdVY3H3i6hlDbpxlRu4lymypdDly7XQUIoJganpjcoBRLDvup1RdZsBSlz7sYXKj4/9XlFRyC5kWOjKJKRL4G+Vr6MENVFHjEwcN2uBLf+R3EUUZxWI2Vor7uJtpAysqlqyVREkx4nmYTkKlqLRXFKm20HkY0gUdc7eZ3jtEgAiKSPQJZRYUXbvogkctKFm0h7iiARJuanJzNxiiUEXLjIax8n5ROl0q0AFW3m+R58wZHRkUZSqjSqQZ1SttfnGArjiC4pJVx4NjUzIz244InIL2DAd5ErdSDcpca6Y7AGziTCUEUFFStZ7K3mMaSPUY1UuUIzn3JSlZE3ZesjAJUQ2O+r7TPFTgSRg8IBH66n+xVxVKtZ69O1z/dQjjgCPTRmxBzGUml7JX3pDwTqurnDHajq43iOQKDvi2Ed9bTfj/2ffKE8jpJIxO+ZyL5KBAxZmzIHFcfMRzNmzH5eiSQCvZ+p3MfA7bxVKa3GX0xHzqGKGkxEnqnU6CLgjfdFINNtm225o66NkM2X9uYeCXXqWVUO2ci+qogrrAVRyb42KZqG6U1Tm1lIxD5XrdHOPjOLtg2zf/WrX+Gss84CANx3333YsWMHLr744pQ5db3ANBJXXHFF0zQ1ALj77rtH3ffmm29uqe8EQRAEQRDENCLrPI9GNcNG3SJldCFpNBEJaPQvgjE3TglM9W3X/Yy6Y43hmQQjIEGJSMYLqRkCHKE2TDbtO/BsCpsnXfhaCLCeR6FKAwOA4cBFX5UDvsSeqtou77CUV4zBeB/FnYsrmkcyFqcAaX1cjHF3JYpQFKqfZV5GhHRKi0mjgU3n0ubV2jibgSMQasHrJpYjxicmYAFCbVodj7dj2xUyAodI7SNlmBCHQpvWlnwvOZekTVnSnkoAhBEruJ4zKQPi2CbXGGJbryOTogezSPfhsxKY4yDSC/2AdaAm8tYbyIWTSrNzwMCRQVZm9BgyuODI6guVdTh4QtQYCoBAuhgMYjkqkoAvYf2oSiEw5MPOGcYYMtJFRosMHlxkOI9FwxDYF3AIZK2nUa5cAIe0BtbliGMocDHgq58DvXPGih0uOBi8hI9WJQIOBOa+y6IYOihUhC17H4HBjxzrzTUYOBgOgFC3bYbJ5bHhu0ikYxphKhQMg74Wkri05tglLbgOBBzDgXqvFskGIZclblvjfVQOYyermmDIxD766vwls55SxUDCt2Ij9LzicLQo2SiwKE+kKleiqqNT4mQYi3EcDKHuVVmLP2FCPOLMgaO9viRX4psSfuIemNdGEPJFCKnN4f1UqlosGNWnqbWaljZqmhoaU9VGZ4xtpTyCE8mmlpbFoyeeeAKnn346oA2soY2v586diyeeeMJux+r/5yUIgiAIgiCIepKLiIMUktKG2IaoQUBCnaG2PXxCSKo31sYoUUlJIal+fwaRiG5xrBAkEDS0xVhsrs200XMID4E1z/ZQ1RWZKlowqoQOinotORg42F2VcGsS+3y1+Ot0XCtAeDyO3LDRHDxepJsFcxRJ+54vhfVxqWkRyGdVVLkyrPZRtQIOsxXUMokxdSD0GNagq06xEDWWsWPOdW9M1IdAiMiaV5sIDmbFI4cLG01hDMxVpau46lRkDX7NQluOMNeMsXBiRiU3M5Xo6i5+/TyTUgLC+N2oWBIpJSJHX0dWRY0XkIVa4GdlFp70YjGJcTiM28gkzpgWS0wEmTpT4zEUSmCoLhgkFMqw2XhThUKiFgl7XR0w5FjGXnuXKQ8mc2rVCNhfUxXG9mnxx63z6wqEMqtOem5xBisWGa8jN7EWVBFN6nUlYtjPPbg8Hm+pzyfQ5xZI1X6tLnjFYbGQFAkldkFXngOAcujA0cIfZ3HEnW+j9GCFHj+Kr6m9kiyOwjLeR2UtSgFAicOKV8mqaiayqxJGqOooQxPZw+Eiwwq6+fj3ELMRSMJGGZZM5UAZwhWxqGl81EwlxhqrWkGWMQ6Xq8iqWLDhVjxNeS4Z8SnybYRb0tsoKRg1ehrVVVdriERqP9LoUPA4StJu2toRaZj9m9/8ZnJ6QhAEQRAEQRw0Ukpce+21+M53voOBgQG8/OUvx4033ojly5ePuM+nPvUpfPrTn069t2LFCjz55JP252q1ig9/+MO49dZbUavVsH79etxwww3WamBiOt+OkFS/iK83MuZ1C5vm6WyojwyQ9W1gTCEplZUgm7wvk/FQjSJSmMyGMibV4Hah5zAXNW2ebResEUfFpOeEHHsrIXI1YB9TlZPCsAedQu2Tdx1r2JxMVRN2kW1SWSJrbl3mFfg63cyKPwjs4lEiigUvmIV7osw6c+ziMEQt9RwPT+OXzhwmmkc0bKeiLTKp7SWTYHbB3AQpUotUZq5/4tqac7KXgLHEdY7nGWMMkM3ESx3tJMyiPYTQ4xjyGjLctylHgqmKcknxKMu5FWGSUTaGSMZCiKkMFopYHIqkbEjFgo5eMcdwwOz1cTjTIouJsgEqIbNCD/Q8aVwop9/gDMjYzjZezVqEBiFodOqFuvjZtB1Kmw2KShhHKJnrJVICj3qORHyukYwjj7gVcuIZYqJ9wiiyEU5JhDXBloj0XAoRIaiLmHOTQipzE79j4nnt62hDk95ZZaWUOGlFURupFcaCLTi4vhccJxauk+bwVkiScfoa14bZyfS0tCA0VlpamomNNJrZtO15JA/9xDUyEyIIgiAIgjiM+OIXv4ivf/3ruOmmm3Dfffeho6MD69evR7VaHXW/k046Cbt27bKPe+65J/X5hz70IfzsZz/Dbbfdht/+9rd48cUX8bd/+7eTfDYEQRAEMbOQbTwOB1qOPHr1q189akra//7v/x5snwiCIAiCIIg2kFLi+uuvxyc/+Um86U1vAgD827/9GxYsWIDbb78db33rW0fc13VdLFy4sOlng4OD+O53v4tbbrkFf/VXfwUA+P73v48TTzwR9957r/XBnNiTGW8UUqupbPVhBM7kRiHVRyCZKAj7VrrPkTRRPIE9XqA9TWrwUNGRR1mdvlYOOSqh8aNh2B9W0RlxDPLd8ZCIHvU6VNFH0ObD0BEYgTb7MZ5GRVlFkSsj3RIOoBap18Z8OpIhHJ1Cxplno4CM94pbFxVkoiQinYoXiSD2IkIy2sFEFrm2TW6P41ojbi7jSy11nx0WQRpDbeaAMRNt0eTaJFJl4gik+DMTgcESUV/KqyoZfZS8/jI1X6QUQBRAssBGgLjCh3BCSMdEyXBkWAbQHkeO9gnKOiZKKB1JE0rAjySq2sy7IiKUpY8qr9i0p4iF4ODgeomXlTlkZQY5PZYZcGQcbq+9wxgkpI1cCiKJmhAIpIBvolT0tYsdjVx4jCOnU7AyDkeGc3h6A7fOfD2UyhepFsVzLJACoRSp6BkHzJqne4wj6zg29c2MCU9do9jA3fgu+ZGII4aksFFYJrKII04DdMBSEU0A4EiW2h/avD1A7DVkvLgilvg9YlNB4xRMgwMHjk5V9JCD0PPdRBmF8G0knpl3QoZNI33qf1fYYxijd52+J5gLFqnXIfetmZdJ5YyEDylVn5K/+0Z63ezngzXEHj1VbTweR9NH22lrh4Fldsvi0apVq1I/B0GARx55BE888QQuueSSiewbQRAEQRAE0QLbtm1DX18fzjnnHPteT08P1q5di02bNo0qHm3duhWLFy9GLpfDunXrcN111+GYY44BAGzevBlBEKTaPeGEE3DMMcdg06ZNLYlH9YuGZilLjTvVpxiNRH0VLL37iJXZ0JDS1iztbSQhKW4v9t1pOHaiAhuTPOWFBAAcnvX1saeA9GmYFC7OHPhaCKho0SEfubYCmwRQZGVw5qIS7ldn5DpwrOjSBbPmtYbGSSNsnWJV4kUU5V71XrgftUiZ6krrI8TB9YI14xTAnVjggakApfscIYTU7ZrFaygq1pw3koG9vsx4GjEXrpPTr5Wfi8tzcfvMUQISAIfpCmhMWsGIsQicGcFKL3eYtEJRcg6mRCQ7Fc31dBPCgFN3cXhjao+dO9qvSQLQ52wMis05eE4WIQtsGhW0OGIEEmNobivlCaAWCRQj1d4wK6LIB1CRA3YshQzhsAw8bZwcsl4w9CKnU6dczuDpB7RoEgoGqVfCVSFQFFUM8yJqTF1zHxVIGdl+Z9GJDtmNzkj5+HQhgwyPRSOXm3Z1vyMl7pS16DUsKyjzMmqsmDBa53CRQQ4dAIAO0YGCzKLDVcd0ZdxfgxkPAChGarxLsmrNp0MW2PvWeHBlZQ5ZncKZYx48mw4aN2zS0Yx4VGU1VPRYVDGEQKaFntQ1ZVl4UOPiQc1fT7pWzDP9ShIhtG0FoqyfK9afKFUZUB/H5R64Fmo5cxNprbGPGKznu7QCoJmvyb6nf98lxKMxqqeNmaZ2GCNTCY6t7Xeo07J49NWvfrXp+5/61KdQLBabfkYQBEEQBEFMPn19fQDQ4EO0YMEC+1kz1q5di5tvvhkrVqzArl278OlPfxqvfOUr8cQTT6Crqwt9fX3IZDLo7e0dd7u1Wg21WuynMTQ01HQ7CTk+AQnjjUaqX8SMxxPJMLY3UsOiKhWVlDxOk66xRvFJIACHp4+eKMGtPXXChHjE4KBiBBYTXRK5qEbq9SxP4syu+XALEmFlJQCgQxTQqQ11845jzbONSBGJZJBUVr/XbYfN9TLIOKqEd6RFICmljXZwWRYuUwvlrF44O8jASZiUmygN4WhRxQltBEbS08iKZAnxKbnwTnq+hMwID2rBLVhoRTLJHBuFxLW4JGQyQiRpaG4W5nH1M2ZFMNZEbFRzQi0fteglBaSMIGEEubht4y3j8CxcJ2fNjR1k4EoPDhqFEYPDAOOxzBjgcAdepK9l6KJLdKKGhQi4b8eHgcOTRixxkeeuFWFyLkPOga0YZkQTqa9VKDhC6SGIuhAkfIKS96jLAY8DGd2vDGfwuESmLorHmlULhlrE0RupPtVEBn7UjUAIa8pu9nON35PLtNClPjPPSf8lB7Dm2MakOx85CGRBH7/R/YmDWc8vh7GUaKQvmL3vHC1YebKAglDzO0SvNa+WTaomMsHh2GvfeEElJFwtZma0+JNDARGbpT7XnkWJW0fNISOeIT1noa+5EaRMBFoNRdSEumelFDb6LaWBy9GFpEZxqEUmspraDIMMsyeAt7/97VizZg2+/OUvT1STBEEQBEEQxCj84Ac/wPve9z778x133NFWO+edd559feqpp2Lt2rU49thj8Z//+Z+49NJL22rzuuuuazDhJqaGcB/DYNEY5gobxcJd9UBCPFIRHOq1qUQ1LCIMakGiiDKqYlhtq6MupBRwtAiSYSE8LdDkbBl6ld5k+2Mrp5mUn9C+Nulr0JFVAODAAzeL+MTCUpj0NxYikMrDy5dqkVwTRQSReh2ICsJIfS50Ban66lCN4pFr34sjnPjI4pEUiepuyhxb2sgmYdvmXEf9ODlknA7k9LB08ByECMFMJTQXcD3A0SE8XEfw2FgmodPKrEk0UIokKohQY6E9LgNHVqc+hnAAB9DaEVwPiFwGacSJOvFE6mptJlrIHDeZbiM5wBwG17ThMDCu+pts0i6UIwYZATo4yJ6DL1Tltvh6xCKRxwDpqOOYsQAAmRCPQhH30YxJNQJ8kTQPT+PoioO62zZaKkmYaB8AAilR09c10HUAMZJ4JKWd9fXpa9Dm2kbSMoJqiAgRaxRSDRzc3gvMCqo80aawJt2+Fo8qiXu2Gg6gGg6q/utn1+lqPHFi3LTrYdTqPtdddx1+9KMf4cknn0Q+n8fZZ5+NL3zhC1ixYkUbR58YJkw82rRpE3K53EQ1RxAEQRAEQYzBG9/4Rqxdu9b+bCJ9+vv7sWjRIvt+f39/g/XAaPT29uL444/H008/DQBYuHAhfN/HwMBAKvqov79/RJ+kjRs3YsOGDfbnoaEhLFmypOm2qSpYExqFhHF5ItlmWoxCwqjeSMljJDeJhQXoyBpTcY3JRP3yRIZUmPLaiVPYAMATHvZW1euH9mdw2ix1sIJ7NKBLq5sFt5SwESWhFQekTZ0yC95OloMn5gEAutBjF6cmwiVAzS54VeU1NVYB0yk9EJBSiUs5WUCn7FR90iloBeYi5ySriqU9bZQPkykFb6rKhShq8WqIDyFiRnyKIygi4xkjYiHHjJfDMjaiiDMXrpPXx9eeQzwLV/cvVenKVNKSNev5FAofkajZ0ub1URrKn8lNHcdzcnB5wUZpAUCVlTGgX9fCHIajDLL6uua4g4zD7Dh5XHn/dHo6ogoOgAyAjpTgEQhpRRlzbc31HQ4kqhFDTosyHS7Q6TF0e+rzHk+gyxXocCPkHeMlZcQYpq8DRyVyUAxVv0ohQylkqOpy9rVIXT+bfseAghsfI+swHfXDU35OoYBtoxxKVEKgosOXhnztPxTFNxJnQEarSmaMujMOvMR9F0c/mWpyAhWtCg1HAao6kq7G4vJyjlbW8joKr5Nn0OvpFFGX26pyTkIkS7ZfDNS9MChU+lyRlVBmSsgJWM3e91kdIdUpuzBLdgMAZrnqOD0ZB11e7PdkRDWROJ+KFsyGAoEDWj3bp6ON9nPYComMJao16nRGxrgVlGQy8ij1u3Ji09QOKmVrhoXsyIPwPGqF3/72t7j88stx5plnIgxDfOITn8C5556LLVu2oKOjo/UOTAAti0f1VTWklNi1axcefPBBXH311RPZN4IgCIIgCGIUurq60NUVf4sspcTChQtx1113WbFoaGgI9913Hy677LJxt1ssFvHMM8/goosuAgCcccYZ8DwPd911F9785jcDAJ566ins2LED69ata9pGNptFNptt+ZwOyhMJM1tIUvukjysQ2lQZxnij55GIoxwET56nOd14H1GSGPJVOkwgjUmuTJUnD4zQoz+vIbCL5xrT0TysgoDHnkTG0NekvwgZ2CgJmYgcMobWDnOtSFJmeWSZWigbT5tclEdWpzF5zIFrUrcSJdMDG+2hFrcVVkOZa+8ZVkRVqMWvL9R7gajYsuMqyiiOCooxER7pEuVmO8HTfjTJ/SMZWh+aSPgQMrRRTRJCb6fHQjpgLIRkro14ikQNruMj0uMa8DJqvIiSFqwyvICMzCMrtVdO6CETuvBg/HQ4HBYbMicjfIw/T6TLxgfWlFk0pAV6cJHVIlqOOyg4Djq0OpF3OPIuR87xkNGmUrGgBz3ODNUoFi+qkUQ1ElZACYRIrfUZA1zWmC6WTEEzApcRh6oiQlWEqGlRtaLnZcRCez4cHF5o0vP0XIILx4irYIjq5lCN+ahoUaXKS/BlWY9TPBeMEbyZvznZiUKgxM+8n7XpZmbOCp0iBwAV+ChzJeCUHSUYVeQgAn2cSMRCjREqy6wbRShD+2KgngfDAjq0j1guYXBuiKRMiapDOgpviA/qfgzaKMEoFXGnxkaI5vfHQaWqHWya2yGElG3qWS3uc+edd6Z+vvnmmzF//nxs3rwZf/EXf9FGBw6elsWjnp6e1M+cc6xYsQKf+cxncO65505k3wiCIAiCIIgWYIzhqquuwmc/+1ksX74cy5Ytw9VXX43Fixfj/PPPt9u95jWvwf/5P/8HV1xxBQDgIx/5CN7whjfg2GOPxYsvvohrr70WjuPgwgsvBPTff5deeik2bNiA2bNno7u7G1deeSXWrVs3OZXWErQclVS/iBm3NxJSwk6zhZQSiRqrDI1abQ0jCUlNtpWwXkCmiphkAk4iRcavOx3JBCItetRkFwZr6UwAlSqjxQUWIbBCkVpEB6xmF5pmkRvKWkIoCm3EjfVJsWJJs/FRC3CT1hawMgJtYlzT/kRlJ4eMrvaUkZmGdBwBgYgbAUQ9+6xiF/s1UbTmwmGk2o5EzQo1zVLI0tdBxNtGRphzwUTsf2S3TJy7SEU2hYnjBXXzKYSUHJIJcJZMbYsFqojXEPCKHacaK2r/KPWzx3NwpAsHRqxwwWUcRWLORXnexGlPEQsSaVBR6vwZOFzpwdVRNVmRQz7KIRfoyBrmIsNVdE1DNFgijSsQAr6p0Ccj+DKAb1ITWdSQfuXCsQKpC6chpSuEUKmIWiyqsSoCp9Yg7ljvHpPOxWLfLehqf66uRsjArehqPYFk2c51PyU2xtfYeFSZtj2ex5AWP43ABxv5peeITkFLztGk+bWZo8lxMSJVwMsIHH1/OPr+kN3IR+o42TBjBUR7PMiEqFpFlev9MKivSdGeW3NBSDS/PxJMfqTRkSM2JRFCNPj/jfeLlsFBdX1nz549af0bi5bFo+9///uT0xOCIAiCIAjioPnoRz+KUqmE9773vRgYGMArXvEK3HnnnSl7gWeeeQZ79+61P+/cuRMXXngh9u3bh3nz5uEVr3gF7r33XsybN89u89WvfhWcc7z5zW9GrVbD+vXrccMNN0z5+REEQRDEdCHalL6E/r+3Phjn2muvxac+9anR9xUCV111FV7+8pfj5JNPbuPoEwOTsr0kws2bN+NPf/oTAOCkk07Cy172sonu26QwNDSEnp4eDA4Ooru7e7q7QxAEQRDEJEL/788czLUAPF3VarT0svEzbo8ku0Orx22+fTMjZYXT8E5y29igObl//F69kTPnro2CcJgbV++yJeyz8ExkBCvYSBVjsotE5EUkA+uvZCIwQhlHHplohWSKloTQaS4jRynUn1uyzy7P2OgaEyGSjLDh8OCYsuN67JIRMybaJEQNoU7PSaaoBTbyyE94EIUpM+v668DAG8qfJ71hkph2kqk+QoaQMki0LUaIeEsexwNnmUT1tQw486znEmceOHPjsWBqXJJRWazJ3JKII31MOqE0ps6yMW2NMy++DsjCY+kosIzMwoVjq+VxMIhEZblQGzSbCLYAPgJWi83QZWCPD10hkIFbj66RxjiZHhnKKiIZNkQGJVOweKKSHU+NWWNshPXCkoFt0/hWITFHjOE49ByG8cIyvlgsm6iW59n2k+Nffy8FUSURoZa4Fon2Pe1FZJ4zvBNZplLlPJmN7+nE2EU2Fa9sIwZ9qe4FXxRttJO6V7RpvEhE5jVN64yv25iRR2OkqR1U5FEb8oQ6Xjjp/9d7noe3zb8CPe6slvd9fPgBZNeG+OEPf5h6fzyRR5dddhn++7//G/fccw+OPvrolo89UbQcebR792689a1vxd13320NEwcGBvDqV78at956a+obKoIgCIIgCIJozuj+Q+PloNPa0J5P0vjT2pz0tin/IyNkmPfQsJ0QoU2/kSwCrysVLmRoU7wCVk4tag1RIi0nsgvxmm0/THkFGXHELC6bl/JuPO94fFSinFmoRvHiXadshayWMqd2ZGOfraeSHs8wkZYWiZrtc5SqphaLAHFfkwvixNjasQ4TnzWbB/EiO67YFun29TGkaPTqkgJgyWsqIOADIm6Pszgl0AgfoTVE91KCVjKVLj6fKHWuUvcreZ0EhBUdjDiZFFuSQp7DPLg8Cw4HjkwvE614xIIGETJKCGnJ1DI7Fom+11cKS55H0pBciKBBdKkXL3nCAN0cp5l4ZMUdEaTmi2zSvvf/AYoAAErTSURBVB1vncIYcR8hi4UeJyE2muf4XhF2rif9t4T1Ooo9z5IpkOa+EE48poFORXNZDo5eshvxMCUYiiAlBKPu/kiaxx+pqWITTdueR9ryp1Vx64orrsDPf/5z/O53v5tW4QjtiEdXXnklhoeH8cc//hEnnngiAGDLli245JJL8IEPfAD/8R//MRn9JAiCIAiCIA5bJl5IMkysoDR+n6RYUEmbbTcIMCkhI15cyoSJNrPvxeXhzeKd8zhCg3N3xOgU6IVkMgrDvNewSG+ITGj0eUqek+m/WcQLIWxEjxQCvK59h4WIdGU2I5KMhPVZkkGimlpQJxqhzoOosc9SioRIF0GiMRKmPiomKVY0izRKzzdRty+3ApLZH/CsqMb1HklvK8GChFjkp8aFN7kvjPdU0rRcjuBHhcRcShqbh4koMSNgMTgNx0sKPZEM7TGNJ1bSD2s0motH6hzqxctm4o49F3CIJtFjIRpFHXu8OsEoKQbCzhHjKeXYfcy8joSfEKqaH6fpvdSs//r+liy+p80zF7GxusOzowqIQgapexl1QmtKXEz0o7m4mhwv8jgaCXkQaWstHUdKXHnllfjxj3+Mu+++G8uWLWvjqBNLy+LRnXfeif/5n/+xwhEArFy5Et/85jfJMJsgCIIgCII4SEYXaFqlreptOBhBKRZ6GnZPHTqu2mYWjYzxOiFJtZcUkozYwBIRDHYhK/iIESpAOqKombl0Y2TNSOeYPn9zfFM9ixnhxCzszXo8aU5t04PSqUhxq3ULXhmlUsiS/bfjmFgQNxv/tLiXHhvAaZKWV7+wHinSaATTYUg7DmraRTZiQVXZS4hsTNRFGqXnmq3o16Q6Vn0K0qjiUeIYxiSc8zgtKt4mPY+SqXDJdDghggbBajQz9WbbSCuCJa4lhBbcRmlPCzxMG4Qn0xHTvzMSIpV9XScGQl9XG50Wi7gmys9U0GtsP8k4hRorXopUNBqAdESa8BuiqeoFq0jGUX6wgl4c2QQ0nyctMYOrqal7sc1QoHaON0XV1i6//HLccsst+MlPfoKuri709fUBuoBFPp9vowMHT8v/Ewsh4HmNoaWe50GImTupCIIgCIIgCIIgCIIg2kW0+WhVb7rxxhsxODiIV73qVVi0aJF91HsmTSUtRx791V/9FT74wQ/iP/7jP7B48WIAwAsvvIAPfehDeM1rXjMZfSQIgiAIgiCOaCYuGmm09Ioxo5JG+vadNUY5pGmMGmFNDiUl0lFIMCuO5lFI5vN6k+1Um6nUq8ZUIBWhEKXea2oAPRIMjREc4IBOhYIM7RfMyVS2ZpFTzZLjktE0yciJ8Z0HRrgezSIHRjrfxPs2mkQ2ftZ0v8Zom5S/FVPjo4ivLUY1ZE+3l+xHfURJ0sPHHJNpI28kxp7pFEBj4pxMbUMqOisZJdRa1FMjdfMSzSLH4oighnO3iX9IeG05Te+B5HHiORI2uZ7JjdV2yi7cnFschWQY6TqNFQWX7Lt5ZaLUkqlsAiEi1jwarf5YyXshOTeaH3/890rTY05kmlq7BkLThJQS7dQca3WPNuuaTSoti0ff+MY38MY3vhFLly7FkiVLAADPP/88Tj75ZPzf//t/J6OPBEEQBEEQBFHHxKa3YZQFUVui0oiCUjMhqdEfyawbZCItTMqkGJAUBcZn+F2fthP3o3GRPvbiUPddisS5mrYBwFRrc8DtksMIPryp+DUa6bQ00eAtk16kN7keKdNyPv7F7YhjkhSV6sYqoQyafeoNtBmrEwtRX+1tLFHCtD96ulh9Kl76ODxlFJ5KgUzOr3o/J1kvSIzsszRaf+rTuUb3lKpvKFIpX1ZIQlPBrr7fo5mcN5sTMpGCiYSQhCb3YeOxRm433g6pewV1qWzpin3jE4+Sx6wXXRUjCVrJRimjaCSEjFN0W2EGakEt07J4tGTJEjz00EP4n//5Hzz55JMAgBNPPBHnnHPOZPSPIAiCIAiCIMbJSAueyRGVMJqwNKKg1GSB2qT5ZGRS8vOk2NDYl+YL/mbluJtFGY3HxyfGRHskfX3iRXxSJEl6IcXP7Ylf5tyaCw+NUUJNaWFhPOqYjLQaVCE+jWJGykC78RrXC4XNm65/v9EYfCSUV06jWXijmIQm90zz+dRMWBqdUQyaW4rsikWjpK9U3OZ4De8xhhAoEjMgLSQl+zAuGgRMNNwrpgvGWJ0lrslYImuz6zL6vY/xi6gziPEK25Pbh6nZZ6bRsngEAIwxvPa1r8VrX/vaie8RQRAEQRAEQRAEQRDEDIMij8bB//7v/+KKK67Avffei+7u7tRng4ODOPvss3HTTTfhla985WT0kyAIgiAIgjgskOmvYJuZ/0w444uiaYeWqrk1jTzAmGlt5vNk5EGySljcl8Yog5Haap6O1SzdK3F+qWsVR3ikUrOQjrBKRtikUvFSUS9jRz80lqBvEkFlN26WfnSwK7dxRh2NgISsmxui6dA2u66KRkeoxiifMSJ1mlTyS1aZG80vaPTjNnOrGm17NL1eDfNwtDEeMTUwnUKZ7kj9nB/HNU1dJNEQacRaiGIbqS+ouz+SEWsyMQ/auz5j/B4YqU/1H02kxxEOEyXlCGTc4tH111+P97znPQ3CEXS5uPe97334yle+QuIRQRAEQRAEMX5G8YuZOiZOXBp3ilsLaW12l6ZNj2fRNtpCvUkbo6VjoZmIFKewockivtluSSHJkBbHmp1Xs4Vwc9FoYlJbDk4wSrfBm6T4iRHEwibHHlf/xtin7taS2ow9TpUbSbjCiALR2GlqI3w+lng51lhLCbB4bE07Y4k5BzUvUsc07bUnPDf9XdA0VXW81wfjFBhxSKaqzSTajjyajM5MMeMWjx599FF84QtfGPHzc889F1/+8pcnql8EQRAEQRDEkcg4ow2mlokRl5otXMcUlIDRoynGPGj9YncUk+DxiiP1hj2jHbcuCsnQvNpcKxEsIwsnEx4lgTaEo7HGqIlgoBjZa2jENurfTpz/qPOrIeJlHMdsyji2P4h5OOL5NOybiIJrst2I86LJtR15DOuV0MaowfHQtP0m0UjNu5cWXNsS8A5aZDtyI42k/tfOfoc64xaP+vv74XneyA25Lvbs2TNR/SIIgiAIgiAIgiAIgpgxCJDn0ZgcddRReOKJJ3Dcccc1/fyxxx7DokWLJrJvBEEQBEEQBBEznr++Z1za2xgVksbjmXSQZbPHrKLWzqomFYHRJH2o5WiK8dCOr9FBjN2ErvZE88iYJpXqRu5P615Oo86vEaOfDoKWIlpGTwscM1KjaRRQOoVyZMaO2mr2HmsWrtU0CilJG78DRrhvGvZt5XfDZKb0TSIzrl+yzV+Zk9GXKWbc4tHrXvc6XH311fjrv/5r5HK51GeVSgXXXnst/uZv/mYy+kgQBEEQBEEQ46PVv+onXWxqbUE5uQulCRKOxmx/hPShJqlsLdGSeDIFqWkHQYOBdosC4ejzZORUqjGFCvvBCIJHG0LmuES9cQpHo6WlTQXN53UzL7AkzcZsZEFpXHNjpOsz2j4jHGt8kE+SQSj7/pb3O6LEo09+8pP40Y9+hOOPPx5XXHEFVqxYAQB48skn8c1vfhNRFOEf/uEfJrOvBEEQBEEQBDGxTJvY1F6UwkG3P47zba2CXDNvn+YRIE2jkdpk/OLJSA20v5Qb07sqeYwRzMXr2xlLDGn/fOs/G4eYhPavUVsRP61GHI2r/ZHuo4kRQUYVkTCe3xOjeyW17Y82DqYkkudwyNEaAdlm5NHhoB6NWzxasGAB/vCHP+Cyyy7Dxo0bIfWIMcawfv16fPOb38SCBQsms68EQRAEQRAEQRAEQRDTgmhTgjwcYrfGLR4BwLHHHotf/OIXOHDgAJ5++mlIKbF8+XLMmjVr8npIEARBEARBEDOFsb5yPujIpElcYozR94lNFWqMAGkl0qaV/qWPN1oDExttVP/5+M6peWRM69Eg7c6T1iKRJo5JjDhqmjYmWqtc1yYjXvcxU9lG69d0pLTWM33V1Gacx1EdUkobSNPijpPRnSmlJfHIMGvWLJx55pkT3xuCIAiCIAiCOJQZbYEwHWbebaSptX2MpufXbBE/kQvEMRa5kygYja+Rkcam+biMzmQIi+2Vmm+v/QRTspCevLmRamY0cbWlVDbDZF+TkY5FjAcp26y2NhmdmWLaEo8IgiAIgiAIgmiRyY5aamMx3IpAMmYE0qhCSZJ2F8StVJaaZtGoodGRvKGStBkp08q5jjrHxvILGi+tizatjvn4I72mjjH71HQOjMVEeqNNoFB0BEUaETEkHhEEQRAEQRBTyPiWCjNtYTglTEE0xpSZ5Y5LpJjE47ez20GOzcFXApuCVKFxRcKM1g8+jm3GeXzz1kTNybbEmYll3AKroe3+TnHE0GGQcjVRtFttTe1zaP+/RuIRQRAEQRAEQRAEQRDEGFC1NYIgCIIgCIKYQUxVKsORFOE0UWM6rpShlgyDJ4CDjIyYGRFZLbY1EW1MWBrVOI51BDHuKLS2PJGmgEm+XodyqpqwUUStceiecQyJRwRBEARBEMQRS7uLmENJdJrWhdpkLY4n2Ox4IhlVXDuY8ZiMBf1UiBcj9HvSvKUwjnOZIjGrJW+m6RaSjjCBr13ajTw6HEaXxCOCIAiCIAiCaJHxLnynS2SabMGoLX+fdgzDJ2lBOyMiH8YSC6Z6MT+FkVEzYvxnMs3GbyZFrbV6yMPoess2PY8keR4RBEEQBEEQBEEQBEEc/ggpIdqpbHkY6GckHhEEQRAEQRDEJDHWN+4TEZk0nd/qT2jJ9ClMJZqKY0xoVNZUMRFeVTPhXEaK6prGqJuDvk9mwriOk8Mp0qgeqf+1s9+hDolHBEEQBEEQBDFNHA4LivpzmKl+UFM91hMqrI1xnPHQtpg1HiGpBWFjIo3b0aop9TQyVfOBmFxEm7bxM2MWHhwkHhEEQRAEQRAEMWHMxEXy4SDS1dPqObV9XUYTkloUZmbydZiqiDTMYIG1XWbydZ1o2vc8OvQh8YggCIIgCIIgCIIgCGIMJCRkW55Hh758ROIRQRAEQRAEQRATSjIS4XCLsmiFyYo0aTfS46Cjwg6DBfBM4FCPQDqSIo2IGBKPCIIgCIIgCIKYNJotNKdq0TxTFrkHKxZM5HlMh3AxU67DTGMmpng2g65fjGg7be3QH0MSjwiCIAiCIAiCmFJGW0gd6hXoRqOViKzJPoeZZuh9sO0fCiJMMw71/h9ptC8eHfqQeEQQBEEQBEEQBEEQBDEGUltmt7PfoQ6JRwRBEARBEARBzBjaTXM71BZnh1p/2+FQOMeZ0seZ5BM2U8ZkJtJ+tbVDf0z5dHeAIAiCIAiCmDh+9KMf4dxzz8WcOXPAGMMjjzwyrv1uu+02nHDCCcjlcjjllFPwi1/8IvW5lBLXXHMNFi1ahHw+j3POOQdbt26dpLMgiDRyHP+I1qFxm5lMx5yme2l8mLS1Vh+Hw7iSeEQQBEEQBHEYUSqV8IpXvAJf+MIXxr3PH/7wB1x44YW49NJL8fDDD+P888/H+eefjyeeeMJu88UvfhFf//rXcdNNN+G+++5DR0cH1q9fj2q1OklnQhDEVDAZgsF0iR+HG5Ml6JD42j6izX+HwxgzKY+seotDQ0Po6enB4OAguru7p7s7BEEQBEFMIkfy//vbt2/HsmXL8PDDD2PVqlWjbvuWt7wFpVIJP//5z+17Z511FlatWoWbbroJUkosXrwYH/7wh/GRj3wEADA4OIgFCxbg5ptvxlvf+tYx+2OuBeAAZAxLEDOOiUqVms5FcivncDgs5jHGOR8u5zg2EkA06f/Xe56Hk/N/h5zT+jH6a0/gxFcXcMcdd0xK36YCijwiCIIgCII4wtm0aRPOOeec1Hvr16/Hpk2bAADbtm1DX19fapuenh6sXbvWblNPrVbD0NBQ6kEQBEEQhzKS0tYIgiAIgiCII5W+vj4sWLAg9d6CBQvQ19dnPzfvjbRNPddddx16enrsY8mSJZPWf4IgDp6JWNxO9wL5SEzBIh+wqeVITlubEeLRN7/5TSxduhS5XA5r167F/fffP+K23/nOd/DKV74Ss2bNwqxZs3DOOeeMuj1BEARBEMThyg9+8AN0dnbax+9///vp7pJl48aNGBwctI/nn39+urtEEMQYtLvAnWlixVh9mUl9JYhDhWkXj374wx9iw4YNuPbaa/HQQw/htNNOw/r167F79+6m299999248MIL8Zvf/AabNm3CkiVLcO655+KFF16Y8r4TBEEQBEFMJ2984xvxyCOP2Mfq1avbamfhwoXo7+9Pvdff34+FCxfaz817I21TTzabRXd3d+pBEMTMp1VhZaYKMRSRQ0wG7SWtUeTRhPCVr3wF73nPe/DOd74TK1euxE033YRCoYDvfe97Tbf/wQ9+gL//+7/HqlWrcMIJJ+Bf/uVfIITAXXfdNeV9JwiCIAiCmE66urpw3HHH2Uc+n2+rnXXr1jX8LfXrX/8a69atAwAsW7YMCxcuTG0zNDSE++67z25DEARBEIc7gom2HpK1Jh797ne/wxve8AYsXrwYjDHcfvvtk3ZO42VaxSPf97F58+aU+SLnHOecc86I5ov1lMtlBEGA2bNnN/2czBoJgiAIgjiS2L9/Px555BFs2bIFAPDUU0/hkUceSXkTXXzxxdi4caP9+YMf/CDuvPNO/NM//ROefPJJfOpTn8KDDz6IK664AgDAGMNVV12Fz372s/jpT3+Kxx9/HBdffDEWL16M888/fxrOkiCIyWSsCB2K4iGOVFQc0eR7HpVKJZx22mn45je/OWnn0irudB587969iKKoqfnik08+Oa42Pvaxj2Hx4sUNFUIM1113HT796U9PSH8JgiAIgiBmOj/96U/xzne+0/781re+FQBw7bXX4lOf+hQAYMeOHeA8/g7x7LPPxi233IJPfvKT+MQnPoHly5fj9ttvx8knn2y3+ehHP4pSqYT3vve9GBgYwCte8QrceeedyOVyU3p+BEFMHSQOEUQaIx21Sqv7nHfeeTjvvPNaPs5kMq3i0cHy+c9/HrfeeivuvvvuEf9w2bhxIzZs2GB/HhoaomofBEEQBEEctrzjHe/AO97xjlG3ufvuuxveu+CCC3DBBReMuA9jDJ/5zGfwmc98pq1+SWkWobQYJQiCICYS9f9K/P/MZB5JxR61tacQDZlQ2WwW2Wx2wvo3mUyreDR37lw4jtOS+aLhy1/+Mj7/+c/jf/7nf3DqqaeOuN2hdDEIgiAIgiAOV4aHh/Wrdv7oJgiCIIjRGR4eRk9Pz6QeQ8UdRS3vJyHwzDPPNPQvGRU805lW8SiTyeCMM87AXXfdZfPljfm1ybFvxhe/+EV87nOfwy9/+cu2q4oQBEEQBEEQU8fixYvx/PPPQ0qJY445Bs8//zxVYJsETJQ9je/kQOM7udD4Ti6H6/hKKTE8PIzFixdP/rHajDySkHjpS1+KBx98MPX+oRToMu1paxs2bMAll1yC1atXY82aNbj++utRKpVsrv7FF1+Mo446Ctdddx0A4Atf+AKuueYa3HLLLVi6dKk1f+zs7ERnZ+e0ngtBEARBEATRHM45jj76aBuy393dfVgtXmYaNL6TC43v5ELjO7kcjuM72RFHBlM9rVUkJDjnh/S4T7t49Ja3vAV79uzBNddcg76+PqxatQp33nmnNdGuN3S88cYb4fs+/r//7/9LtXMohXsRBEEQBEEQBEEQBHFoIQ8ibe1QZ9rFIwC44oorRkxTqzd03L59+xT1iiAIgiAIgiAIgiAIYmopFot4+umn7c/btm3DI488gtmzZ+OYY46Zlj7NCPGIIAiCIAiCODLIZrO49tprDymfh0MJGt/JhcZ3cqHxnVxofA+eg/E8aoUHH3wQr371q+3PpoL8JZdcgptvvrnl408ETE5FPbsZxNDQEHp6ejA4OHhI5xsSxJGKlBLFYhFDQ0OoVCool8uoVCrjegRBACHEqA8pZepnx3Hged6oj0wmk3pdKBTQ2dmJjo6Ops/ZbBaMsekeSoI4IqD/9wmCIAiCmAg8z8OiwqvhOR0t7ztU24Y1rzoKd9xxx6T0bSqgyCOCIKaFMAyxd+9e9PX1Yffu3di/fz8GBgZw4MABDAwMpF7XP0dR63nGMwnOuTX57+joQFdXF2bNmoVZs2Zh9uzZqedm73V1dZH4RBAEQRAEQRBTzFRFHs1ESDwiCGLCkFJi37592LVrF/r6+tDf3z/i8549e3AwgY+O46BQKCCfzzd9NPvM8zw4jgPOedMHY6zh5yiKEARB04fv+03fK5VKKJVKKBaLqedqtQoAEEJgaGjIVhxq59znzJmDBQsWYP78+Zg/f/6or/P5fNvjTBAEQRAEQRCEQolH7XyRTYbZBEEcQfi+j507d2LHjh3YsWMHnnvuuYbXlUpl3O1xzjFv3jwsWLDARtX09vba55Fez5o1C/l8/pCLvgnDsKmwNDQ0hAMHDtjH/v37U8/J17VaDVEUYffu3di9e/e4jtvZ2Yn58+dj0aJFOOqoo7B48WIsXry44XVHR+shuARBEARBEARxpKCqrbUuBAmKPCII4nBCSoldu3bh6aefxtatW/H0009j27ZtVhjatWvXuKKF5s6diwULFmDhwoVYuHBh09cLFizA3Llz4TjOlJzbTMB1XfT09KCnp6et/aWUqFQqOHDgAPbu3Yvdu3ejv7/fCkn1r/v7++H7PorFIorFIp599tlR2+/u7m4QlI4++mgcc8wxWLJkCZYsWYLZs2cfcqIdQRAEQRAEQUwE7aatgcQjgiAONYxAZMSh+udyuTzq/tlsFscccwyOPfZYHHPMMQ2vlyxZQhUcJgnGGAqFAgqFAo466qgxt5dSYnh42ApJu3btwosvvogXXngBL774on39wgsvoFQq2VS6P/3pTyO2WSgUrJC0ZMmSlLBkfqYIJoI48vjmN7+JL33pS+jr68Npp52Gf/7nf8aaNWtG3P62227D1Vdfje3bt2P58uX4whe+gNe97nX2cyklrr32WnznO9/BwMAAXv7yl+PGG2/E8uXLp+iMZga/+93v8KUvfQmbN2/Grl278OMf/xjnn3/+qPvcfffd2LBhA/74xz9iyZIl+OQnP4l3vOMdqW1avV6HK9dddx1+9KMf4cknn0Q+n8fZZ5+NL3zhC1ixYsWo+9H8HR833ngjbrzxRmzfvh0AcNJJJ+Gaa67BeeedN+I+NLbt8/nPfx4bN27EBz/4QVx//fUjbkdjfHBIKSBl62lrUlLaGkEQMxTf97F161Zs2bLFPp588skxBSLOOZYuXYrly5fjuOOOw0te8hIce+yxViCaN28eRZ4cIjDG0N3dje7u7jH/wx8eHk6JSi+++CJ27tyJ559/3j52796NcrmMp556Ck899dSIbc2ZM8fOmWYPil4iiMOLH/7wh9iwYQNuuukmrF27Ftdffz3Wr1+Pp556CvPnz2/Y/g9/+AMuvPBCXHfddfibv/kb3HLLLTj//PPx0EMP4eSTTwYAfPGLX8TXv/51/Ou//iuWLVuGq6++GuvXr8eWLVuQy+Wm4Synh1KphNNOOw3vete78Ld/+7djbr9t2za8/vWvx/vf/3784Ac/wF133YV3v/vdWLRoEdavXw+0cb0OZ37729/i8ssvx5lnnokwDPGJT3wC5557LrZs2TLiFyE0f8fP0Ucfjc9//vNYvnw5pJT413/9V7zpTW/Cww8/jJNOOqlhexrb9nnggQfwrW99C6eeeuqo29EYHzyizbS1w8Ewm8mDcaw9BKGSvcThRrVaxVNPPZUSibZs2YKtW7eOWJXMcRwsXboUxx13nBWJzPPSpUuRyWSm/DyImU+1Wm0QlHbs2JH6eXBwcMx2Ojs7GwSlpUuX2sf8+fNJXCImDPp/f/JZu3YtzjzzTHzjG98AdFGAJUuW4Morr8THP/7xhu3f8pa3oFQq4ec//7l976yzzsKqVatw0003QUqJxYsX48Mf/jA+8pGPAAAGBwexYMEC3HzzzXjrW986hWc3c2CMjRl59LGPfQx33HEHnnjiCfveW9/6VgwMDODOO+8E2rheRxJ79uzB/Pnz8dvf/hZ/8Rd/0XQbmr8Hx+zZs/GlL30Jl156acNnNLbtUSwWcfrpp+OGG27AZz/7WaxatWrEyCMa44PD8zzMyp8O12m9GE2p9iJe8erluOOOOyalb1MBRR4RxCFCFEV45pln8Nhjj+HRRx/FY489hi1btuDZZ5+FEM3V7+7ubqxcudI+TjjhBBx//PE49thjSSAiWiaXy+G4447DcccdN+I2Q0NDeO6557B9+3Y899xzDY/+/n4Ui0X88Y9/xB//+McRj1MvKC1dutS+t2DBAnDOJ/FMCYIYL77vY/Pmzdi4caN9j3OOc845B5s2bWq6z6ZNm7Bhw4bUe+vXr8ftt98O6OiZvr4+nHPOOfbznp4erF27Fps2bTriFy+jsWnTptS4QY/tVVddBbR5vY4kzBcgs2fPHnEbmr/tEUURbrvtNpRKJaxbt67pNjS27XH55Zfj9a9/Pc455xx89rOfHXVbGuODR0K2l4J2GMTskHhEEDOQwcFBPPbYYymh6PHHHx8x3WzWrFk46aSTUkLRypUrsXjxYorgIKaU7u5unHLKKTjllFOafl6pVPD8889bMcmITOZ5586dNppupNQ447uVFJSSEUyLFy8+oozYCWI62bt3L6IowoIFC1LvL1iwAE8++WTTffr6+ppu39fXZz837420DdGckcZ2aGjIFlxo9XodKQghcNVVV+HlL3+5Td9pBs3f1nj88cexbt06VKtVdHZ24sc//jFWrlzZdFsa29a59dZb8dBDD+GBBx4Y1/Y0xsTBQOIRQUwjUkps374dDz30EB599FH7eO6555pun8/ncfLJJ+PUU0/FaaedhpNPPhkrV66kNB/ikCGfz+P444/H8ccf3/Rz3/exc+dObN++PSUsmcfOnTtRq9WwdetWbN26tWkbrutiyZIlKUEp6dt19NFHU84+QRAEkeLyyy/HE088gXvuuWe6u3JYsWLFCjzyyCMYHBzEf/3Xf+GSSy7Bb3/72xEFJGL8PP/88/jgBz+IX//61/R3zRQij2DPIxKPCGKKEELgmWeewUMPPYSHHnoImzdvxkMPPYQDBw403X7JkiU47bTTrFB02mmn4bjjjqOICuKwJpPJ4CUveQle8pKXNP08CALs3LlzxMilHTt2IAxDbNu2Ddu2bRvxOAsWLLAVAusfxx57LObOnUuCLEGMg7lz58JxHPT396fe7+/vx8KFC5vus3DhwlG3N8/9/f1YtGhRaptVq1ZNwlkcPow0tt3d3cjn83Acp+XrdSRwxRVX4Oc//zl+97vf4eijjx51W5q/rZHJZGy6+xlnnIEHHngAX/va1/Ctb32rYVsa29bYvHkzdu/ejdNPP92+F0URfve73+Eb3/gGarVaw7qBxvjgkTJqr9paG4LTTIPEI4KYBKIowtatW61AtHnzZjz88MMYGhpq2NbzPJxyyilYtWqVFYlOPfVUzJo1a1r6ThAzGc/zsGzZMixbtqzp51EUYdeuXQ2i0vbt2226XKVSQX9/P/r7+0cM887lcliyZAmOPvropo+jjjoK8+bNI+8l4ognk8ngjDPOwF133WWNnIUQuOuuu3DFFVc03WfdunW46667rA8PAPz617+2PijLli3DwoULcdddd9nFytDQEO677z5cdtllU3Jehyrr1q3DL37xi9R7ybFt53odzkgpceWVV+LHP/4x7r777hH/b0lC8/fgEEKgVqs1/YzGtjVe85rX4PHHH0+99853vhMnnHACPvaxjzX9wpnG+OCRkG0JQRR5RBAEpJR49tln8cADD9jHQw89hFKp1LBtNpvFaaedhjPOOAOnn346zjjjDJx00klkXk0QE4TjOFbgecUrXtHwuZQS+/fvx44dOxoeJnJp165dqFaro6bGQQtZRx11VEpUWrx4MRYtWmQfixcvRmdn5ySfNUFMLxs2bMAll1yC1atXY82aNbj++utRKpXwzne+EwBw8cUX46ijjsJ1110HAPjgBz+Iv/zLv8Q//dM/4fWvfz1uvfVWPPjgg/j2t78N6KpiV111FT772c9i+fLltlT04sWLR600djhSLBbx9NNP25+3bduGRx55BLNnz8YxxxyDjRs34oUXXsC//du/AQDe//734xvf+AY++tGP4l3vehf+93//F//5n/+Zqu4z1vU6krj88stxyy234Cc/+Qm6urqsp0tPTw/yeVVNieZv+2zcuBHnnXcejjnmGAwPD+OWW27B3XffjV/+8pcAje1B09XV1eDP1dHRgTlz5tj3aYwnHikFGWYTBDE+du3aZUWi+++/Hw8++CD279/fsF2hUMCqVatSQtEJJ5wAz/Ompd8EQag/iubMmYM5c+bgZS97WdNtarUaXnjhBezYsQMvvPACdu7ciZ07d6Ze9/X1IQgC68U0Gp2dnSlBKSksLVq0CAsWLMD8+fMxZ84cSkslDkne8pa3YM+ePbjmmmvQ19eHVatW4c4777SGqzt27EhF6Z199tm45ZZb8MlPfhKf+MQnsHz5ctx+++2pRdBHP/pRlEolvPe978XAwABe8YpX4M477zzifD0efPBBvPrVr7Y/mypJl1xyCW6++Wbs2rULO3bssJ8vW7YMd9xxBz70oQ/ha1/7Go4++mj8y7/8C9avX2+3Get6HUnceOONAIBXvepVqfe///3v4x3veAdA8/eg2L17Ny6++GLs2rULPT09OPXUU/HLX/4Sr33tawEa2ymBxnjikYggcWSmrTEpDwMJrAWGhobQ09ODwcFBdHd3T3d3iBnOwMAAHnzwQSsUPfDAA3jhhRcatstkMli1ahXOPPNMrFmzBqtXr8aKFStoIUgQhylBEGDXrl1WTNq5cyeef/557Nq1yz5efPHFphGII2GErfnz54/6mDdvHubMmYPe3l76HTMO6P99giAIgiAmAs/zUMgcB4dnW963FuzDq15zaioS9FCDIo8IQhOGIR5//HHcd999uO+++3Dvvfc2LVvLOcfKlStx5plnWrHolFNOodQzgjiC8DzPGmyPxvDwcEpQavbYvXs39u3bBykl9u7di71792LLli1j9oExht7eXhtJNWfOHMyePXvE1z09Pejt7UVPTw9FQBIEQRAEQbSBlLKttLW2Ut1mGCQeEUckUkrs3LkzJRRt3rwZlUqlYdtly5ZhzZo1Viw6/fTTycOEIIhx0dXVha6uLhx//PGjbheGIfbt24fdu3eP+dizZw+Gh4chpcSBAwdw4MCBlCfKeCgUClZI6u3tbfq6u7vb9r/Zo7OzkyKfCIIgCII4opAQEGSYTRCHL6VSCQ8++CDuvfde3Hvvvbjvvvuwa9euhu26u7uxdu1a+1izZg3mz58/LX0mCOLIwXVdLFiwYNyeI77v48CBA9i3bx/27duH/fv3j/p6//79GBwcRLFYBACUy2WUy2W8+OKLB9XvQqGQEpQ6OjpafhQKBRQKBeTzefu6UCjAdelPFIIgCIIgZhbtGmYfDm5B9JcZcdghpcTTTz+NTZs2WbHoscceQxSljc0cx8Epp5yCs846y4pFK1asoNLbBEHMeDKZTEtikyEMQwwNDWFgYACDg4Op5/rXw8PD9jE0NJT6OQxDICFC9ff3T/g5ep7XICglRabxPhMEQRAEQRAHD4lHxCHP0NAQ7r//ftx7771WMGpW/Wzx4sVYt26dFYtOP/10dHR0TEufCYIgpgPXdTF79mzMnj277TaklKjVaikxyTxKpVLLj0qlgnK5bJ/NN3NBECAIAgwNDU3gCBAEQRAEQbSPijxqvdoaDoNqayQeEYcUQgg8+eSTKaHoj3/8Y0MYYDabxRlnnIGzzjoLZ511FtatW4ejjz562vpNEARxuMAYQy6XQy6Xw7x58ya0bSNMmYgmIyjVPyqVSoPoNNLz8PAwNm/ePKH9JAiCIAjiyERCQJLnEUHMPAYGBnDfffdZoei+++7DwMBAw3ZLly61UUVnnXUWVq1aRdXPCIIgDjGSwtTBREclGRoaQk9Pz4S0RRAEQRDEkQ15HhHEDEAIgS1bttiook2bNuFPf/pTw3b5fB5nnnlmSixauHDhtPSZIAiCIAiCINrhu9/9Ln74wx/iV7/61aQe584778THP/5xPPTQQ+TtSRAHiUR74hEo8ogg2mf//v3W0NpEFTXztnjpS19qU8/WrVuHU045BZ7nTUufCYIgCIIgCOJgqVaruPrqq3HbbbdN+rH++q//GldffTV+8IMf4KKLLpr04xHE4YyEbDNtjTyPCGJchGGIJ554IuVV9Oc//7lhu0KhgDVr1lihaO3atZg/f/609JkgCIIgCIIgJoP/+q//Qnd3N17+8pdPyfHe8Y534Otf/zqJRwRxsMj2PI9AaWsE0Zz+/n4bUbRp0yY88MADKJfLDdsdf/zxNqpo7dq1OOWUU+C6NC0JgiAIgiCImc+ePXtwyimn4AMf+AA+8YlPAAD+8Ic/4FWvehX++7//G695zWua7nfrrbfiDW94Q+q9V73qVVi1ahWuv/56+97555+P3t5e3HzzzYD2+Xz3u9+NP//5z/jRj36EOXPm4J//+Z+xbt06vPvd78Zdd92Fl7zkJfje976H1atX23be8IY34IorrsAzzzyDl770pZM0GgRx+KNS1sjziCDaolqt4uGHH7apZ/fddx+2b9/esF13dzfWrl1rxaI1a9Zgzpw509JngiAIgiAIgjhY5s2bh+9973s4//zzce6552LFihW46KKLcMUVV4woHAHAPffc03YU0Fe/+lX84z/+I66++mp89atfxUUXXYSzzz4b73rXu/ClL30JH/vYx3DxxRfjj3/8IxhjAIBjjjkGCxYswO9//3sSjwjioGhPPCLPI+KIQ0qJp59+2opE9957Lx599FEEQZDajjGGk046yRpan3XWWTjxxBPJpI8gCIIgCII4rHjd616H97znPXjb296G1atXo6OjA9ddd92I2w8MDGBwcBCLFy9u+3jve9/7AADXXHMNbrzxRpx55pm44IILAAAf+9jHsG7dOvT396eKyixevBjPPfdcW8ckCEKhIoja8Twi8Yg4zNm/fz/uv/9+Kxbdf//92LdvX8N28+fPx9q1a21k0erVq6k0MkEQBEEQBHFE8OUvfxknn3wybrvtNmzevBnZbHbEbSuVCgAgl8u1daxTTz3Vvl6wYAEA4JRTTml4b/fu3SnxKJ/PN7WRIAhi/Ci/I9bGnmSYTRxGlMtlPPzww3jggQdw//334/7778czzzzTsF02m8Xpp5+eEouOPfZYGxZLEARBEARBEEcSzzzzDF588UUIIbB9+/aUmFPPnDlzwBjDgQMHxmw3iqKG95JVh83f383eEyK9WN2/fz/mzZs3zjMiCIJIQ+LREUoYhtiyZYsViR544AE8/vjjTf+DOu6446xItHbtWpx22mnIZDLT0m+CIAiCIAiCmEn4vo+3v/3teMtb3oIVK1bg3e9+Nx5//PERKwZnMhmsXLkSW7Zswbnnnpv6rL+/P/Xzs88+OyEeodVqFc888wxe9rKXHXRbBHEkowyzWw+aIMNs4pBACIGtW7di8+bNePDBB/HAAw/g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1F7IlN/Q6//222+LrKwsUVJSIo4cOSLCw8OFo6OjqKiokOboQ/3lyG7otc/JyRFmZmZi2bJl4vz58yI1NVV06tRJ/POf/5TmJCQkCDs7O7Fr1y5x+vRpMWbMGOHp6Snq6+vb+VeAiIiISD90qOaREEKsWrVKuLu7C6VSKYYOHSqOHTsmHVOr1WLSpEnS66ysLNG7d29hYWEhHBwcxMsvvyx+/PFHjesB0PqVnJwszamvrxdvvPGG6NKli+jUqZMYO3asKCsra6fEmto7f2lpqQgODhb29vbCwsJC9OzZU8yfP19UV1e3Y+pftXb+qVOnCg8PD6FUKoWTk5MICwvTaBwJPap/e2c39No/SFvzSF9qL2TIb+j1j4qKEi4uLkKpVIpu3bqJqKgoceHCBY05+lL/9s5u6LUXQoh///vfol+/fsLCwkL4+fmJDRs2aBxvamoS77//vnB2dhYWFhYiLCxMFBUVtXFSIiIiIv2lEL80EIiIiIiIiIiIiFroMM88IiIiIiIiIiKi9sfmERERERERERER6cTmERERERERERER6cTmERERERERERER6cTmERERERERERER6cTmERERERERERER6cTmERERERERERER6cTmERERERERERER6cTmERHppQ8++AADBw6UexsShUKBnTt3PvZ5RUVFUKlUqKmpaZN9NausrETXrl3x3//+t03XISIiIiIi48PmEZERW7duHWxsbHD37l1prLa2Fubm5ggJCdGYm5WVBYVCgeLiYhl22n5au2m1cOFCzJo1CzY2Nq12TW0cHR3xyiuvIC4urk3XISIiIiIi48PmEZERCw0NRW1tLXJzc6WxQ4cOQaVS4fjx47h165Y0npmZCXd3d3h7e8u0246ntLQUe/bsweTJk9tlvSlTpiA1NRXXrl1rl/WIiIiIiMg4sHlEZMR8fX3h4uKCrKwsaSwrKwtjxoyBp6cnjh07pjEeGhoKAPjHP/6BgIAA2NjYQKVSYeLEiaioqAAANDU1oXv37li7dq3GWqdOnYKJiQkuX74MAKiqqsKrr74KJycndO7cGSNHjkRBQcFD97tp0yb07t0blpaW8PPzw5o1a6Rjly5dgkKhwPbt2xEaGopOnTrB398f2dnZGtfYuHEj3Nzc0KlTJ4wdOxaJiYmws7MDAKSkpGDJkiUoKCiAQqGAQqFASkqKdG5l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",
      "text/plain": [
       "<Figure size 1200x400 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mode_amps = sim_data[\"mode_monitor\"].amps.sel(direction=\"-\", mode_index=0)\n",
    "mode_power = np.abs(mode_amps) ** 2\n",
    "dip_power = np.zeros(n_wl)\n",
    "for i in range(len(field_monitor)):\n",
    "    field_mon = sim_data[f\"field_monitor_{i}\"]\n",
    "    dip_power += np.abs(field_mon.flux)\n",
    "\n",
    "coup_eff = mode_power / dip_power\n",
    "\n",
    "f, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 4), tight_layout=True)\n",
    "ax1.plot(wl_range, coup_eff, \"-k\")\n",
    "ax1.set_xlabel(\"Wavelength (um)\")\n",
    "ax1.set_ylabel(\"Coupling Efficiency\")\n",
    "ax1.set_ylim(0, 1)\n",
    "ax1.set_xlim(wl - bw / 2, wl + bw / 2)\n",
    "sim_data.plot_field(\"field_xy\", \"E\", \"abs^2\", z=0, ax=ax2, f=freq)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Optimization\n",
    "The objective function defined next is the device figure-of-merit (FOM) minus a fabrication penalty."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Figure of Merit (FOM) calculation.\n",
    "def fom(sim_data: td.SimulationData) -> float:\n",
    "    \"\"\"Return the coupling efficiency.\"\"\"\n",
    "    # best to use autograd-wrapped numpy functions for differentiation\n",
    "    mode_amps = sim_data[\"mode_monitor_fom\"].amps.sel(direction=\"-\", f=freq, mode_index=0).data\n",
    "    mode_power = anp.sum(anp.abs(mode_amps) ** 2)\n",
    "\n",
    "    # unlike Jax version, should avoid in-place operators (e.g, `+=`), use numpy when possible\n",
    "    field_mon_list = [sim_data[f\"field_monitor_fom_{i}\"] for i in range(0, 6)]\n",
    "    dip_power = anp.sum([anp.abs(mon.flux.data) for mon in field_mon_list])\n",
    "\n",
    "    return mode_power, dip_power\n",
    "\n",
    "\n",
    "def penalty(params, beta) -> float:\n",
    "    \"\"\"Penalize changes in structure after erosion and dilation to enforce larger feature sizes.\"\"\"\n",
    "    params_processed = pre_process(params, beta=beta)\n",
    "    erode_dilate_penalty = make_erosion_dilation_penalty(radius=min_feature, dl=grid_size)\n",
    "    ed_penalty = erode_dilate_penalty(params_processed)\n",
    "    return ed_penalty\n",
    "\n",
    "\n",
    "# Objective function to be passed to the optimization algorithm.\n",
    "def obj(param, beta: float = 1.0, step_num: int = None, verbose: bool = False) -> float:\n",
    "    sim = make_adjoint_sim(param, beta, unfold=False)  # non-differentiable if `unfold=True`\n",
    "    task_name = \"inv_des\"\n",
    "    if step_num:\n",
    "        task_name += f\"_step_{step_num}\"\n",
    "    sim_data = web.run(sim, task_name=task_name, verbose=verbose)\n",
    "    mode_power, dip_power = fom(sim_data)\n",
    "    fom_val = mode_power / dip_power\n",
    "    penalty_weight = 0.1\n",
    "    penalty_val = penalty(param, beta)\n",
    "    J = fom_val - penalty_weight * penalty_val\n",
    "    return J, [sim_data, mode_power, dip_power, penalty_val]\n",
    "\n",
    "\n",
    "# Function to calculate the objective function value and its gradient with respect to the design parameters.\n",
    "# Use tidy3d's wrapped ag.value_and_grad() for it's auxiliary data functionality\n",
    "obj_grad = value_and_grad(obj, has_aux=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In the following cell, we define some functions to save the optimization progress and load a previous optimization from the file."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "# where to store history\n",
    "history_fname = \"misc/qe_light_coupler_autograd.pkl\"\n",
    "\n",
    "\n",
    "def save_history(history_dict: dict) -> None:\n",
    "    \"\"\"Convenience function to save the history to file.\"\"\"\n",
    "    with open(history_fname, \"wb\") as file:\n",
    "        pickle.dump(history_dict, file)\n",
    "\n",
    "\n",
    "def load_history() -> dict:\n",
    "    \"\"\"Convenience method to load the history from file.\"\"\"\n",
    "    with open(history_fname, \"rb\") as file:\n",
    "        history_dict = pickle.load(file)\n",
    "    return history_dict"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Then, we will start a new optimization or load the parameters of a previous one."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING:2025-07-26 16:10:43,499:jax._src.xla_bridge:967: An NVIDIA GPU may be present on this machine, but a CUDA-enabled jaxlib is not installed. Falling back to cpu.\n"
     ]
    }
   ],
   "source": [
    "# initialize adam optimizer with starting parameters\n",
    "optimizer = optax.adam(learning_rate=learning_rate)\n",
    "\n",
    "try:\n",
    "    history_dict = load_history()\n",
    "    opt_state = history_dict[\"opt_states\"][-1]\n",
    "    params = history_dict[\"params\"][-1]\n",
    "    opt_state = optimizer.init(params)\n",
    "    num_iters_completed = len(history_dict[\"params\"])\n",
    "    print(\"Loaded optimization checkpoint from file.\")\n",
    "    print(f\"Found {num_iters_completed} iterations previously completed out of {max_iter} total.\")\n",
    "    if num_iters_completed < max_iter:\n",
    "        print(\"Will resume optimization.\")\n",
    "    else:\n",
    "        print(\"Optimization completed, will return results.\")\n",
    "\n",
    "except FileNotFoundError:\n",
    "    params = anp.array(init_par)\n",
    "    opt_state = optimizer.init(params)\n",
    "    history_dict = dict(\n",
    "        values=[],\n",
    "        coupl_eff=[],\n",
    "        penalty=[],\n",
    "        params=[],\n",
    "        gradients=[],\n",
    "        opt_states=[opt_state],\n",
    "        data=[],\n",
    "        beta=[],\n",
    "    )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In the optimization loop, we will gradually increase the projection parameter `beta` to eliminate intermediary permittivity values. At each iteration, we record the design parameters and the optimization history to restore them as needed."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Iteration = (1 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPwAAAA6CAYAAACUGjTOAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAAkJJREFUeJzt29FuozAQBdCy2v+O8uXuE6soygYbDIw957y1AYoxF+zUs5RSyg+Qwp+7TwC4jsBDIgIPiQg8JCLwkIjAQyICD4kIPCQi8JDI39oNn8/nuWcCNCml/CzL8u/nx+OxuY83/In2rlq22pkar2GvJfAn2tMhR/aDLQIPg9ozEhT4nc4cdrcc+3Xb9/1mmxqM3J4o07tUgf928Vov7JnD7pZjv277vt9sU4Ot9kR+IESZ3qUK/LeLN1s4MtKH21IFHrJLH/jIw8BWPacsxPPeh7f8W+5/N1Lr7++y56Kd3Ya9x796ynLlAybaffPNWdelRx8eDvynk3hfATSTtW1n3tC9r13ruW5tv35e+4AppXx9AdSc37e/tRWwXn1Ve5wzHry92lC9tLbFzF+Oreffux1RvvWv2b7n8Xq0+6r77c57t9eLNf0cHkZlaS0kYqVdMFFWVzEnb/hgoqyugpXAw6AM6S+keOZ6I7cnyvQuVeAVz4xN8cxxqQI/8/oA9GGNVIGH7NIHPvIwsJXimbkpnulA8cx+imc+UzwzEcUzime2KJ6p/GwEimcUz9xB8QwkZ2ktJGKlXTBRVlcxJ2/4YKKsroKVwMOgDOkvpHjmeiO3J8r0LlXgFc+MTfHMcakCP/P6APRhjVSBh+zSBz7yMLCV4pm5KZ7pQPHMfopnPlM8MxHFM4pntiieqfxsBIpnFM/codeLdSkjjZWAQ9J/aQeZCDwkIvCQiMBDIgIPiQg8JCLwkIjAQyICD4n8AqPhqXAXkuAyAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 1.0\n",
      "\tJ = 7.1432e-02\n",
      "\tgrad_norm = 6.8739e-02\n",
      "\tpenalty = 1.000\n",
      "\tmode power = 473.968\n",
      "\tdip power = 2764.752\n",
      "\tcoupling efficiency = 0.171\n",
      "Iteration = (2 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 1.0\n",
      "\tJ = 2.2832e-01\n",
      "\tgrad_norm = 7.1512e-02\n",
      "\tpenalty = 1.000\n",
      "\tmode power = 1002.394\n",
      "\tdip power = 3053.089\n",
      "\tcoupling efficiency = 0.328\n",
      "Iteration = (3 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 1.0\n",
      "\tJ = 3.7482e-01\n",
      "\tgrad_norm = 6.4898e-02\n",
      "\tpenalty = 1.000\n",
      "\tmode power = 1478.833\n",
      "\tdip power = 3114.501\n",
      "\tcoupling efficiency = 0.475\n",
      "Iteration = (4 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 1.0\n",
      "\tJ = 4.9571e-01\n",
      "\tgrad_norm = 5.6425e-02\n",
      "\tpenalty = 1.000\n",
      "\tmode power = 1935.575\n",
      "\tdip power = 3249.175\n",
      "\tcoupling efficiency = 0.596\n",
      "Iteration = (5 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 1.0\n",
      "\tJ = 5.8980e-01\n",
      "\tgrad_norm = 4.6824e-02\n",
      "\tpenalty = 1.000\n",
      "\tmode power = 2418.556\n",
      "\tdip power = 3506.185\n",
      "\tcoupling efficiency = 0.690\n",
      "Iteration = (6 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 2.0\n",
      "\tJ = 6.9596e-01\n",
      "\tgrad_norm = 5.4160e-02\n",
      "\tpenalty = 1.000\n",
      "\tmode power = 3059.636\n",
      "\tdip power = 3843.981\n",
      "\tcoupling efficiency = 0.796\n",
      "Iteration = (7 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPwAAAA6CAYAAACUGjTOAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAGnlJREFUeJztXdmO20azLlKUSGqZzXY8dgInSHKVizxVnitvFCCBESCJkdXxlpmxPKONWij+F0df42OpmqTGzjnnx7CAgT0S2V1dXXtV9wRFURTSQgst3AkI/68RaKGFFv73oBX4Flq4Q9AKfAst3CFoBb6FFu4QtALfQgt3CFqBb6GFOwStwLfQwh2CVuBbaOEOQSvwLbRwhyBq+uA333zj/h8EQenfphAEgfvpdDrS6/UkTVPp9/tydHQkaZq67/V7AKsxsCgK94Pft9tt6VkeQ49fFIUsl0sZj8cyHo9ltVpJnuey3W5Lc+q5i6KopAHW0u12JY5jSZJEut2uhGEoRVHIer2W5XIpq9VKNpuNm/OQ5scwDCVNU3n48KE8ePBAoigyaVYUhaxWK3nz5o3M53PvnHhWv897HgSBhGEoYRhKFEXS6XSk0+lIGIal/cNY2+3W/WA+/Oh9s9YHGg6HQ+n3+46OmGu73cp6vZZ3797JYrGQ9Xotm83GzVG1h7494zUyf+mfpsB8PxqNZDgcymg0cvyQ57msViuZTCZydXXl8Nf7UgXffvttLR6NBZ4R/xBQFIXkeS6bzUZWq5UsFgsJw1CSJKmcj5nJ93lRFDKZTGS9XrvfO52OHB0dSafTKT2Pf5Mkkfv378twOJTJZCKTyURms1mJ6EEQeJVI3VrB+Mzw6/V6T+DqlJs19nK5lIuLCymKQs7OzqTX65UYF+N2u125d++e9Pt9mc1mMpvNZLVaOTysdVlKDYx7dHQkg8FAer2edDod9xzWNp1OnfKsEnQ9L/BO01R6vZ50u12nNKMokjAM3Tir1UqyLJPNZiOLxUI2m41sNpuDBVLTVERMpf8+AJ6fzWYiIrJer6XX6zmlWRSFRFEko9FIptOpU8ia594Hl8YCX2V16561Psfi1+u106T4ieO4MT5gSCZCURSSZZljgO1268YeDoeOObU2j6JI4jiWXq8nSZJIHMfy7t07Wa/X3rmaQBRFzvJCCW232z0t7hO0qvlAx/l8LpeXl7LZbJzXFMdxSRDDMJR+vy+9Xk/iOJY0TWWxWMi7d+8kyzJzHk1nIeVxfHwsw+HQCSFog7XBamlFJx6LFYahoz28PxYIKOvNZuO8lOVy6QSe57CUSZ1HpulaR3trLJ9x4P+vVisJgkCyLJNut1tac7fblaOjI4miyK0NSvNDwK0FXn+mBYgX7CMeGIOFDq6+5do3BQgBGGKz2TgcQVyNN6DT6chwOHRCk+e5XF9fS57nJtP4GCIIAifo/X5foihyLjyHHMz4PgaqUzIYbzqdSpZlkiSJnJ6eyvHxsaRp6gSSadDr9WQ4HDpBhxus16Q9IVj3OI5lOBxKkiRmiNftdp2bXWfZhYT9+PhYjo6OHM2sMGG73UqWZU7o2YPwjY+x8MPeyHK5PMj1Z3wYP5+ysWC5XEoQBLJcLp2B63Q6Llzp9/uyWq1kOp3Kzc2NzOfzDyL0B7n0muF50WEYSrfbddqYtT1cRh3/BEHgFgFGgjW9LWi3kt3V8Xgsx8fH0u12S5aPAXh1Oh0ZDAby6aefyrNnz2SxWDimaIJDFEVydnYm/X7fbSzidT2OdmWFGI4ZUb+nvQDQE7jmeS5nZ2cyGo325hKy+J9++qlMJhO3R3UufRRFMhwOJY7jEu6WFwDlWyWMGHM0Gsnp6akMBoOSIGmlzHvLsbrOB7AhgRKHkkIOIMsy+fPPP2U+n8t2u/UqV+vzIAhkMBi4OHy9XjtvA4ZM46OtfhiGslqtXC6m2+06JTocDl3Y9OLFC5nP5wfnkfbo3PRBS9ODmN1uVwaDgZyfn0uapnuJjtevX5eSKRwbCVlkEEovSONgfccAT8GKudnaW16E9lp6vZ48efJEfv/9d1mtVntMq9+P41iOj4/l/PzcfQclBiadz+fmXAEldjqdjlNM3W5X8jyXi4uLWi0P/NbrtUwmE4miyAmQj55hGMpoNHLWnhWy5dVgzy2eYIiiyBR033hJkpQSt769mUwmpcSqNYde23A4lJOTk1IeIAgCieNYvvzyS/n5559Llt6iq8ZlNBrJaDSSBw8eSBzHju+zLJOnT5+WeNknlNrLY08E8nX//n1J01SePn3q9UCahpkHJ+3EEPbj42N5/PixdLvdvWdERM7Pz2U8HpeSRBy/spXyJXJ8eFgJjSAI5OTkRLIsc5sIbczuXNO1DgYDuX//vlxdXe0JfUDx/+npqZydnclwOCy5eEEQyHq9dokZgKWdEdJAgSK8KYpCPvvsM1mtVvL999+7cS0AfkiIrtdrM3vP8OTJExmPxyWPi2kgxr7XAbwMzaSWIMNoNNkfney0mL0oCul2uy6kQT6A8zcAfMdJ3jpgLw65Enyepql8/fXX8sMPP+wl3SzQ/GTRHpWYV69eeWnYBG4VwwcUbydJIg8fPnQMYE0chqEcHR1JEAQym83copgYOlY7FLTwx3EsJycnEgSBs6hRFJXKOU3HhZWYTCaOifk7xFzsjmJNQhYM2lszvnY/u92usxpsZaH5v/rqK/nll19ktVp58UYIsFwuZTqdSpqme98z+EIcHz3qni+KQq6vr51i5881L8Vx7LL9TXCwsteWoWBlHEXRnufABgJ70yRORjUJ1QPLw8H3tymzWsLc6XTk0aNH8vr164PG03ArgecabBzHLung2ywQtNfrOQspSkiRtOFNtyxgXczCm9rv952gbDYbNz4nsERtvChLhP8jSVXs6tkYFzQ4PT2Vfr+/F0pgs8B0EHj9jKYV4jhr80ejkfM4lsull/YIlfAMf34bYCGCRasaD2VNTVM9HqoGWon4EpZcdmuSXPN5DTy+ZfmrAHuqx2Y+SpLEZeQtT9SHs6YTAJUjX0WlCdwqhg9UGauOSAHFpkjkyE7IwRAYS9fhLUFsgivcxDRNXUzLQqcJW6dEkMRDXJbnuVNSg8HAlacsQWahr7OMPgZlpdTpdOTBgweuzq2fEXIT2SOpoyF7E9Z3jB8LvAVFUez1MVhjIeOPGNgah/cfSsy3Djyv42Br/dqIaV6oE0rfPgGSJJHpdGomW/WzQvSvgl6vV1Lghwr+rV16CG+v1/O+U6isLZgeBGBLi/JVkiSVLu9thB6CChys8EHjqudBf8BgMJBgl3WHO4q6qcUw2lUHY/uSQz6B1/ggSw6h8lkwlD59nhGPy4KhvR6NnxZOjd92uy1ZeEuxYn9Qg9b7YdESWXCfq4znwZucrGRlqNely3U+0IpPA4/d7/fNZyyL71M2+lnLgzwEGgs8Iw7BRVzqm1h/hjgfjTBgVJQktLfgcwP19z5gTwSE8llYzVjW9/BChOrMx8fHpVq0Dw8k4/r9vvT7fZlOp+azdSELw71792Sz2cj19XVJuejxrLi0ztJbVhlCAaWpx+J/raQsA8Y5PT0teUcWjux6//XXX3uVHN8aeDzU6rlBSGjfdTPW+4Q9gOPjY5dkq1oXDIGPz4GPL7F3CBxs4TkJAut5CLDQgXGQSf2QwBaKmdPSuPo9H8CrkV0Iws0hTQDWrCrDXRj1dh+ep6enMp/P5fr6utLCN23YYGavUnqoO/vw32w2cnNz4xUaKI40TV1zkI/unIlHI4rPuuFz8BP2vqCyL/fH8/sohR4iSHUJOU7o1UGTMAlKFLmp28BBFp7jN854HwoQdjSl1Gks7d7UaeAqd9Q3V1PLitIahwzSwLUC7VCnH4/HpXk5CdVEQDme73Q6lb3wKA+CoXzZ7TRNJcsy11Vo4d/v92U4HO7RjHFfrVby9u1bE1+MkySJPH782PVt8HOcf0BIkmWZjMdjJ7RakRdF4ayk/h448f5j37D+s7MzVzZuqiChTC3vRCrccqZpoHJiPsjzXF69erXXim2FSlXwXgLPMU+VwLA7EtIBmarsKUNdPFsHTBSLQIeOx7mHpoTGs2iEGQwGrlzIYMXcPgENdt1YZ2dncnl5ae6BJfB6rIIabSy8hSwQMsVaSbE3gY5CnoeZO4oiuX//vvOQrLWBDjhYNZvNnNdQ7LLq3KyDPeEaPY/FNXYWGLyHBC9aseusN+dHfKW5ql4JPIsKBcJOCzabjUynU7m6upL1eu3e47zDBxf4gDLtfBxSKoRdMxSyqzrutxhbj/shYqoqxVFHsMLo5GJCVyk8HV6gjLdYLPaEmRndqljo35MkkeFwKJeXl17PBrS3hEvvEX+vFSVKq1ZIUlAb9WKxcJlkLezw7E5OTkrj6LlhlefzuTvZh45FKLrBYOAOCSEnhBZmdDXywR19gIc7BtErgvEnk8keTTQgTLD2RagtWgPoisQi6vncmIV/EcaMx2NXjoOHEjTsiWA4WOA59q6KXS1hh5bleKWJK68BST/GrWqMJl5ElfBry9AERx9AcE5OTuTi4qJ0doBpNZvNXGdYFb582Mgn7DovoPemMA7z6HE4sWp1DLKQLhYLsykIlgmJTh8NofRg2Wez2R6z43AQV4mKXXddFEWuN14LOR+fhacKvubz6agywL23aILjuUgGarr4TkJi3+I4dsIOgee58jyX6XQqFxcXLjHL9Aqo8vXBBV7HYJZW0fE1u5PYACRMdLKvSkuypSmKQubzuSt5WIxuCW9TV17PpXHS7ZxVB1p8EOyags7OzuTq6mqvTr5er+Xt27dydHTkrSHzXLBUXJ/VrqX1Lv/43FhW0GgusqCgJh9urmLAScSHDx/u0UOUcloulzKbzWQymbgThngOPeys6ISUaRzHJQODDD2egacJoWNjhjbbwWAgf//9t9zc3OzxIABzoG2aQ4SCcjEaR9mV7OAx4Ui2NqCLxUKur69lOp2avQcsi3UJP0BjgV8ul94MJwMLe57n8ubNG0ewqgyvz3Xniw5ms5ksl0vXscc1XD1WU8traWAdShQqicQ98tvtdu/4qU8BaZp9/PHHcnNzsyfwsC5oFqoKReDWP3r0SP744489pSseRazXxS2wlsLE+XlfYgmKqirpNRqN5JNPPvHuD+bCUd/r6+s95REEget70O8BEN9HUeT4kMugKKPivgQ8h3FwK80XX3whv/32W8m6Cu1xsascZFm216nHuRhRhgR3MqDRjA/08P5cXV25+xh8zTtcdm4CjQUeWU7ZdftYhAZAQF++fClZlv3PRDthLyiGr4MtXV309u1bmc/nru0U8RuIo+NdADO7tnqbzcY10KBiUIULXEQ+8QcFlKapOyrZxL2CAnz8+LG8fv26dPQR2vzXX3+VJ0+elI63+gSFG5YsAa8SeFhmHbbw/588eeKlsdBe4Zy6hSPcT6lRyhAiS3EMBoO9zL4GCAFaqnHDDACeUJIk5pFg4IeTks+fPzdxYtrpxisoUh4XYRE6NGHZcckHrwm8CS9FA5RMmqb/joUH8qvVytTizFSLxUJev37trFdAjSeyE3645VWAsW5ubkpdW1mWlbSp1tA+15d/Z9cT2h4HTKpieAi8PmsPfKCxq4DHR4kOAs9CibXD9fPhhTEHg4FMp9M94QbOVrJtS9dtWYdcwLi+bDp/BtfZon+/33ddinXeFw78WGPVla9AI4R7fA+DhXMVLtjP0Wgk19fXe4dr2EPC2pHfYloGKmnLXaqI3bXA1t1xqPe+aS/IQd0uenGihAmbjmuToJ2Y8AFle/X7GnB1E2tWzL9arRxx0QhUZeWFmAFZZIwJYuH2EV+SD8SHVp/P56VsKSs235q0UsLRTYQrLKjb7VZubm5K1x7pMQpKyMVxXGpMYYDL7gtVLEuCvcF5BPEIO+NrZaYDKj9Z+629CuyNNVfTMhSEzpdPEFLSer1CQhqGoQwGA+cl+HDXXpNUlJ3DBpd/arpYwHv/wZN2ehIrLi12CbV3796VmJdjHgh8mqYuftKA5xG365oul65CuraIXUZmZsZjPp876yHkaga7M+vW2QAtHFA4WZa5uZFth+bu9Xq11gOQpqkkSWKegprP5268uiYVfXhHqPRUVVf2WWbGj/MWPtAMzwDm1t9ZXlmVkFq9BJY7HtLNwD6AkFm8zM+wEWC8Akpia+EO6Ioz37gs7Hr+JhZb83cTuHU/q9ZCQHY8Hss///zjdQ+RC0CL6XA49J5Uws2xViOKT+hHo1EpcQJmRmhxdXXlNDf3EmDjdMmP16DnxefcmbZYLNxm+5hEf4ZylyUs8CSQMNM5AlZCYCIWXrQAC5Uzfe9z7zv+xVrwvc9q+cIpUZZU08IyCpaQBlQS5rGs/zP4auGwspbF1lZehzO8Bn30mWmBpDI8VMsA6eYZvKvPKzA+HGqBHz94DM+TsmZkBCy3Tn+Pgw/T6dS5vtz7DNhut/Lq1SsnWJpJC6rta806HA6dO5dlmWRZJrPZTC4vL0s3hPJtsiA+YnlumWWhwBVVs9nMZXsL48gm7n3TYLnNuqdBMy8ncDQjsFJDnzWfoANDYg1VyizLMu/pNlaaTGvNExYkSSKdTsds8bXeYQWvFQQSv3XCzkKklUpApz2r6M7zWpYU3hPfrMsKUd/tgBBVK2UxvAs9loVfQbca/SsxPLshQjE2Mty4NdWHICM5m81Klxxyq2RRFPLdd99VHiKx4k+0IKLby7qyCMJTGEkPHKHl/mjgj66vq6srWSwWexln4ITkFxSPz+Lp2A+W2DpFV6iEGOjKVQOrdAPlFtIdgxoPLRRCSok9JZQILfdVPAxqraHKSwAgy+8LDZqCL95GlYfP4PuEXXZJYu70Y1zgnTFteH7dr7LdbmUymbhbktiT0gDDtFgs9tYguzbi+Xzu9rcJHNxph82CKyG7m02KopDLy8tSCcRaBBCD0MPNB8Pkee7aGuugoNIHspqyE05fXbkwTk4xE6PDC3X+OI7l6upKXrx4UbJyfLbAZ3EfPnxYEh7LrWXvoMpKaneQwwtuIxUlyDwnKwt8zvj7aM4Kx5c0s2jBwHRhelcJmh4fJSiNq/U+WmytcbhF2Mej/PmzZ8/2xgqMPnjtFclOKK0aOu6ch3eg3wuCQM7Pz2W7u5JbezRCxnM6ndZWvAC3uvGG41gIHLLzTc4qs2VGRhaMAoFrMgb/X4cUOsegn9VNNDndOw/FgeQcN4Boqxio7irQYr1ey08//SSff/652SQCvLZ00aNlbYWEybJYOd32m+d5yS3Xa7YAVqgKWFgRHmiB45yItQZdutJxsiUsFp4+i6y9kuvra7m5udmjd0Dnz6vKe7w/VhIRAl93g5IvhELbMM4C8LgAKCYkO609hNBbvQ8WHNxay8IK4RfVo9wUuP7LwlalNPTG6s8P8QyYAdmCFlR6Qx+3NYYOCfj3zWbj2kJDzx1wvF5fd1qgMsEsUGzlgbtFu0Jlz9lC+5SJRautuhLacuurOvE416BdX2tfrRheh0P8nRCfwoLq77k7sy60KHZXrBdGPkF2IZNl2XlMK5cg5OHiPgBL6Qa73orT01O5uLioxLPp33M4qPEGLjefSQaj6ttJ64AZiQlaVR6ytDozsmZqn0b0WXleK7wPnxJjBRGoxgcW3sVi4WJFjTt7SrlxPbSoNlE+tAR8dSVClHLmtVrr4DjTx/xa4K3kHyyn73IPXi/KhJZbD3wsi8Y0tFxcxj9XR2QB+ItCLPB6X/B7nufy/Plz06MJ6IiqVqAaZ529B+Aa9TzPS+fz+bnRaCR5nrvjzz7aNoWDLDzHy9plYQL7hM03pv6syv3k5/R7vnesZy2Xnq27jotFWRH9Hrv6LBAoyXB/AP7l7DsrOl4nLnhERxafZxAl8OzWNaE/72GVW68rAdYeQeB9dxzyGGwwLE8BZUBLEVgWXnsI/HcPND05yVbl1cBqcmVCz6PH8CkvX55AdrmG9XpdqvjweAEdSbfky+d9+ODgTjvteoKxmzQAWAzNiqRK2H2uvPVMnZXXc2tXlWNiXWLUtGAhgDDyfeXW+xwyIEFoufSwRLDwHC9CQHXOQhQT6LUBApW4qxJ4VoRVngI3mlhKlsMX5G20wAe7Rhd9vbO1Zl9YgFNuYgjh0dGRq1xUeTWz2Ux+/PFHUwhFCbxl4etieHxfdboQEMexfPTRR/Ly5Utznw+BZsU7hSy7Z7k6b1wFFoEPsdRNFtdU02m33hL2JsoCJ8TYovBll1rDF0Z+AJ6EZTWtC0cClThEGbJurT4IahJ3PsVoudyWReM1cnlRj4U1nZ6e7llPVkr8jsYl390lwDEtC7vV86HXYq3vUMHi9/S7VaGHNU8cx3J+fl6JR1P8btVpx1ZZSIseEkuI4Y4c+v77ghZ6MZjbh1dBOQj8yWsArDyuhGL6sLCjV4AVBwBttDpZZ1kTnwAiP1B1aWZAScEq11OHQFVWPkmSUnlW01QnS7WlQvY7p3PrsMp63/RnEHZLYPlPhYsSEk1Lzs9YoaTeiyr6anryZ/o6MN8YuvpxWwX0XlfFMlEt63RbAf63Bb9QCZ+Ccgna/fUJO96Hp8OMBwuCkkuwS25yDz5bPStxyELuE3a28panpJVWFV19Zb86paIhqDi5pQV/a9yzJ7tMOicSdclPlCLiveBTdlqgB4NB6aYlLTx4B70NFv6a/nKg8Olnq5SnhtD4U1iHCv579dJbrtD/d9AehV6Hz52rWtuWmpDwLi6rxCEaWFu+cw2brYVdM6qPuSxX8bZ7UNWaqZVfXdjl8xS09fSNxSHMlv52gba0Wvhz+lPZFm4cu4vyTBnvvOGf56oSNp93oHMKTRWpkMDXhcVV8EEug9faFKA3xPdck/H1mIeCtoQ+XCzrzpbAZ0m5JIYf/IEF1IRxl4DOyiOrfOh66tbKONaNpRWJtc6mY1UBW2aL0QOj50DjaOFSVJzHx7uc9KziKVyLba2riXDVxdmW0DeBKIpKx5hv42Hc6vBMEzhUI36IOd8XLIuvv696l8uWsrMUURTJYrEoZai1hbuNxbTwKg4s0ei59O++cZpaJB+8r9KoGksrgTqhsD5nBX4I3odAkzVq/H31/IPmLf4b/PAWWmjhg8DBZbkWWmjhvxdagW+hhTsErcC30MIdglbgW2jhDkEr8C20cIegFfgWWrhD0Ap8Cy3cIWgFvoUW7hC0At9CC3cI/gMOnKMZhxiu3wAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 2.0\n",
      "\tJ = 7.4070e-01\n",
      "\tgrad_norm = 3.8978e-02\n",
      "\tpenalty = 1.000\n",
      "\tmode power = 3716.945\n",
      "\tdip power = 4421.261\n",
      "\tcoupling efficiency = 0.841\n",
      "Iteration = (8 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 2.0\n",
      "\tJ = 7.7138e-01\n",
      "\tgrad_norm = 3.0304e-02\n",
      "\tpenalty = 1.000\n",
      "\tmode power = 4429.873\n",
      "\tdip power = 5083.755\n",
      "\tcoupling efficiency = 0.871\n",
      "Iteration = (9 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 2.0\n",
      "\tJ = 7.9249e-01\n",
      "\tgrad_norm = 2.9056e-02\n",
      "\tpenalty = 1.000\n",
      "\tmode power = 5169.262\n",
      "\tdip power = 5791.995\n",
      "\tcoupling efficiency = 0.892\n",
      "Iteration = (10 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 2.0\n",
      "\tJ = 8.0856e-01\n",
      "\tgrad_norm = 2.8136e-02\n",
      "\tpenalty = 1.000\n",
      "\tmode power = 6042.956\n",
      "\tdip power = 6651.128\n",
      "\tcoupling efficiency = 0.909\n",
      "Iteration = (11 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 3.0\n",
      "\tJ = 7.9742e-01\n",
      "\tgrad_norm = 9.7527e-02\n",
      "\tpenalty = 1.000\n",
      "\tmode power = 7003.191\n",
      "\tdip power = 7803.999\n",
      "\tcoupling efficiency = 0.897\n",
      "Iteration = (12 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 3.0\n",
      "\tJ = 8.3259e-01\n",
      "\tgrad_norm = 3.7221e-02\n",
      "\tpenalty = 0.999\n",
      "\tmode power = 8407.922\n",
      "\tdip power = 9016.226\n",
      "\tcoupling efficiency = 0.933\n",
      "Iteration = (13 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 3.0\n",
      "\tJ = 8.2696e-01\n",
      "\tgrad_norm = 6.7464e-02\n",
      "\tpenalty = 0.999\n",
      "\tmode power = 8736.356\n",
      "\tdip power = 9425.743\n",
      "\tcoupling efficiency = 0.927\n",
      "Iteration = (14 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 3.0\n",
      "\tJ = 8.1778e-01\n",
      "\tgrad_norm = 1.0335e-01\n",
      "\tpenalty = 0.999\n",
      "\tmode power = 8016.955\n",
      "\tdip power = 8736.591\n",
      "\tcoupling efficiency = 0.918\n",
      "Iteration = (15 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPwAAAA6CAYAAACUGjTOAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAIi5JREFUeJztfUtvG9m57Sqy+H6Tkiwbbrcd20gHQZBRkHGSWX5tRj3NKJk0kEnSjUbQQNvtlyxTlPgoFl/FuoPDtbHq0y6K6ptzzr0wP4CgRBZ37ce3vvfeFaRpmuJIRzrSZ0GF/+0OHOlIR/qfoyPgj3Skz4iOgD/SkT4jOgL+SEf6jOgI+CMd6TOiI+CPdKTPiI6AP9KRPiM6Av5IR/qM6Aj4Ix3pM6Lw0Av//Oc/IwgCBEGAQqHg3klBENz6jX7G6wuFAsIwRLlcRrvdRr/fR6fTQa/XQ6PRcG3zN9oGiwLTNMV2u8V2u0WSJEiSBOv1Guv1GsvlEovFAuv1GpvNBtvtNtMHtqf3SdMUy+USo9EIo9EIq9XKtc976D3TNM282IYWLfJexWIR1WoVrVYLrVYLjUYD1WoVhUIBq9UKURRhOp1iPp9jtVphs9m4+9m2tX3+XSgU0Gw28eTJE3z11Vfo9/uoVCooFosoFouZMS4WC7x9+xaj0Qjj8RjT6RRxHGfuq2PUseq42Ha5XEa9Xke9XketVkO5XEapVEKxWHS8kaYpkiTBZrPBer3GarXCcrnEcrl0a8T7ctw6Zt6vXC6j1+uh2+2i1+uh2WyiUqmgVCohCAIkSYLr62s3riiKsFgssFqtsFqt3D184+J9lE95z0qlgjAMEQQBttut6+9dc2XfSaVSCd1uF48ePcKTJ0/Q7XZRLpeRpiniOMbV1RV++uknzGYzty46R3nrAgBff/31HgT/Fx0MeDKwTozvfR+xk2SAxWKBKIoQhqFbuHq9jmKxeGfbtj8wgmA8HmOxWDgmKhQK6Ha7GSDw72KxiEajgU6ng0ePHmEymWA0GuHm5saBP68C+ZDPdcyr1cp9RwGVJIkbU6FQcELKt6i23e12i/l8jnfv3iEMQzx//hyDwQCVSiUjZIMgQKVSwfn5ORqNBprNJq6urnB9fY3pdOrmzQpFy7hss1wu4+zsDKenp2i326hWqwjD0AE9SRJMJhMHuuVyidVq5UBvBQzHzHsXi0UnSKrVKur1OprNJur1uhNoSZI4Ab9arZzgnM/n7n4U+lZo5fEVabvdOkFhBadPAGubVpDodZvNBpPJBMViEavVCr1eD+12G/V6HYVCAbVaDefn5xiNRk5ocSwW7D7+uIsOBjwXUoGmWlK1vZJPM1FSLhYLBzi2VSwWUavVbml6S9oPZVKCaz6fOymZJIlj/Far5e5ZKpWcViqXywjD/5qOKIrQ6XRweXmJDx8+YD6fZxjet9B5Ej1NU3e/zWaD+XyeAQUZHwIwgp732reoaZpis9lgOp3i7du3SNMUURTh9PQUrVYrA/xiseg+q9fraLVa6HQ6ePPmDYbDoWMma5lZDcg1Oj8/x4MHD9BsNp1m53WbzQYAsFwuM9pdtbpqLbZdqVTQaDTQaDTQarUc6Gu1mtPoaZpiPp8jjmPEcYzZbIbFYoE4jh341+t1pn21iHw8ZUFEPiKvWqszT+Hwpdrf8sdyuXQKaTabodfrYTAYoNPpuPE2m03MZjOMx2Pc3NxgOp1mLL99Smgf/WzAE0B8WeBiJyXJ1HbwNMPn83lGaJRKJVQqFS/gFWx3Sef1eu0YYL1eu+8qlQrK5TKKxSIqlQqq1SoqlYrTGoVCwWn7druN9XqNi4sLLJdLN9E+ZvERx1Kv11EqlZxGsgJQx0TrhkLAx4gk7UeSJI6JptMpVqsVHj58iF6v54DI66k1O50OBoMBgiDAbDbDZrPxuij2nqVSCa1WC6enp+j1eiiVShlLgryy3W4xHA4d4NU8tWAMggDlchn9fh9nZ2fo9/toNBpuvUqlkrsPxzibzTCbzTCfz7FYLBzYfW4RBVK5XM64HgCcRUAhYc1n5XvyqZr97Bd2go7upc+64HzGceyEYJIkCMPQWTC1Wg0nJydYLBYYjUa4uLgAACfIfO7koXQvwNsB0x+vVquo1WpugcIwRJqmDtBckPV6fcvvWa1WjknCMEStVkOv18swmNWid5EKFDIAAIxGIxcrKJVKzlSk5lBGDYIA/X4fv/rVrxBFUYaBfBrYmqSlUgmnp6doNpvOX18ul5jP59hut5k5VH8/CAKEYeg0iwLFxiP0b2W46+tr9z/9UL2WAAvDEK1WC7/5zW9wcXGBxWLhFWj2XtVqFf1+H61Wy5nxOg72p1arOeHrixFwrjlfnU4HDx48wOnpaWZd9BWGoRNMGrOh6atzpeNst9vodrs4PT3FyckJut0uarUakiTB999/j3fv3jmBCSNoYVwanfN+v49ut4tGo+Esj+l0itFohPl8jvV67eVf8gytUbpV1O7FYhHdbheDwQCDwQDFYhHT6RSLxcIr/A/FxsGApzTEDvA0iev1Ok5OTvDw4UM8fvwY9Xod2Gmc1WqFxWKBV69e4ebmBrPZDHEcu4Uh6bVWA/rImlLWxGL/fOY3zTNq32q1mpH2EN+rUCigXq/jF7/4Bb799lvHnD5QkKrVKk5PT/HixQuUSiWsVitnmtGHj+PYLbiNKTCgWa1WXd8YkPrhhx8y9/aZlwwuRVGEq6srtFotdLvdva5HsVjEF198gU+fPmUY1DdG+u+0WuycKXH8NujkW19quHa77dwrK0j4P014dRF8wTS2S7A/fvwYp6en6HQ6GeXUarUyAeAkSbxWnAr4IAhczOfXv/61C75hZzH89a9/xY8//rh3zNb8x05Aq6WscZeLiwtMp9Of7b/jvkE7iHYn2Pv9Pr788ks8ffrU+Vfa+SAI8PTpU3z8+NEFiKIociYUxHfVBbP39U2Wr48ETr/fd5YFQdJsNhGGYcZ/5/8KCAUPJe35+XlGC6pQKJfLaDabePbsGZ4+fYqTkxMEQeAsnNFohCAInM/GOaKloPELmtpnZ2f48ssvUa1WEeyi0HEc4+3bty4aa2MpNo7BoOh6vc5oeR/oX7x4gX/+8597LSq1xNTtUm1t3S8K932MXygUUK1W0W63nWuV14dCoeCNB2jwj/ei9UkXhBkSG2+o1+tot9uo1WouW+LjOxvLqFQqePLkCVqtlgs6M2vyxz/+EX/5y1+cm2CVj7aplqP2S8fcaDTw29/+Fm/evPlZQCfdW8PTRKKU7/f7ePz4sRuwBQwB0e/3M5PGwXEyNJWjgIfx3bHHfNF2aXYGQYAoigAxb+l3Kdh9C8zPwzBEp9PBeDx2mgC7hahUKuh2u3jw4AGePXuGk5MTl2YhILbbLeI4xnQ6xc3Nza1xWOHRbrfx5MkTZ9rxmlKphKdPn+JPf/oT/va3v2G1Wt0ypTV+wjjGdDpFs9nM3NfOoY2/wGPKc53oDun32h6Bf3Nz47IQefGHIAhQq9VcgM7H8Pa3BLsvYu0L0oVh6F7KZ9oPje1YAWqJAqparaLRaGTWiAKclq+meX2gty6hXQNSGIZ49uyZmx+LkUPp3j685tG5UHbx4Qnu0Uyt1+uZxSB4NGKuE3eoNLPmPE1EAi9JEtcHBTv7R8rTatQC2+0Wy+XSuQXNZhODwQCPHz92Zp32m5YQGZqC0UcMAjFtpkKU7dXrdTx79gyvX7/Ghw8fnAlutT3EVVoul5nx+XxT37jt3Crgab35fosd6JXZ1QdWxUDwNBoNN3cwQPAB3ucm2LFpn/OySDr31tq763rN7FiFFASBC2jqmO3c2t/63Cm2x2xFHMd39i+P7qXhuUAafWaxjHbYTnggxROVSiWTG6cvT/OrWq1m/Jo808rHoBb0lUrFScL1ep3R8D7tnsf0HHOz2XQAS9MUlUoFrVYLg8EAvV7PpcD09xqMrNfrDig+7U7ByGBVsVjM9ImCpNVq4eXLl5jNZhiNRrfGT2Lgj3ELX6BHzfE8htR5pbC344AxebfbLT5+/OitY7DCiXOjwjCVjIgteGJkO09bwgSWtc08BWKzTHmg1znKEySch3a7nalN0Ln1xTx8c2/J8ti+tnx0b8BTwlcqFZfe8XXaZ9rT96NWp0mPnbndaDRcZJcFD9T0Orh9QQtNmdBaKBaLWK/XTqhoUMhqHAscFVi1Wg2bzcYJKlbQ9fv9jMazc0EgM7+s487TnuyfFuHwehbYvHr1CpPJJLfvqWQrlHwmsI2e277ZtVfA+6yEzWaDd+/euXv7lAB2DNxut9FoNNyY1cSFgCvdRcGXy+Wtvtq/tZgLkiLWAJn+Touw8hSYb221Has41Erb99tDPlc//9Df+OhgwDMiS9DSvGAKzkpFa7YFuyAHJ56My0FQePB3zN/TZLID32fG0TwjUUNbwFtg32U10CXgtcViEYPBwIF4n4kbhiHq9Tq63S6GwyEmk8mte7DfTBHm9Y/uxOPHjzGfzzEcDm/VLahZryY9RHumpkSZfrEFOtvm2tMtUlKBkSSJy5FbrWnH++DBA5ycnKBer2fMY58vvl6v8erVq0wgNjBujF07SNWcrbzTdaIwU6vvLiDt48E0TdHpdHIBrwKCMZG73I7Uk/69Lx0MeEpfdk6DFj7yLbBqerZJk04Le8g0HKStzUaOptd7UMtDioYYzNN6byukfC+IIGF0GoCL+qq1QLL9DHb5a5ZRTqfTzD2tD8l7aM5f2y8UCnj+/DmiKML19bW3/9gBXjW81e5aHEUNaFNhgQRqm82mi0prO8ywbDYbxHGMn3766VZ8QdefNeVffPEF6vV6Zt1TU0nGXPtsNsPFxYUrPiFIaQ2SqIgKUtHIGog4jp0Vaflbg7mHgE9z/rRAdI1UcPvwYf/XMfiIQsvX/0PpYMBTs9Gk040LlhQkfC+YqjzsFkav04W2ZYS+emZfFVMgPjz/1+IOXdA87e6zVhSY/Iz+ttUKPqEEqQ/v9/v49OlTxgJSoUafm33P0zZqsfjApaAnWbDztVqtUKlUvMU3BFatVnOFICyAgWh3lkuPx2N8+PDBfa4BX7bT6/Xw8uVLF7NRC4OCgy/WaEynU5di1JoF8mEYhi6lpkKT/ZpOpy5wzFJd0mAwwGg0cgrhEO1uK9+sFeaLMVheVSFIixfGAuAYvvvuO3c/5XXcQ+Pfy6TXoJJW1OlgLdhtbpYBLIIYwoQQgFqmZD28Bb1Pw9uJ4MtG5+8y2/R7O8lcpH2BP2uaMo3X6/XQarUwm80y7XEOWUnGz/XeMFZDt9vFw4cP8ebNGy/YU6lvUP9YNTMr+vi9umgFU2TVbrdd9WAgPjwBG8cxxuOxiyTb2EO1WkW328WLFy/Q7/fdeBXszC6wVj6KIvfirjxWd7Iib7Va4dOnTxgOh1gsFpkyYdYkYCe8yL/VatWtH4OyrVbLbW7ZxxvsdxzHrjTWfq9KKw/suiOPMSsf2K+vr/Hdd99hPp+7jJNmme6ySEgHA55BGhtU0gH5NLv+zcGUSqVMMIqMo8LBmoo26uoDmDKp/VzTdfvAbsegtE+4WHPems78HdOFp6eniOPY9UvzqywsqdVqtwBs+9FsNtHv9/H27dvcvqum1blVYcrdWKphIHnsSqWCZrPptqXCCCC2EUWR2yVn1yAMQzQaDZyenuLs7AylUslpLLUEmPqczWaYTCauXp7ACnZlz7pNNkkSVz03Go0wm81cDQDNbvKXZpm0oq/b7TprgkLLglXndr1eu8ImLc0m5dXSsx21lmm1WIXBjTavX792lZCKN+XpQ+hePjw7SU2pEj41kWIYwGuKSCfHgoikUVUIaNX/t4NUsPveNRLrExjaDjwa1UZ4IVkBS6mJfCuAqtUqzs7OcHl56fxPMjuBM51OM9VseQKFmleLmHQctt8KaNXwum3XB1RqZu5DULeDgF8ul4iiyO1SVMFbkCKlR48eoV6vO0HOvqvPPZ/PMR6PMR6PXfUb/fVKpeKCfeVy2fHW2dlZxirS2IT629SsrCEhT7XbbdcXVoSuVisvHqjhJ5MJlsulWyvlBVbZ+bQ740m6gYvxGmKJG6Jev36NH374wfVFXUHGQ+7y/0kHA15NTDKoMg1ytCO/5+4g+j61Ws1NxNazF1vNRJpnFDhJkriNG2pSW6FjzWE1gXw+1r6xW21t/bW7fqO/C8MQ3W4XZ2dnuLq6yvSJ2u3Tp0/odrsZRrAA5mc0ubVGIM8i0PneygYdLRm2Aoqa+cGDB2i3214BRD+ZgTH9DjtTmm08fPjw1hkAmhLjdt/xeIzJZOKEB3mJB2GwopH3KJVKaLfbrtiIW2aVf9TK5K5I5Yd6vY6nT5+iWq1mzlTwrS8BH0WRi7KrEtTzGKwQZU2GxhQKuwIxrmsURfj48aM7tMSnbGh9WZcijw4GfBzHblGsj60DUd85SZLM1lL+3qbEdBILplKM0dXpdIrJZIIgCDAYDLBcLl3hjxYjWCAr49rgmHVF4HFH1ELRzRUUXLb/+r41td06R+VyGS9evHBAU620Wq0co9tiFPWZyRzVahWPHz/G999/f8vqstpdf2+DYj7AQ05pYXTe1hCQ+efzOaIoymyMYlthGOLk5AQvXrzIzJkV0NhFo29ubnB9fZ3Zi87x9Pv9W3zItiqVCjqdjtuwxO/n8zmwEzxpmmIymWA4HLqycKVCoYDT01P84Q9/wNdff43r6+tcKzSKIgyHw0yVIHmfc2HdXebnWYHJKkwVagDw5s0b/PjjjxgOh5lNZdoWAa8ByH10MOCn06mTQEzNUTtoSoKAXa1WeP36NabTqStWoc9iAyJ5AKRp9/79e7x//x7T6RT1et0VXqjWZsTfam2fS0Am5fbKIAjQaDT2an3ViHyFYeiASSlN5vGBXrU8I/bPnz/H5eWly5UT8EEQ4Pvvv8fz58/R6XQyANY+EBAsCuK8ULht5ego+9L8u9XKKlDCMMTLly9dWbT1S8ngFM56xoG6Hpwfq/UCk8WJoshtI1ZK09QF6lKTulVeYkEU5ySKokx/qLwYCNRTlrRfrVYLv/vd7/DNN984oahuE4X+zc2NAyzjAhSAOgbyKQPX3B2oB5UkcmTbcDjEaDRygUGlxWLhTHmmyA+hgwFPYHDSWWyiARFSFEV4//49Li8vneagH8i/+T/J+t/YBT24t3g2mzlmp/RmxZct2rBpKBjTMd0FQ3RTAxde89++rAD7QMbhvEAYUmvgrYaHsYROTk5c4GdrKsDSNMVwOHQ+p4JcrQ0yYa1Wc5F/1ZoUbBy7Bf1ms/EezMG2sYuZpCbrANE2W9n3bseQpqmLgPt2ROqccC2iKLo1H0o+FzCQ1F+z2XT8pvfQ39O6US2sQj8MQ5yfn+Pk5ASfPn1y/AITH2HsgqClUNMUGsStpMJk5SVTgdTwmkYk2H3ane8MpB9CBwNeTSv6aWRC9ZXX6zXG4zHevHmD2Wzmij7CMHSamflT7bhqeYKNgGe0lNqcaRYeqsEJYSWfD6SpBO7YfwKF99bgC/ukATU12ekvM50FMbFUy/sCdzpumna6lVdfrKLrdDpuHRToGowql8uO0XReqcGtzwsBtjU9VRiQgfPSTL7goLavQp73se2okJrP5xnBoW1p7MgXLNWAWBiGt9YHRhBtpfLTl92p1Wo4OztzwcM8V1RPugmk9sPnIjI1qMd22QyKHt6SJ7RIGsy+iw4GvPqBNG8ajQY2m43THNvtFtPpFBcXFxgOhw6M7BQjwTRpNM0C2RzCCDylHIWK+t+JnFSr1U6++ml1FebzOSaTiVuYguxB5gYbCOPYgxh0UQgUjaQT8FwAn19sF425Ze6V572T3cEXHHelUsloeGva6z05Po6f65W3tnmBKc7rYrHIaEAfWCGaWN91DhLZG261NtthztwHrEA201gtr38zkLU1dSD2fnaN7PfF3dkKyqcK3sBsotHx2qo9/Q19b9+ZDFspPtMdgb75yOOpPLo34LHTMgQZGYWdevv2LV6/fp0x9dkpSqxgF6Wk6aWpFJ2QyWTi/CAFnoJeGZ4BLP1eD0oIw9AFcjQvr/+TwQumpNRXisuUkJavsv+dTiezgNas10WjkKIfTybS/nBPPszhlzRL7WEi1M7b7RalUsm5MBpvUQDb/lmTP4qiWzGQ1BTowJjeypB0KxjzsddCzHrGMHxMrspFtbxeT7PeblVWUkGvlonV4IXdwacFz34AjUtRwOh1jMCPx2O3Pmpt2j36yi/7hKLS1hzvfRfdKy2nHcaO8awgiOPYRUStOctaYBYqUJvyJBouXrFYxHK5xMePH29VMVk/TM1V1giwko+HWF5fX+Pm5gYXFxfo9XrodDrOnGJ0k4JkPp9n9mYzdaILQ/ON5cY+S4J98Zn01lIgGFiIo9ZFImeesU01w/Ws9+12i0ajgSiKbpmtPBJKx2vdFboUuub0UafTqYu7WHCT8X3VaWmaOsHInW4s4vJpXJ85rNYC3QudU592U0tL5z6V1Cgr7WCEk+2P7htQLU9Llbv9lE+CXSBYlQXnmK6wWgfWSlLFlgf6VKr9/uM+fCJbWiFg42kqQRBgNBq543RhTBMLeuzMLn6u1U9pmuKbb77JaD/LBDpgVmUlu7PQGTll8UQURYjjGNvtFjc3NxmAqlnG4o9E9uvTTeDn4/HYpQTJuLowulf77OzM6/Pa/rMUFJL+JNgZ++B5f7yXBp34YAfr99I6YcyDgTtqaY5N06Q2VsExjcdjx1SagoKcc+erNktNYIt+sL0nie5DQao47ZjUpNc+KBgLUvpsFRM3MbGWAx7Aa5/IR1uzk5APx+Dx0nZTFotq7Fbn2WzmThZWHtR707Ko1Wq3tjeTaHn59sjn0cGA19NlNbLLCQGAjx8/uv3ZkMW2aSkC5+PHj05jVioVxHHsnh6ifvvWVImRUhNl5nVaAKKBPaaO4jh2jE6mIMCCIHBFQqxzHg6HePXqlau8IpDU9Nb+0MQfDAZe7a7WEoteKChodtONoVDQiLmafhy7HjQRmPQi76OZADKlmr7w+IWpOX2YzKvjZnyBKVddK7bB2vj5fO6CmnbTUSDpOR8DMxvDuSjKQaU2nsCgrrqLvEZPFSp6Di+19Pe//z2TjeH46/U6er2eE/5WW+vORysI4zjGZDJx1iaMkAmCAM+fP8dischspbbEIPl/3KSndtE0D00dSl3daaXmpAU8Jf5kMnGn3NJUZFmjrZ/feopH9B6JbKvUp5xY848AYURe9+hrXpdm7GKxwOXlpSvv3Eo+fis5b+0j5+df//oXzs/Pc62TRJ6cojXlSoGp6CMTsa/qw1OTb81ut63k7q2vSsvKx0ycM+0nNZZaNurL+k70Sc2hmuoW2JJQWh20VnTsqgBs0M6C9erqCldXV7csF+bCqT1V0FlBSWFHF0m/pwZmqbEFO/vLvHtgsgDz+RzX19c4Ozu7teYcLwvLePqvj9hHKt276GcBniWLqol8C6Cd2pqqKC3UoNTWlJv1d2EWxTKUWg8bz/O49DqCxAoFgojgp3Rl0EU3Q/D3DBzZ7a3c4dTpdJwVAQGwCh9qeBvcC+Skl4LZ/KPzyPulpgYBBnA2nxtIisgCT+c3kTP+V6uViyynUjNBf9Z3viEkgEqry2ZnCBa6B7R4lNTH1xJUy3NBELiyXP0dzXAtdlHNa7VkkiT47rvvMv3QPrMNG6zTV61Wy1gipM1m41J9vvY5p4PBAA8fPsTr169vzQWM4jiEDga8prFoElvTE7J4yjAwoIfxv5mGISPbIhQb0LD+FtsOpFLJAl1fG/N0kMTzYECasfpgSgoH9dF4LJcu+Eb2ic/nc2c6Wq27Wq1uPaSDfdS4hYJdz7rj/FuTX0ktoK2p9mOfaY7aIBlJAa91D6nJqlAj+fpgAW83BmmfarXaLWtRA1wcB10wC/p0VxQVx/EtzdpsNt3z3PSASUu0FP/xj3/cstDYJktk88Ae7CL1eUFnxpd0Z6ReVygUcHZ2hsVikQG87a/PMsyjexfeaOCHk6+1yJpO0g6phg0kFUTtxAKJrdmMk2dq2v9Vk1m/2Wde2hy+gkHNfqaS9Hpew0W30VjNLMRx7E50CTzRVT6cw26l3Eoul22XzDPw+E6w2/JY61Ylnt2H2Pm0oTl9Va0pzQiokOS6E4ytVgvtdtuto10X1m/M53Nn1tsIdRAEaLVarv5CtbgCPpFt09aMpmDRVCmv6/V6zu/2pVq1v5PJxCtE2Z4+7dj3gjn1xmr57a5uJY5jl3K1/K4P/dCgrA/0h9C903IEgy2CIcPsm8Q8zczinYLnAEMY8yVvcD4zP28ceWY/NdfGPPyQ7xr4oslpH7HFuAb9Yi6SahrGO/hoYz2wQX1RjfAywKjFHNSSiac2XefBCjS9ViPsdq2tG2SFpK4PAUBrxpbYbk36MY7jW7sdyTf9fh+j0ehW0Qn7yPWzVhP7/e9//xuXl5eZuee1X375JQaDgQtU+pRKuitp1gd+WH4synFnFuRK+/aqp2nqMgA+4py022388pe/xLfffpvbzqF02K55T+5PHw21MU9ALeacApOa0k3cwZR5i4EcUPvMd9/kbKVKbiMPHrSMzZe9luOPogiXl5cYDoeZXWK6R91WW1FYjMdjXF9fu+ePbXMKc6x/W5CiEgqZRE50gWEAdVNsfECBxpRb3pyqNWaByH5pzYIS+SSRc/JtYFX79eDBg4zVFEiaTX14tQ4piOI4xvv37zGZTG5ZM+fn5+j3+5mTbnxkraG8dbF87qO8jAOJFmQeaGnxfPXVV5nPfi7d++mxpMTUcmuaJg/sMKAn3QXSvOt9ktXHsJb2ab2t2Qari5+YDSub3X7oDx8+uPhBq9Vy57bzYR3KqMvlEjc3N5mHDRIIeggFLQQFVMFs8dV90L5xUjDx7AE7x2oq23PcrLVg58InOFguyr0B1ppTYUmw2/r+YBfoajabzixnvETnkS4VpMBrvV7j6urKlU6nps6CB2baYhzLG6yN2Edqkeg8+ayBfcSArb1W8UMhX8ipGrwP3evEG+0AjCS0DLIP9D7KA/0hPvx9vte+2CCiCgELep+mTHfpu8lk4kz59XrtAkKa+qEZz8dNcYecbZ/k8w11XpUJ9o3VF7y0c6Tmsv3OCkM7bzBrrTUKti957pR1D+i38lDNdJf61bJejfXQrdlsNpnn/0GAWdo9zTfv+QE6bqZk88i3JsgB+12A92VPbBuplOJqEc7P0fT3OtNOF19Bn6c5lCyj3bez+7R43mf7KM/836f9836zWCzcM+PIzO12G+12220BZqUZz2jTZ67Z6LlvzPpZIDlpBfw+q2of2CH58Ly5taD39Qti6trf69wm5lhs279Qnm7DlK8tA1ZBsZWCK6ZQt6bOnkFF3SJsg2iBlBjzsBU7Dp9Cy5uL+9A+/uW9WJKb16dD6F7HVKs0CkxxBYQx7kt3/U4neZ/2v8+9fdbEIeD2XcdAJqO69CcfPnyIarXqItPT6dSd92bLjX3bQe8ia1beNS/75nkfc++bM9tGINH/vN/6hKoSXQymIIuecwhTCe6qu6RPpUmNSa+ZpUDSffb+LNW+az72CedDBAPuWBPtP9OV3Kfiu88hdC/AM7lvo+iHAu3nCIP/Dvo5gsH+ba8h0LmNlJr+97//vcuza1rvPzEX/zfBm7vaygP7Ie3kCWjb1j7BoTELH1P7rBZbM6/kK2/No8TzeK5Dhep/Yk1SE7Dm/4dukNlHQfr/CgqPdKQj/bfTwWm5Ix3pSP//0xHwRzrSZ0RHwB/pSJ8RHQF/pCN9RnQE/JGO9BnREfBHOtJnREfAH+lInxEdAX+kI31GdAT8kY70GdH/Act/GXqDKALjAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 3.0\n",
      "\tJ = 8.3701e-01\n",
      "\tgrad_norm = 7.7907e-02\n",
      "\tpenalty = 0.998\n",
      "\tmode power = 7685.024\n",
      "\tdip power = 8203.539\n",
      "\tcoupling efficiency = 0.937\n",
      "Iteration = (16 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 4.0\n",
      "\tJ = 8.1204e-01\n",
      "\tgrad_norm = 1.5668e-01\n",
      "\tpenalty = 0.983\n",
      "\tmode power = 5820.384\n",
      "\tdip power = 6393.784\n",
      "\tcoupling efficiency = 0.910\n",
      "Iteration = (17 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPwAAAA6CAYAAACUGjTOAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAIq9JREFUeJztXUlvI9fVPVUcijMlkhp6Qrc67jYaARIgq+yTRf6uF9kEyM6LIMjGsA04Dhy3WrbUUlOc56HqW3w8D6euHtVUkHwDmhcgSInFV2+4w7nDexUkSZJgT3va0ydB4f92B/a0pz39z9Fe4Pe0p0+I9gK/pz19QrQX+D3t6ROivcDvaU+fEO0Ffk97+oRoL/B72tMnRHuB39OePiHaC/ye9vQJUXbXC//whz8AAMIwRBAE7j0IAneNfrZ/8zeZTAbZbBZRFKFer6PVaqFer+Pw8BDlchmZTMb9Tt9ZEJgkCZIkQRzHWK1WWK/XWK1WWC6XWCwWmM1mmM1mWC6XWK1WiOPY/Zb91b6z7fl8jk6ng263i8VigfV6jTiOsV6vU5/ZHvug/dJ3HW+xWES1WkW1WkW5XEahUEAmk8FiscBoNMJwOMRkMsF8PsdyucR6vU6N1b70PmEYolqt4uzsDG/evEGr1UKhUEA2m03NZZIkmE6nuLi4QLvdRq/Xu3NfO8Y4jlPj5bgymQwymQyiKEKpVEKlUkGxWEQURcjn86l7sw3fGi0WC6xWK7eOej/2mXMYRREajQYODw/RaDRQqVRQKBSQz+cRhiHW6zW63S76/T4GgwFGo5EbG+9j10/HRQrDEGEYOh4tFArI5XIA4OZH+c7OkZ0v234ul8PBwQGePn2Ks7MzHB4eolAoIEkSzGYz3N7e4vz8HMPhMMXHvjmy/f/Tn/70UTneWeBV+OxrV+KEcLJmsxlGoxGy2Syy2SzCMESpVHLMou1boYdHwWj7vV4P8/ncTVImk8HBwQEymQywWVgyZiaTQbVaxeHhIWazGQaDQUr44zhOjX1bNbJdAN43SRI35sVigSRJEAQBlsul6yOE2Szj3Ff9HMcxJpMJLi4ukM3+93JS6Kl0qOCiKMKjR49QqVRwe3uLdruNTqeDwWDg7qdzzt/ZPoRhiCiKcHx8jJOTE9TrdRSLReRyObd2q9UqxbTz+dwJ32KxcIy8Xq/vKBQqlVKphGKxiGKxiHK57BRmsVhENptFHMcYjUZOeYxGIyfo0+nUCbpV+pan7fxyvWazGVarVYof7ZpwjskjXD+uobYJAMvlEoPBAO/fv8dyuUSz2cTBwYEzdsViEY8ePUIURW4ss9ks1Z7P4OxKDxJ4+9pm5X1Wj5/jOHbMToEnU1L4isXivQrlPoXDxZpMJhiNRs5i8h61Ws0pmHw+j3w+j1wuhyiKkM1mkSQJxuMxDg4OcH19jcvLy5TwWSUEY4n1by5+JpNBGIZYrVaYTqeYz+cAkLISigh8zLLNYgDAarXCYDDAu3fvEAQBxuMxjo+PUa/XEUWRW6dcLodarYZCoeBQR71ex7t375yFj+M4xbQ+Bs9msyiVSnj8+DEePXqEarWKfD7vxsmxhWHohI6CTmFX5KTKplAooFwuo1KpoFarOQEvlUrOoidJ4oR6Op1iNBq5z5xfVSgqjJaHIIbCChX76EOFVgZUCH1IRddxPp87gzQajTAej3F0dOQEv1wuo1arYTgcotfrodPppPhF7/NQ2lng7YApQCqouuA6YeykCj0ALBYLjMfjFLPncjlnne4TeB/ppFOhTKdTrFYr97tCoeCEm5CUUDSXyyEIAlSrVRwcHKBWq2G5XOLq6uqO0GOLhdBxZjIZ5PN5Z/3W6zXm83mq/3q9Cjw2gqwW0Aq7thPHMfr9Pv7xj3+g3+9jsVgAAA4PD5HNZlPrlslkUCgUcHh4iKOjIwRBgOFwmBJAa81U4PP5PKrVKk5OTtBoNJxS4fqrNWy32w7KqxByXHo/wvaTkxM0m00H23V9MpmMMxSTyQTD4RDj8Rjj8Riz2Qzz+fwOfMcGSlPJR1Hk/gZw57eKCnzuoIX97FeSJM51oVIn71k+nU6nWC6XWC6XSJIEuVzOIZhSqYSjoyPMZjN0Oh1cXV0hCAKHkHyuw660s8ATCuugaSmplcvlsvOp4jh2Aj0ej1N+Iju5Xq+xWCwwmUxce6VSKTXBFkZbK+sjKhtlMgDodDpoNBrOItH/5KLRshFiNxoNvHnzBuPxOCV49E35TlJLlcvlcHR0hFqthkwmg+Vy6awSr1Hm4RwzxrFer52gkJHYL5+l4Xwsl0t0u12cn5+7flCBKtFS12o1/PrXv8bl5SWm02kqfgCPUqPSbDabqNVqbr1V0Pl3qVRy/rv6odaXhvi2jx49wvHxsYt1UND5TsVJSzmdTt280n3Q9jlOxolOTk7QarVczGi9XuO7777Du3fv0Ol0MJlMtvrjqgTZLtuqVqsOHQ4GA7TbbQwGA8dPPreBhmk8HmM4HCJJEhSLRVQqFeeCtlotNJtNZDIZ9Pt9TCYTr7u3q+A/yMJDgjbUluVyGScnJ3jy5AmePn2KKIrcQObzOSaTCd6+fYtOp+OgFwXfCieDOVar7krKbIo21CITotHykqmo0DiZbKNcLuPly5f49ttvU0LOxVdEkyQJoijC0dERXr16hXw+73zLfr/vtP90OnXKReeXSo+uBpHIer1Gp9PB999/n+qbHTfHuV6vMR6P0W63UavV0Gg07giuvmezWTx//hw3NzdYLpfeuIn69VSWDGYpWSFWCG99TnstYTwDf6oQAwkW0oD43ARFRWy3Vqu5QNnp6amDzowF1Gq1O4rJwnLb3yAIUK/X8eTJE/zqV79Co9FAPp8HAEwmE/z5z3/G3//+dwyHQ8cvPkokvkO+VKTEuEu5XMbl5SW63a4Xee1KDxZ4TjqF/fj4GGdnZzg7O0Mmk3FBM6UXL14giiJ0u91U9FSDYeoC+HwTGyzbBnGpeZvNpoNpnPBqtYpsNut8doVjbN/GI8IwxMHBAU5PT3F1dYXZbJZihDAMHRw7OzvDixcv0Gq1XJxiMpmg0+kgm826v2HcD+13oVBAvV7H8fExnj9/7qwz4xJv377FH//4x9T9fVkHxgvG4zEWiwWiKErNnX1/9eoVvvrqK0yn05RysIzK8ZZKpZSS8cUwaIUtRNZ14xxz3FEU3ckuWMVIY0JIbLMovFcul3PuVLVaTUX21c0pl8uo1+sol8sYjUaubR+phY+iCC9evHB8xf5VKhX87ne/Q6fTcUFZH79aJEH5si5fEASoVCr4zW9+g3/+859b+X8XejCkVytULpfRbDbx7Nkzp+0VrioSaDabd/xI+i/WIvsE2Qq7/d7no9KyjcdjAEj5b/ThbBrQts3x1ut19Hq9lEJjtJoK4ezsDEdHR4iiyDEcGWE2m7kgDIxQQBif6coXL144d4Cogsy6XC7x5ZdfOqvgg/ZEWfRzq9Wq9758p0W9L25CK0uFqUEwMi7duSAI0O/3MZvN7kBaq1SLxSJqtRpKpZITRG3XzpOm81TANWCm7VPJ2xiDXqMpRVWiPqKCYvaAsqFzUCqVcHJygg8fPqQyMdtIBd7+j/9/+fLlVhnZlR4ctNNgBaOJjKqrf+0TwGKx6CwkgxCcIPXTOHE6kdusu89akCkrlQqSTZR8vV67vKrmiq2V0rb4f6aICP0YEOM9Wq0Wnj17lgpgESonSeJ+W6lUkM/nU76gEvPNTEHxWoglr1areP36NS4uLnB5eekgeODJmjBIyACShYI+q6ykbSkK4Vr55k0Ry+3tbSo16pvfQCLzjAdoWz5U4IsHbYO5vmCijxiPsjyxjchjDPTaOQjDEM1m032/jXyIx3cNFWOpVMJoNEr9/yH0IAtPDZ/P51EoFFAqlVAul70BISv0FOooipwfTUHkd/SpVVNbH3kbs1oFQ3hMBEFYy6ivQnkL5y2TB5vgV7VaxWq1coGdQqGAWq2GVquFRqOBQqGQYhb2hT5vuVxGFEXeRdJri8ViKq4AYaJMJoPDw0N8/vnnGI/H6HQ6dyC9/oZxA5JvDn2pJN9cKLrjOHzIi4jk/fv3rohJv7N8wblR4eB4yR9qxTW/7hsXREFCkNs2Q0Gj4EN8lqzV1RRmYILLGtS8z03S31t0o/0nErlPcX2MHizw1O4U+EKhcKdTvpdP4Fk8wUAQK7YImzUzAIFMvgowkqYJ6WbQf85msylhslrfB5MCUzG3Wq1cTp0C32w2U/luX39ouQkBCcchQqBzROZTZoBAvs8//9xVZHEOAxO8o8ATkfisIedS06fwKD1V2kRJeh87f+v1GhcXF5jP514UFojvzny7wnn2KdjEL4gSWIhi3QSrxIhEFO3YIhyIACrf+NbRzovyPIzQ8u9KpfJRVwkeA7mN/hWLbmlngafwUOBZAUUfVTWcT4vTP+Xiqa9HyMwAVbIJOtGiKBNYn83nB1Nbk6hQ6FrYoI2Sz7orsikWi67vTMtwYbcxCTZKp1Qq4eDgAJVKBf1+P3UfjlXjCxb6a6opn8/j+fPnmE6nuLm5cW3AQHFmQCxj6lzS39ciJesmsH90zTRmo2uTbIKvo9EIg8HgTtWkzm8mk8Hp6SlarVbKf7dQnihtuVzi/Pw85Rbadi2SYN9sNN8aCxqIXSE9tqAlpXq9noL8PoNC3tiG/JS0ZuE/buGpqaIocsLOoMXH4LCF26p5CelUAKndWdaqKTPfi6TCqRkAdUdYG61BQv29r+/ajvqZRCTM4SvTqYBxkQqFAqrVKorFIgaDgWtXhV2DRr6+6W9+8YtfYDQaodPp3FG0pDiOnQ+/bQ6Z86cFtIpD4zaVSsXFF1R5aJHVZDLB+fk5FouFU7Q+xXZ4eIjnz5+jVCq5dVdlzvqJMAxdsc3V1ZVzUchLLH8l0RDxnizjHo/HmE6nLv9OIiJgOlStso84bp0zLZiigBOl7ULkr21KAZsai/l87nj4P+rDUwMRzltYpx2Hx4eyFj+bzTr/3ycsqoUJ7dQybbPwfOmCJ1IMw5dNf+xCXBQIarBpJJIKAz9nMhlUKhU0m020220nXAonA6kV0DHr2DhewusoipxQW6Gn4Gyz8FrjXygUnJJVK0/BKhaLaDabaLVayGazTiBVaUynU/R6PVeSrG1pO41GA69evUKxWHSIjlkb9omvxWKB+XyO8XiM1WrllAjdM+a/wzB0lYzkq0RSlIPBwAW+eF/yRrPZxO3trVPgH4PWSZK4ftlxWn9+F55SFw4epLJcLvHNN9+k9nZsi93cRw+C9GRyvqyPaa2Q70U/mhoQsuEAhiEV/gcfCbxALJ/CQP1um7Bvaw9bLCs21kU33/isu3VBiJBYmTUcDp3y0wCQWjYr7DD+YqPRwOPHj3F+fu6NoUAEMpSNOdYqLxaL1DrAuEhMw9Il0ZqLRIqnJpMJer1eqmINwtgU9tevX6PZbDpLqf1kdmE2m2Eymbhqzel06gp+GENiafRsNsPV1RWur6/dphe1xKwvULekWCw6Bc6MS7VaRalUci7XNqLATyYTrFarlGtL8pXoWt5SVME5tfK0Wq3Q7Xbx1Vdf3VF6oanW/BjtLPC05kydEfaoEPpgsH7Wggjf92zDwnUrdPazvR/7pe2rb+/L+VtGtwrMN05fymebJeX/aeWPjo5cSbEGi+hPLxYLFy+ACdhoX8vlMhqNBi4uLrz+XWI2gUDcDGvh9TckhfNavOJTKCylZv5dGV0DsycnJzg9PXXBVFXwRDjctTgYDDAcDjGdTl3chBaZ22SjKMJyuXQWv91uuwIam69XlMpAIdfv4ODAlet2u11Xv+EjrhM3aNmUIsxeCJ1bzp0WgFGAbeaBG23Oz8/dDjtVCuTpf7vAkyF1K6tCztBTxqqCEEvpoi9yaTWgansbvKGmVs2m74nsVGMft0Vh77Pulny55NAUaWhfra/MfhQKBRwfH+Pm5sb5f1pgs1gsMBwOU+6CbZ/tMeVnmcUKZOzZWmktPMlaZqIyWnfWs2uf1E8eDoeYz+cpiMpxHx4e4smTJyiXy1gul6l1obVlHKDX66Hf72M8HjuhWq1WiKLIBfvy+bzjLV0PSGRe32PZqMOdg7TOLHRarVbo9/upTUg+Wi6XTrkxS6MK2qYklXc0gEwXmQqfPLFer9Hv93F+fo7vvvsulfEITJp011jBzgIPY0EDKYcNpL4cBvqSsVhDT4ilW2AhVkf/1g0w1GysLa/VaqlqOYiy0XtD4GTGs6NvG9xSskJMweXC+NCCWtDY5Lez2SwODg5wfHzsym5V4OfzOT58+OD27/vmSYWYi67ReCW91iohKmEyk2VOpuLK5TJOT09Rq9Xc2CHITAV+NpvdmTsim0ePHuHx48epbadWGVPger0eBoMBFouFU2ir1QqNRgMHBwepwCE2KPTw8NC5A9wuS3ivZdvqoig6KxaLODs7QxRF6HQ6brOTlQPycb/fx3A4TLkH/J7pQ7XI/J6FRtwsw8DlarVy7jODlOfn57i5ublTrafoS7NS99HOAj+dTt2iqN9miyrUn403xReaRrEQRBGAhaN6SEa320W323Vwbj6fu4o0Ql8L8e3kKARXAbZkAyYQxaUBMPraFsZbC28Xnb78q1ev8O233zqBgKTRyOh0pazAa165UCjg6dOnboOPHV/iKQqxcN4npLyeO9mq1SpyudwdV4sCT3/bV4fO3YOvX7/2ro0ir/l8jm63i06n49KzOp+NRiPl71r01Gg0XBkzxzmZTBz/xXGMXq+H6+trPHv2LJVS5VwdHR3h97//Pb744gvc3t56eSuOYwyHQ3z48CEV1A43BUOE+9ZFIkpipSrjBvwdBfvdu3f44Ycf8P79e6eQdR01JqF7Je6jnQWeOdX1eu1gJHOb1C5q/efzOX788Ud0u11X/kltZHOzMH6zoofJZIKffvoJFxcX6PV6KJVKqQ0xdDF8lV+BbF9VZQNJV81mM6dxt7kXEMuoMDiKIudfMl2pwZttsD6Q2oOXL1/i9vbWQUcNfn333Xf47LPPUK/X7/jcClWTTdUfBY1zyPXSAJYKMtvk2QEQ66SKKpvN4tWrV27rsjIc39XCU7j0Wp49QIRmlSr7S8vGbaAwCogBt1j2NFiBKhaLqNfrKJVKThGRaHl5Os5oNEqdsqRxmnq9jt/+9rf4y1/+4nhFrSx5qNPpOIFlXGC1WmE0GqXGyr4xeFmpVFCv11GtVp3AqhK+vr7Ghw8fUtuWOWfz+dxVjHJOdqGdBX6xWDgBYoSUQQcLWSeTCX7++WdcXV25QbPajDB4Pp87GJOYbab8TGh3e3vr9gtz6+dgMHADVZ9eBUMXWYNs8aZiSxUHF95G9n2+My07t/OSiTk3zJGuPae6wLgePOhAYaf2u91uO8uhqSqmsSj4wabWutfrpVyvzGaTEvupbcME3BITGNR5VEVpfXxIEEsPfFBB5dZXq/zgcRUpiD4kQVI3RdcrlN2LpVLJq1g4z8xr6wEpStlsFo8ePUKr1cLNzU0q5af9oAKh0WGMg0pc15s1CBR4W8sRy9ZynjmoKEHvnUgRFiteP0Y7CzyDInEcuzRJsVh0neGLxy1dXFyg2+06OE8rTIGnRgs80W3Cb57/xRQPU2qxVE5RgzIQowJp/XMyFCdSd70lm4io1ir7gnJsV1NHDBxB0nUw/rbtC9tnBR79TYsK2u02wjBEvV53fqMVfAp9Pp93jKxWkwJPK2CZllYFRrg4l4TxazmlRi1hYGokdJ74fzK6RRt2PoLN7sa1HPZBiuU8glii7kqKnriz0FdEY90aG0RmW9z11uv1UrEL29ZKDumEiR/Zl5625DuPQXnLbhLyuau2svQ+2lngNeijJ8MSRnICx+OxgyLUTvQruXNK69K1eCcwqa7pdIp+v4/lcpkKugVSjaeBGKb7FC1YKE3fTqu12OZ8PncuAoxv6csqrOXgAi6I7rryBdjswhGm5nK51GEJVGzcHIMNLLanmHINtNpMt80SbdCSWRdKx6KkfScis7AXhqHhcYdUQcQSTbdCr+2oe6HtJJK2tSXAOi6tqIwlg2RJ0YnGPrQtlk//8MMPXuENzdZu5TfWfdj4UiApOV9lnw2o3ifw6i7sQjsLvDKEwkmttloul/jpp5/w7t27O2eYQbY1UnPqJpHABPzCMESv13PQTotcbJZALY6WVcZSI8773t7eOiamZuT1oezKCs0JNHafNKFULJVsyuzVajVljSxzK6Tm/TUwowEcMlWtVnPzr768WpZQjukis2SzWTf3Nt5iayksM8VyDBPnywo9+2cFFOICEGVQecOjHNQFCaQuQ4mKUIVUr+X1WgVp+wSB17pG8AgU593n6oWymcjuwAw3JePkR45J+UsLwazA2znWeytprGUXerCFV41tBZ7+9Xg8Tvl0iUTDyXicKEYtOflkKlZOkWFhmDSUqjRWZLGIgcElnnPW7XbRbrdxcXGBw8NDF9Dh9ZAo/mQySe3NZj+ZAiRi4W45VTw6TjKUQmHrvnDeGKSzB3pSaDX1ovBay06JnsrlMsbj8R10w6OcrWXSrIXd2cb1XiwW6Pf7qTWDsS7bKhjjOHZQnik7X5GKrq9vrsj8jJcQKaqw6++oqIlw7LjoVvLMAuse6GdbKBZIDpwBQhYk6TyQj3SOmbO3dQN2vL7aDp91J///R3x4mBz3crl0p6mEYYhut4vBYOD8eloYW3HEYJkKDCEOAy1//etfkWwKS4ItaTsKGuukmRddLBaphxLwwQQsUbRakYqGvhz7qlaefeB9dP+2hWJ8tVqtrcEl9p9ln1Qk6lbQf6Y/N5/P7xSV6FmAmtuGWDm6Ydq2opdtteNkNBYCMUBKgeV6ahGJFWS2oSfNEtLCE0/IbE6ltYKs36/N6bowAhJKVSXnUQ0Wj9NioQ1EOfksuR4eyfswtcqaAKbatIBIg9uhlEkPh0OXdrXIhBRujlQvFove4p9gkxnhcey+9fPRzgLPRVAYy6jlYDBAGIa4urpCv9+/s/FlLWeOJVI7fX197axmoVBw1pg+NifvPrjCvpDh+WACRnp54CGVDg/WJDOoz02hpwAy+vnhwwf8+OOPrm6aCwthLrWotLiHh4d3GFMXhkqTSIRzSqtO68QIvfWzNaJ73zFK6trEZuMFtztb62znl+k2Kgf1O5n/ZtVaYNKhsZxgPBwOHWKz6dlACqR8BUuEx+SptdlkpHPM8+l1fRKJajMHbt0Ln6/85ZdfOv6HoMFSqYRms3nHkgeScVBEqvPC+NTBwYE3pRaGIT777DN3XWDy7+wLjZxFMNvowQIfbM4UY80xLTkneW0ekxRLmkytHWFiuVx2f1PgBoOB8119cEdJ/Uy2TwGyZ5RrLIEv7tGPTV6XaRFWvVFxkGnorugpN7GcMDObzfDNN9/g5OQkZRl0bijgfEqKLWSCCAyMS8PraOW5z5s17Hovda80gKnBI59lhoGNhI62rDkjpyDZfd0cKxUbszuhlEIrKsnIllcLxdXVsbEbe2273XYpTW2fcR6eobfNx6eSprtlFQotMI8t0+Cv3tNaePaDh5uenJy42IyuebJJZbJ9umOWFGnvQg8SeC4yyxbp/1j/VSdQXyrwam2ZtyQjK9P6YLwuTCLplUTSI0vzdBNFHPbBCKqU2Df2bzAYODdBlQpTP8zda+VXuCkP5THRPsicyLZNTb9YgVSLTGHgPAUmMJlItN0iCQ3iQZgWm+i/jcCrwGvOmkeFce0VKTBIpcpGx8r1ns1mbhyQQKOiBcJd9a91TlRJ+wwCa+Etgsjn8+4hI9tOKWI7q9UKX3/9tRc5MZhnn+PnE3i7VZttc1ehzVZBMgRHR0d4/Pgx3r59m7q/zjF5dRfaWeAZZWS6TBddLSOVgtW+yswwTMA0TCiFBxa+KPNvE/pEAolW0GEsqwq9XkvLolCbOX/CZjJqoVBwhRN28wcXdzweo1KppCyoLhKhMvc5k7nXsjlFfVK1FlQyqtwsqUK0cQsyuy+arRZNlaQ9Ty6QABYfEeUTIFXwk8nkzoYP7Q8DjyrMECit4wnNFmL2nQ+ngCgUWs1Go+FOo7HIC4Kq5vM5/va3v92J4KuF1zZ8L62+hFHE4/EYo9EIi8Ui9QAWUhiGODk5wXQ6TQm8nd9dI/T4V9JyDPzk5PE6Nnjig69WW8NYHhZIWMWgC+4L4pCUsWNPKozvvGZpnj2mFl6DYXr+OZk9kSO4CLt03Gs5j282m9056FOtO0tz7dFLgQQzOdf0t2kxVOHSlfHNi50bnVcGn3z7uSHCyjmhQrXrk9080EF3nNk5XywW7kkx9lSaUHY58khwX2CV6Ib9CE2OW7Me9jAMbB69xW21vpNt1Ch0u91U5SCJfeH5hNsEHpvAqS8jwXlhYdnBwcGde1AZ0y3YdlY+HiD0D9otB6n1JqTnJOuRO1Zj7iKAa/OsMRhhJ/n8NWVqfb9PMWgtQSxFReoXEwH4nnDC+AAfykihodJiuk8r2NRics81BV59Vgq7wsWsPACT9+Fjp1VB+uZJMwc6L4HkknPyFBm7TrF53LPNuqhl1kCYrjOVLFOo6ttqxD/YHOrBp+ColWcftcLQClMQBPj+++9xfX2dyixRKZ2dnaHVaqXgvI/H2u02vvjiC6/fzDY1frPtOp9S0XkZDAZu372vHSrAN2/e4Ouvv/beI/Gk7LbRgwVeobimITQaaeGrFXIYWGLdAsu8uwzGIoltAg/x0S3MVebe9lJLvFwucXl56fw0HkvMWunQnGajFohPBeXuMhuVtkKpLz2QUzML2+bEBk6tddZSZ58iTSTbss01YL80Uk/io7WiKEqlEXmtViaGYYjT01NcXl6mlItNj3I9AinrZcaHG63WUjoNwD1Xjns4tvGWBoEzZp+5IoasOQjVWnd4niSj7WATrLY76izVajX88pe/3CrwD6EHHWKppJZ55TnUwgfpLW2z3tu+t+3dhwB8pL9TAdA2VDh8TG7H3ev1cHFx4aA8H0fNo4uoDEIpbun1eri9vXWlx2vz4Mhgc+ClZabQFMuwugseKA5BY9xd5luLQM6au2/+fHEAGCbnVs1KpeIelgBRpDpO+0hnVUKlUgnVatWdWgN5+ivneSXn7VMwF4sFOp2OK8dWHslkMnj+/HnqSTHwWMfY7B70UWAKZuDh1V0trj4+fNu9MnJ4qo2v6Dh2oZ0Fng91UBiXmGCcz+/WDt3X2W2W2ac170MA2wbu89O0v/qdFezYFNTomLl3W3dIVatVZDIZt1efsJupPh6fpGhBA3aJRL+1fzoXtKjWyijZtbkPbVmFrtdZpOBba3UPeKikbU9jNhRYX3tUlMViMbVxSst6NUKv7V5dXTkXSfuWy+VwcnLioPx9Pi8fC3af0FplbPnoPlK3TVHXx+6nJbr830PgPB4i8Dx4kh0MpeJuF6v6r0L1+0hRRLAlmLeNfH2xzO37bK9htVOn0wHEV+V2UOalGUiiz6Y7/axbsQujhWbTxn3j/Jiw455nmtk2bFB1W7/4t89FWJsjp2xbOfOwTwZBNXVoBR4bQe10OqmTfxR9EH0lphTXjns2m330EMv7/PaPXWcVxH18y2uI6GwQ8aEytLPA8yxvtUokaw3+XbTrpGJHSLPNl/IhiF1ekEo0Hs9MH73RaOD4+NgdFMLqPxV23stu8/1Yn/l/XzDoY3O0zbVSuHjfb7cpbn1Zv9f+3oeUtM2MPLctax4bDQ8Ko/Dq04ITUyijNQyxOUrNEg/Q/Bjp3N+3TvfRtjm1bQSbFN+2gzV35YPd9tQBLqpqq6x2oV0Vgc/y/G+S7fc2xabWnnX9Nzc3+Pnnn9FsNl11GJWlbY90H9P4mOshCvFj9O9s57627lMc2oZFCtvaVCWyNgee2vbu41m9nn78f5Ieahzp6ujv/xUKkn+nSd7Tnvb0f5p2N9N72tOe/t/TXuD3tKdPiPYCv6c9fUK0F/g97ekTor3A72lPnxDtBX5Pe/qEaC/we9rTJ0R7gd/Tnj4h2gv8nvb0CdF/AUaPSPVMnILaAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 4.0\n",
      "\tJ = 8.4011e-01\n",
      "\tgrad_norm = 1.0337e-01\n",
      "\tpenalty = 0.977\n",
      "\tmode power = 7501.458\n",
      "\tdip power = 7998.690\n",
      "\tcoupling efficiency = 0.938\n",
      "Iteration = (18 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 4.0\n",
      "\tJ = 8.6124e-01\n",
      "\tgrad_norm = 2.8364e-02\n",
      "\tpenalty = 0.971\n",
      "\tmode power = 10468.018\n",
      "\tdip power = 10923.463\n",
      "\tcoupling efficiency = 0.958\n",
      "Iteration = (19 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 4.0\n",
      "\tJ = 8.5361e-01\n",
      "\tgrad_norm = 7.5763e-02\n",
      "\tpenalty = 0.963\n",
      "\tmode power = 13775.781\n",
      "\tdip power = 14501.615\n",
      "\tcoupling efficiency = 0.950\n",
      "Iteration = (20 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 4.0\n",
      "\tJ = 8.5295e-01\n",
      "\tgrad_norm = 8.1482e-02\n",
      "\tpenalty = 0.956\n",
      "\tmode power = 16346.014\n",
      "\tdip power = 17233.051\n",
      "\tcoupling efficiency = 0.949\n",
      "Iteration = (21 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 5.0\n",
      "\tJ = 8.7218e-01\n",
      "\tgrad_norm = 5.7052e-02\n",
      "\tpenalty = 0.875\n",
      "\tmode power = 17111.887\n",
      "\tdip power = 17829.989\n",
      "\tcoupling efficiency = 0.960\n",
      "Iteration = (22 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 5.0\n",
      "\tJ = 8.8005e-01\n",
      "\tgrad_norm = 5.3833e-02\n",
      "\tpenalty = 0.865\n",
      "\tmode power = 17308.501\n",
      "\tdip power = 17908.051\n",
      "\tcoupling efficiency = 0.967\n",
      "Iteration = (23 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 5.0\n",
      "\tJ = 8.8289e-01\n",
      "\tgrad_norm = 3.2505e-02\n",
      "\tpenalty = 0.854\n",
      "\tmode power = 15082.259\n",
      "\tdip power = 15576.252\n",
      "\tcoupling efficiency = 0.968\n",
      "Iteration = (24 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 5.0\n",
      "\tJ = 8.8113e-01\n",
      "\tgrad_norm = 4.4331e-02\n",
      "\tpenalty = 0.843\n",
      "\tmode power = 12419.322\n",
      "\tdip power = 12863.968\n",
      "\tcoupling efficiency = 0.965\n",
      "Iteration = (25 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 5.0\n",
      "\tJ = 8.7947e-01\n",
      "\tgrad_norm = 6.3651e-02\n",
      "\tpenalty = 0.832\n",
      "\tmode power = 12087.040\n",
      "\tdip power = 12555.809\n",
      "\tcoupling efficiency = 0.963\n",
      "Iteration = (26 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 6.0\n",
      "\tJ = 8.8584e-01\n",
      "\tgrad_norm = 7.8859e-02\n",
      "\tpenalty = 0.732\n",
      "\tmode power = 10924.212\n",
      "\tdip power = 11390.265\n",
      "\tcoupling efficiency = 0.959\n",
      "Iteration = (27 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 6.0\n",
      "\tJ = 8.9808e-01\n",
      "\tgrad_norm = 3.3468e-02\n",
      "\tpenalty = 0.722\n",
      "\tmode power = 17336.079\n",
      "\tdip power = 17867.154\n",
      "\tcoupling efficiency = 0.970\n",
      "Iteration = (28 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 6.0\n",
      "\tJ = 9.0230e-01\n",
      "\tgrad_norm = 7.8044e-02\n",
      "\tpenalty = 0.712\n",
      "\tmode power = 25590.844\n",
      "\tdip power = 26288.327\n",
      "\tcoupling efficiency = 0.973\n",
      "Iteration = (29 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 6.0\n",
      "\tJ = 8.9802e-01\n",
      "\tgrad_norm = 9.3922e-02\n",
      "\tpenalty = 0.702\n",
      "\tmode power = 26559.148\n",
      "\tdip power = 27429.898\n",
      "\tcoupling efficiency = 0.968\n",
      "Iteration = (30 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPwAAAA6CAYAAACUGjTOAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAJrVJREFUeJztfclvHNf19amqnueJg0iKsihbtuPATrIIsskm+QuyyN+XVdbZZpFFNgaCOIBh2IgcS9FAWeLY8zxVf4uvz8Opy2qZ8s/4Bqgv0BBFdle/eu8O55573ytvtVqtsJWtbOWdEP//9gC2spWt/J+TrcFvZSvvkGwNfitbeYdka/Bb2co7JFuD38pW3iHZGvxWtvIOydbgt7KVd0i2Br+VrbxDsjX4rWzlHZLEbd/4i1/8AgDgeR5834fv+wiCwP3seZ77OwBoA5/nefA8D0EQIJFIIJPJoFAooNFoYG9vDzs7O2g0GiiVSkgkEu66vBYlDEMsl0ssFgvM53NMp1PMZjNMp1NMJhOMRiOMRiOMx2PMZjMsl0uEYQgAkTHHjXs6naLZbKLZbGI4HLpr87VYLNz1+FqtVu76q9UKtmnR87zI/RaLReTzeaTTaXieh8lkgn6/j16vh9FohNlshjAMb9w3r81XGIZuPJ7noVAo4P79+/j0009x584dFAoFZLNZJJNJBEEAz/MQhiH6/T6eP3+Oi4sLNJtNdLtdd6+LxSLyWi6Xbq75f71f3/eRSqWQz+dRLpdRKBSQz+eRzWaRzWaRSqWQSqXcdy8WC8xmM4zHYwyHQwyHQ7dO+n1Wd3zfd3NYr9exs7OD3d1dVCoVFAoFZDIZJBIJrFYrtFottNtttNttdLtdDAaDyHfouvFe9N+IYSQSSKVSyOVybr343jgd0Gvqi/fFn1erFfL5PO7evYuf/exnODg4QKlUQiqVwnK5RKfTwffff+/GPplMnA5Op1PM53PM5/OIPnLs33zzzQ/a8a0N3vd9p8Q0FjUaa+iqHPp33/edwXLxc7kcMpkMkskkisWi+45N1+Xv9W98cYI7nQ6m06kbQyKRQK1Wc8aeTCaRSCTcy/M81Ot1DIdDNJtNXF5e4urqyi2UTuxqtYLv+844rQLpezzPixjPbDZz76EiqjNUxdRr65yqcoZhiNFohJcvXyKVSrnv1H9pNIVCAcfHxyiVSiiXyzg/P8fl5SXa7bYbB99rHbsqGACkUins7u7i8PAQjUYDxWIRmUwGqVQKicT/Vis6EyrteDzGeDx2imsN0Bo5nUgul0OhUEC5XEaxWEShUHAG0u/3nXOm8+z3+xiNRphMJm4+KepMfd93+sSxUJbLpfu8Ok4b3Pg7ro3VTf0/13M8HuPq6gqPHj1Ct9vF/v4+Go0G8vk8SqUS3nvvPbTbbfT7ffdarVaYz+cRp2IDwW3k1gbPG9ZoTWXQm4nzotbgl8sl5vM5JpMJBoOBU5RUKoV0Ou0Ul04GYvA2AtrIx2gyGo0wHA7dJCUSCSSTSVSrVSQSCaTTaWQyGaTT6ch3LhYL1Go1lEolZLNZnJ6eRoyM362RXb25en11kp7nYbFYuIhDpWKUZpSyUcIupnV8vE6v18OLFy/g+z6GwyEODw9Rr9fdGtGxpVIpFAoFlEolVKtVVKtVfPfdd7i4uHDX5tyHYYggCLBcLt26Kaq4d+8e7t+/j3q9jnw+74ydBtBqtXB5eYnxeHwjMtnISB3LZDLOIVWrVWfgRA/pdBoAnEGPRiMXDQeDQQTh0dg5V3RkKhYxWd2dz+fu/okOFSUGQeCupQhUdUQdA79zOBzi4uLCfW8QBMjlcqhWq9jd3cXe3h4GgwGazSYuLi5wfn7u9EZ1TPXwNnJrg+dkceC8aQvBedO6wHGQh9FuNBqh1+s5Y8/lcigWi5FrWigZF9n1O9ShTKdTt2DJZNKlDdls1kHsXC6HVCoFAFgsFm4M+XzewV0qDRVe4ScVWCFwGIYOCqZSKWc48/k84jjpwIIgiNzLbDaLzB8MurKRAwC63S6+++479Pt9F7FTqZSDvXTOuVwOlUoFe3t72NvbQxiG6HQ6DpXYeeX8LRYLF32r1Sru3buHo6MjlEolh9Bo8J7nIZlMuuuqQ4yTIAiQTqcdarhz546D7dls1gUFz/MwGo0wnU4xGo3Q7XbR7/ddmjCZTNy8cc1833eOPZPJuGsFQeBSHQv/daw2mlIPaaTpdNpdS9NL/YyiA+rKZDJBu91GJpNBpVLBwcEBKpUKqtUqkskkZrMZms0mXrx4Ac/zMBgMMBgMYp3lre34tm9MJpM3cvFkMolMJoNcLhfJTReLBSaTCYbDoYNX9Hrq5ZbLpYN6/X4f2WwWk8nEeWN6T43qquCUOFhD70wIHQQBut0uptOpg4vVahXlchm5XM4Z5GQyAdZRc2dnBz//+c8xGo3cGOLSGRo8ndh8Pofv+8jn86hUKsjlcvA8z41HobLOqSIl5myEq0QMyWQS6XTaGZZCTRpru93Gs2fPkEgkXI7N9dL5T6fTyGazKBQKePbsGS4vLyOOjC91vr7vI5fLOe6lVCpFojtf/AzhvaZidh3pmBqNBo6Pj3F0dIRarYZCoYBcLuciO++70+ng8vLSGdh4PHb8Deef3xcEAZLJJBqNRsSZNBoNFAoFLJdLfP3113j8+DHOzs7Q7Xad07CpnM4LncjBwQH29vZQLpcRhiG63S6urq7w6tUrtNvtCDK0qQXXi6ltEAQolUqo1WrOiRwcHODg4ADZbBaXl5dotVpuHJuc55vk1gbPCEhjT6fTyOfzqFarOD4+xvHxMQ4ODuD7vovanU4HrVYLT548QafTcdCO1+HAmdNzohVBIAZGW4WEgU0co823CEtpCISOyWTS5UgKf8kpfPDBB84RqfcnFFOvnc1msbu7i48//hjpdBqDwcDlsjQ2Gr3Cck2TUqkUisWiGz8JxWfPnjnEks/nI7BSiUgAGI/HuL6+RqPRwMHBQcQIYTiGUqmEDz74AJ1Ox62PRnj9jOd5DnbncjkX1S3U5RxvWiO7LtlsFpVKxRkijTyVSiGZTDqkkkqlcH19fSOV4rpoysC5LJfL2NnZwfvvv4+7d+860o/jv3PnjtNvmxfbCKo61mg08PDhQ/z617/Gzs4OMpmMc7h/+ctf8K9//Qvdbjc2CquTdsa4njOiDzqrw8NDFItFPH/+HC9fvrxxvbeJ8m8d4ZkH5vN51Go13Lt3D5988gnu378PAJhMJhFjoyLT49HomVdTQWxOQqXR3F1vMG4xuBCMFprHBUGAYrHouIJsNuvgGOGqjeA0/mq1ioODA5ydnWEymTiF0lcymcS9e/dwcnLiDGw+n6PT6eDVq1c4Pz9Hq9VysFjvRQ2Bi95oNPDgwQPk83n4vu+u9eWXX+Kvf/0rksmkWxN1cFSUMAwdytJ7s+iI0PuXv/wlvvrqK4fE1CA5fxwrnb2ShHHKR1TD+UJMZMfa+edyuQgXoA5M14OGadlwy4pTZ0kIl8tlR/px3dPptHMm+/v7LsKPx+MbsD5O1wqFAh4+fIhGo4FcLufQzO7uLv74xz/i8vIST548cfev82TTMawNnpFdCVvf91EqlfD73/8en3/+uftb3Lh+SN4qhyekJAys1+s4OjrCgwcPkE6nMZ/PXWSkR85ms5jP59jZ2YHv+xH2nB5MIwRvRiGPTpY1dlUkTTVoNIlEAuPxOJLH0egV4tpFsEpWrVbR6/WAdZ4PMRaWGE9OTrC/vx+B8Bo5mOrMZrMbSs/xZzIZ1Go1fPzxx2g0GshkMm4eWLoMwxD/+Mc/HJ+gTLzCb5KXg8EA+/v7sXPIVy6Xi8yBnRNFBCxXKW+zEoKWyKfT6TgHuUnRySmUy2Xk8/kII65j1c/GlaVWhjCmcF645qprmpaRGCQXoX+z6QgRCcfN96sDq1arePDgAV69eoXxeHzDccSlptTfuHUKggAPHz50PMaPlbeK8IRImUwGxWIR1WoVtVoNuVzOKYQanb5yuZwjRcgAczHUEAmvlRyxzLytgesE8vtTqRRKpZJjrcMwdOSPOhn1lthg9JoLM7/mnNCx3Lt3D/v7+45w5CKFYYhKpYLRaIR+v+8iSFw+y3ozmdpisRhxSoS5v/nNb3B2doZOpxOBmL7pj2CawnSEEmcgNFQ6YjV0KqOW5IiMIHyMXtvzPFxdXWE8HkciPIyy03hYU9dUz9axeQ0t61mCMQ75aSqzyaFpyqBOM84wISSjnQe+N5FI4PDwENls1pU1IQ7eShzE13kgd1IoFCLR/23lrQyeN8kFIkRSo/RNg4sSOVQUrI2WDkTZ03Q6fUMRddLjFjcuf1dPyvq2MrRELIiBRXH3kU6nUS6XsVwuMR6PHelVrVaxv7+PO3fuoFQqOZitxpHNZlEul12pj3VVvTeOm7ks36vGS0d1cnKCX/3qV/jyyy8xGAxuGLoqOCsDqkArU/qjQZEcVIOHyVuJamwzCoQX4DVfvnx5w+D1nrk2VGSNXmrszM35O62vK9LT+7LNW28qc3IcGgisg4gzLn2fvR4Ah9AUsaiO6Wd0nuN0kuPOZDI3Pvs2Ef+tSDvf9x0rz86xbDbrBmujjTK2hO/pdNrdjEb3fD7vyBpdaOthbb1bjV4NXicwmUxiuVw646MXfxNstLkjUcpyuUQymcR8Pnd1U0Z29fZUEqYEuVwOpVIJxWIx0uii42aNnPDWRg86yXK5jN/85je4vLzE8+fPb4xV4SirFTaicw5ZRpzP5xiNRm7drGFireAa2TxpWFFIj3Xa8/TpU/fdcQbPNIuBQ50luQ5FWYvFwnXoseyGDUGAuse/s0Jiy8SaJ1vkZw3Jfibu9xRvTYbG6YS+J07n7HeqY40LTm8jtzZ4kgmM7myIIASHNGxwgWyUzGQyTtG8NfnDPJ+LjrVRz2azSBRGjNe3kcOXMpBOIn9H/oERXqFRHOTcNH4iiEQi4Rhfpgpxi0rFLpVKqNfraLfbjg/wpHSUzWZRKpUcA27HyPtNpVKoVCr48MMPMZ/PcX19HRmn5qgAHPzdNIez2cw1QWlzS1zawV4JNXjCVQhX0e/30Wq1bii86kc6ncbh4SH29vZQKBTcOml6EErXYSqVwqtXrxwRCROBQ2lfteNh6Y6VIIsOOCblEDYZk003FOXoZyqVSgS1xKEEIiZyNZu+j9+h3aM/Rm5t8GzeYFMKozvzdxutbDeSvmjIVB4aDKErYeh0OnXX1IYd2++9yej1czqxjPAQqAdZEBsxrVHSEOn0aCS+VBtgkANzVdb9B4MBIEQNG4EI5bPZbOR6WmpiKvTxxx9jOByi2+3eMCbtY9AIr+Ur/jyZTFz1JJFIRColdl6LxSLK5bJTZEULvO5wOMSzZ88wmUxulEgDaW3O5/N48OCBS4Uo6oj4veykOz09jaQejMrKQVBXIcFjMBig3W6jWq1GegcUEZFHioPgFDU+tgmTpNQ54/j0c/Y6FE3rYKK6Op7ZbIbhcBjRNdX928hbGTyjnG200UHGMaDWEfBndrMpy0mPrDeaSCScE9BNBDaP4yTwM2rMjE6WnVc4qovgx5SEqKj8Px2eVTC9nl6XjP7Ozg5arZZDCZlMxqU0dHw0WEuI6VxrtyCJuTjHquUlu0mG0X04HLq6eRjT2cd7Z3ee5vC6oWk8HqPVauHly5fOcNVpMoqWSiW8//77yOfzgHANysBr/k7ycbWuKDD4cB1Ho5HjPFTPGBX7/T6ur69RKBRcQw9Rq+/7ri7PgBAHrSEGT8c2Go2co4TJqW3zTpxxqrFzrVSPKfP5HF988YUjoGFy/p/c4AmDmb+x60lzSwuFbb5GpWHZShdGHQfzTv6fxqudZ1rftbmm/V4IdNKIYImeTcSSbzaiKMmjCmJzPMsw0+nUajWUy2UMBoNItyLRg0Zy5Shsrup5Hmq1Gg4PDyO5vJKlipq8damOuSwdKCN8Op3GZDKJzIUaKZ1VvV5HKpWKwFoaJKH8cDi8MVZG9VqthocPH6Jer7sIzA5HOiLuFLNQnHkxESYdT7vdxuPHj/H69WtMp9OIgTIyEhkRQSkp6q87I5lO2fW0xs8I3+l0sLu7G9Erirb52oBC3SJpzc8uFosbKcViscD19TX+9re/uc1CSi76Mf0V/2ODt7vLNAJZSK01dTUYvoe16ThiSCEiJzZYt71yY4Ttb1fnAgNFNfqrISjhpEhAF8ReFzHcAOu7mmNv4hroKGg4k8nEpQnaBEToreP0zOYkjrdYLKJer+P09PQG76AkkPbDM5Lqtks2THlSV/eE9Mzn86jX66jX6yiVSvCkqYYOmgbP+rtGKn9N+FarVbz33nt48OABgiBwrbGE5GTgh8Oh2/mmnYrkSeh4CoUCgiBwuy7z+TwuLi4wGAxcvqspjScluHw+HyH3yuUy7ty5g1arhdevX8eSdLoO7GY8PDx0Oq3I0W7TtgGF/SpEnpxTTYFmsxlarRa+/fZbPH782Om+RU2b8v8fbfBxDQtUThj4Z99Dg1HCTqOmZ8oMCpu42YRKwA0SCoVsZKeyqhHblAIxjD8EullHBJOT87vpnemAwph2TxsxM5kM9vb20Gw2XWpAMpGLzl2EniGlFI6HYeiMkWOwsF5hN9bRQvf5M7oyatg54D0Wi0Xs7e25bjjd1EOj0l6D2WzmWk2pP4VCAfv7+3j//fddJ6SuxWw2QxAEmM/n6Pf7aDab6PV6DnVkMhnMZjOkUikcHBxgf3/fIY1CoeAMJ5FI4PXr11gulzf2+mu5VPkSb918c3h4iMFg4LYOxzHjHO90OsXl5SV6vR4ymYxbX+r6YDC40ZnpScWD42U5Gus8ncRhGIa4vr7Gf/7zH/zzn/905Vy9Fqs7yhe80Y5v9a4NpIMtn6zWZaiVdGXRAPTGqagW9vM7wpiDA8gicycSc3/I1l0dh43YgdnZZ8tTq5h6pkUeK1N6YtSiklpjZyTV7yCsZDlvMBjcgPNk3rmV1xo7YSKZai46G4Ks44UgJ43sukFnOp1Gav6cPzoo7pmo1Wrw1v392iY8n8/dZinCc3WQvOeTkxM8ePAgogscG8cwnU7RarXcYSTUF46/VquhVqtFHCKrIMfHx+6+iAh1uypf5ABqtVqE6M3lcnj48CE8z8OLFy/Q7/dv6ALvbT6f4/LyEhcXF87geZ3FYoF2u+3mKTTNY9yhmc1m3dZf2gkNvtfr4b///S++/vprV+JU0WqHkp5vklsb/Gg0cjmwKgyELLPRPQxDXFxcoN/vR05zCaSF0BqZGrtuNby+vsb333+PyWQSKV2Vy2VHvnCyYaI9ZFstPaGy1fY99hoQB0dDYMTMZDI3TsNRg7cnrUAcxYcffojHjx+7BVdlYa6mEF8JS90+m06ncXR0hG+++caNy/IiECVVo9efLSrgmnJDUK1Wi0R3bjbidXkGAfkC/e5MJoOjoyN8+umnkbKmVl9IfnK92+22M/aV7K7kQSaWZE2n06hUKrh79y7a7Taazaa7BlMMfq7ZbOL09BQnJyfO2Oi8UqkUjo+P8Yc//AF/+tOfXEXF6upyfdDKixcvkEqlsFgsXHWFG56YVujas5zNClW1WkU+n3dpAMf573//2xn7YDBw9qMv3S9wG7m1wfd6PQTrFkG21pJw4sIpjJ/NZnj+/Dna7bbz0uqRLNyPY0Gn0yl6vR5OT0/x9OlTnJ2dIZVKoV6vO/aX+RmNHrKdVmG9IgAtRzE94BZZ6yiswdOwyaj2ej1HCCkkZjSyJ66oMabTaXzwwQeRBiN+bjQa4dGjR7h3754j0/RILxou7z+Tybg8ms1LikogKZWyxnROdC6BaW3ltT/66KNIn4TNHdXgx+NxpGoRrtuaSbhpDd2XpiPC8W6367Yka/WGxs9UgbyEpnfsftzb28OrV69wenrqjIjvpfF3u1202200Go1Iekh9unv3Ln73u9/h73//u1sXq1uTyQTn5+duzllinE6nrsFK0zmmXyzRksDlPbGLczab4bvvvsPz588juxj53dPp1PFqRAk/qcFzkpbLpWuWWa1WzvAZWZiDPnv2DGdnZ2g2mw7icbGCIHC5mIoaPXOkZrOJ169f4/r62kV+GiqNnu2+RBoavWFyUt4LD1EIZcOHNrtQrFe3hs9ITEIuDoKrqHImEgns7Oy4nJdchY6f5+FxPjQyK4rAOoqORqPIttXEetce0RjE4fDeQjnkgiVQziMVlpUIdaDqRPV+7Toyxy6VShGno+PRmnqv18N4PI7Mv65raHbF2UpMLpdzG40UeQbmdBqexbCQ8wE1x87lcvjoo4/wzTffoNlsRsrFOndk6xllU6mU6yOB4YO0UsUdfJqecsMTT7qhbtjApaQq9f82cmuDp4eZz+dot9uuHMJIpQROv9/H6ekpWq0Wer2eO4SCBAsX1xqTymq1wmQyQbPZRKfTcQSP5qXa+UdjVchKxVvKbq3FYuFON+EikyDx1nu9bWtuXNmDMJYQFmZ7I8wRVqokdvHp3Znv83rT6RQXFxcYjUYuMqqx2xfTLc0DicrYuahRNY7FV2Y9lI7HOHQA4QtsymOrFfxee0wTTKQn4648EEx/w1J661X5dU55Wg6DQmD63hX96L2pM0wkEqjX67h7927EsXumGsT5I/qi49Z5VrKavIju0NMuw8Vi4SoU1FMYY1ekwWrRbeTWBq/ER7fbdYqaTqcjpadut4tms4mrqyt3xhiNjyUKRuW4XA/i1Xmg5Gg0cgalO/CU9GBrpt0dtpJ6OIkUPQLKN/vu1Sgg0UfTFXUkbAaBOBY9rVUXxpKUHB8JN54MpBtFWIcul8suhdHIrvk8ERjhnqYZhOx+TCckx2ErL6H0Q4zHYwd547ob48pCFunQIJhHh2a3I8dGNLmJNNVyp66T5rVsSKJBWGO36ETXikKu5fDwEE+ePIkgCX7WbrqxhC4JNXVgikrZks3P8v6IELQfRb9bhfd4G3krg+fihWHo+rlzuVxkEfTAPdYh2X5IuI91b762kFo45XmeI13iTqLRI5V4AgsjNTeBUGHZATYYDFwbql5PF5plQO0ItC2YK9NNRVECihAtLnJCnJryAWxvJcTUxpjlcolCoXAjZbEEqreu3dJo2LlH0hWmRGkjnzUyjqvT6bjouZKeA0+akCwHogbK+WeDjxezxZPKvIg5sEMdhKY9gTlDgZ/jBi8NLFrS4r1wTlYx9XY6D56roMiSa8oNTzxYgwYMwJHL/X4/gh5gynI6d7xP6oRWQqyxq4OwPNEmubXBM99lmYH720kyEP7xUEFGdIWfoRzOmFjvMR8Oh5HjnHzpcHr+/HkEitKLap842ya5L525F5lSNi68fPkST548we7urmNFtf7JhRgMBu5vSjJyYRROKsG1ModYsjliJTVwL2abJY221+uh3W4DAus0kqsDWpl2VnIai8UC+XzezbGW3Nh6qnNH58FraxqkRkbWnGtmUYFuStIISRjOqE10RYbewnVd/zhj16ChcxyX12r3IjvvQrOvQg8v1ZTBGpWmr4qSeBQZn6vAo7qVvGULOhEy+xP0qDebMjIvh6BGa/SeEIe0w9vIW5XlqET5fN6xsq1WC7VaDVhDcJ5oA1P60lZYKieZ8dV6rzc306xWK3z++ecOSZAI0nyaN0sm3/d9jMdj5HI5x5wSbbx+/Rrn5+eYz+euh129os3VtW6uJUTyE2EYolwuR5QCYkCMsOzAg0lZKFRinkbKjjJVTjqTyWQSIUuJJFi61HrzSvYjMA0YjUY3TgOmQrFqoumGRjwyziSGdPOGJ6f+8OEXmuZwrofDIVqtFlqtVgR5eGbrp7dmoNWpWIMnotGWVF8qDOqoM5mMmytej0deVatVR7StTFedooZXr17F7lXIZDK4c+cODg4OHNOu0D6ZTKJcLrtTn3htnrarpLENdiT1rq6uIvMBQR90xjwT4Sc1eEJreme2RCbWp4jycEFtulCor1Gef7u8vHQGnclk3MaLTqfjWkuZXyvxRlnJsVG9Xs8RJowmrOUOBgPndMbjcYTB1p+pUHRubL+8urrC06dPHYFCFnaxWETYay4W0xj2iseRk/re4XDojJ7HG6sS6A42Jf5CaWmlE7XfoTV8bdSB9E9oT/kmcpLj4/3qeXqEtXqIhRoPIT1RDI0saU7R1RSBouQeCVHdZEPIq/k81pwDuwcTcuY/v7dcLqPRaMRuX9X0gcFnPp9HUqJEIoFyuYyDgwNUq9XIk34U7rNlOplM3nDgzWYTOzs77uEr6mzT6TQ+++wzzGYzfPvttxtTr+VyiW63e0srfguDb7VaWK73gqdSKXe0LpWGvwvXXUyhaUKxUR5r+Nzr9SKsJhlKyIELjFZ2UVZmKy3rpNwySpaTv1/KJg9GTD1lRyMIGfjz83M0m03XQca0xFvX7vXIaEitezgc4uzsDLu7u5EONpsfs4OQG0SGw2Hk3pXw0f/TAZId5j3S4arBaE/ASloyV9IUYzcU6TzTqXJDCzkN7flmzpzL5ZzDVqTCLaqdTsf1v1NXFNrTgdi8dCVVAe1B0O7JpWxT5ZODArPBxF9vkqlWq6hUKpFqkYX0qzUJrS3AEIPXI97s0Vj8zmq1GqncqMFfX19jOBw6hKz8STKZxM7ODiqVyg3d0X+5PmwO+iG5tcHzuF3ulBsOh45wg5B6FqZZo9coo62d/BzfY2G2Log1emWTCV9ZZ5+bs89sl9liw4MyqKR6Dh2dB5Url8tFtllCqhksqRHqWhY1NE/IYURiOpSQc+Q9Kb3wxCAahxKTdASBbGpamdKTGjwVjNFJo/tKSnNacuK8MTJyjdhYo3yMojl96MhgMIgQd6ozJNyIdHSdaWy2vdh2d67WnXQ8w92XCksQBKjX6+7RTrbvQudtNpvhiy++cNeA8BbB+phqohp1fsrGE+r7pmWZXXqDwcARxRbV5fN5HB0d4fz8HN9//70zch0v5037LN4ktzZ4Rp5w/UQVbu7QvNeTx/msDJGlfeXKLi6lp9qL2akVx/pao1eFptFsMmY1eu1zh3EohP/scCPLzAg6n88jB1qoYUKIt+FweAPOaW5MOK8PUfCktOPJ4RvMSfl3EmBaplKxTlcJIF/KjdbgbYTXioHOmSfVDH+9p5wPvdByEp0bHzjCzSY0AsuAl8vlSCu2GhoNnmOxMJr3yafJqFPy122tfIgGezfU4XhSTh0MBvj888+dYUH4HtboiY4sv8T55YMiPVOOxZoX4+YgmDo7ycL33nvPHfyhYp3UT87Sa/mJp25oiyzWGwI0ulhjZ7T1Yw69tKSDje6QstfSnAuvBr8wO6Ps+/gedUB2ErXkRQeiTzdhThoEgWvw0IMxGHmX6y29xWLRGRAEJpPkZLmKTorj0BIkd1XRufjr1lAlGYkO9HssatEIH8hpO3EPYoAYvM6ZbRcN5Pz+er0eGzVtaZTdZXyfViF2dnYcOaq8BP+u/Qc2sgZB4AyJzDV/H4YhGo0G9vf33dNd4mr0WCO0s7OzCJ+iepJIJFCpVCIknRfTbxGHIvRnckyq8xyH53kol8uo1+s34DxiSqi3kVsbPIXwjuxgQk6kVQ8cB+W1nKWKZ43dOgJNEZZmuylF/7Z8wykjK2kZ1VqyHYeOXZlwRmKsnWA+n3ftxVRgX5p5bA+0sqt8vDH5ATYm0SFSIWn4POyTeS6fyafzRrGk2dIcB+bLuYPkMTZFeCX+5ubgESXwuBGEKZ+OhXrDHXX9fj+iM4qQDg4OcHV1daNjMiUP/OSaBOY4qtVqhUePHuHly5eOa/HlBKFPPvkEh4eHkSf3WP1bLpc4OzvDn//8Z1ceszk0IbclO+2/duuqIonVauX2Ynim70DnZXd3F5999hkePXoU0aUfI2/9uGgqI0tPk8nENd/YiKueWFli33RHQTyUnVibv9tymhezrdZGNBVFCUQZalSM+JvugfdNiMqc018/HcSThg2YyKVz1+l0cH197SLRTB5iqPOhZJ0e6U3YygdI2Ohu7zeUtleNhmwAYaqgxm7nfSl7/NXgNcry9F5dNx5wwU1APNeAZBcrJVijmrt377ojrrVDMGUeysmuPRhO5OnTp+4pPxAUsru7i6OjI1QqlYijsA6DzmmTUamji2PO9brWIVmhE930eayfZPPb3/4Wjx49iv3728itDX5/f98RRKH0MFs2VZXLRnjN32EM1hqmzYlg2mTjIIzNkeNkZWq+Wq9lyYcRXNGAvjTynJ2duV74g4MD179NB8KNLIEcKMljoAjl9eguzos2e9BZEEmxHm7TCasAC3kevTpka/BYM/UwjtfO2zLmyC4dW7DeDVYul3F5eXljzrVHQZ8Tbx0IH6jY7XYxHA6do9Nj1XTPBKTN+fr62pWHlWcIggAffvjhG0+S5c9EsG+K3J4hPu3c39YoOQd6Hf0MHUuhUHir626SWxv8/fv3XQMFe74tFIojiRTKh3JU05sGbW8+DgUoEoj726brqWh002OX+T4bHZfmUA7Ox/n5uXvUFh8+EIah2+dOyMvyVtyjiZfSG06CSueIDpBGHwRBpALAyBfnfOMcoToTT44ds/MbxwOEG3rgIS3Tdq7V6C3qUySmjH+hUHDHZRHlaB8+HQik3fb09DTyPD2OL51O4/j4+MZ5dZ7pflytG2OazeYPRvhNRm7ve5N4QhBu0lP+bHv1f6zc2uBPTk4wn8/R7XbR6XTQ7/ddxKasDBtulURrnD9EOMTBm03Rx36/vU6cqPFoLZ7eNo7si7s/RuyLiwt467ZPbnThKbR6sAWjuTpBRS2b5gIGSpJs0xr6pvvdNG9Kdml1xX4OMejJOg6+bDlRP6+k6cIcGqLXYsOKoiNb91cEyc/SUIlq9P6SySRqtZrrY9DKjJ0zbtp6k0FvCiJx835biYPrKykDaovuj/2eWxv88fGxa11lxOr3+zcYzk2vuHwab1BGip3UTUZhiaZN19FXIAcvJJNJh1p0si0fYL+DsH80Grle+Pn6qTQ8KIQRXysMOmbN4/R+rAJ4QmbSWWlZ6k2yyVB9OZrMrkncZ+NSJr1WYPadWydiOZQ4cjUhpyOrwQfmaUG8Dv/PXgkNRBwbSU+tEMVFeKzPS3hT91pcMPqfyibUq+PM5XKRB5hgg8N6k9yuARdAvV53O4J0o0ScQSImOsTdzI+Rt/Wam0SNRzdg/JjvpsIu5Wz15XKJr776CicnJ2g0GpEHWLzpe37o/qzhx0HLt5W4SPU28xznSH8IacQ5Dr2eb7Ylb3L8FjlsumbcNaxToHAd3zSvP4Uuv414htfR3/8Q0ohcZ/VTWdBWtrKV/+fl1hF+K1vZyv//sjX4rWzlHZKtwW9lK++QbA1+K1t5h2Rr8FvZyjskW4PfylbeIdka/Fa28g7J1uC3spV3SLYGv5WtvEPyvwDWwLvtgZjm8QAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 6.0\n",
      "\tJ = 8.9534e-01\n",
      "\tgrad_norm = 7.9459e-02\n",
      "\tpenalty = 0.694\n",
      "\tmode power = 21200.802\n",
      "\tdip power = 21975.043\n",
      "\tcoupling efficiency = 0.965\n",
      "Iteration = (31 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 7.0\n",
      "\tJ = 8.9894e-01\n",
      "\tgrad_norm = 1.4495e-01\n",
      "\tpenalty = 0.610\n",
      "\tmode power = 11024.127\n",
      "\tdip power = 11483.994\n",
      "\tcoupling efficiency = 0.960\n",
      "Iteration = (32 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 7.0\n",
      "\tJ = 9.0821e-01\n",
      "\tgrad_norm = 7.0287e-02\n",
      "\tpenalty = 0.604\n",
      "\tmode power = 15566.298\n",
      "\tdip power = 16071.417\n",
      "\tcoupling efficiency = 0.969\n",
      "Iteration = (33 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 7.0\n",
      "\tJ = 9.0284e-01\n",
      "\tgrad_norm = 1.1942e-01\n",
      "\tpenalty = 0.597\n",
      "\tmode power = 24449.286\n",
      "\tdip power = 25399.992\n",
      "\tcoupling efficiency = 0.963\n",
      "Iteration = (34 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 7.0\n",
      "\tJ = 9.0576e-01\n",
      "\tgrad_norm = 1.2081e-01\n",
      "\tpenalty = 0.591\n",
      "\tmode power = 25232.320\n",
      "\tdip power = 26150.739\n",
      "\tcoupling efficiency = 0.965\n",
      "Iteration = (35 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 7.0\n",
      "\tJ = 9.1589e-01\n",
      "\tgrad_norm = 4.2125e-02\n",
      "\tpenalty = 0.585\n",
      "\tmode power = 18147.493\n",
      "\tdip power = 18623.626\n",
      "\tcoupling efficiency = 0.974\n",
      "Iteration = (36 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 8.0\n",
      "\tJ = 9.1102e-01\n",
      "\tgrad_norm = 1.3288e-01\n",
      "\tpenalty = 0.522\n",
      "\tmode power = 8422.290\n",
      "\tdip power = 8743.769\n",
      "\tcoupling efficiency = 0.963\n",
      "Iteration = (37 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 8.0\n",
      "\tJ = 9.1466e-01\n",
      "\tgrad_norm = 1.2887e-01\n",
      "\tpenalty = 0.518\n",
      "\tmode power = 11193.142\n",
      "\tdip power = 11582.000\n",
      "\tcoupling efficiency = 0.966\n",
      "Iteration = (38 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 8.0\n",
      "\tJ = 9.2233e-01\n",
      "\tgrad_norm = 4.5024e-02\n",
      "\tpenalty = 0.514\n",
      "\tmode power = 22909.328\n",
      "\tdip power = 23528.628\n",
      "\tcoupling efficiency = 0.974\n",
      "Iteration = (39 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 8.0\n",
      "\tJ = 9.1957e-01\n",
      "\tgrad_norm = 1.8263e-01\n",
      "\tpenalty = 0.510\n",
      "\tmode power = 33641.288\n",
      "\tdip power = 34663.037\n",
      "\tcoupling efficiency = 0.971\n",
      "Iteration = (40 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 8.0\n",
      "\tJ = 9.2188e-01\n",
      "\tgrad_norm = 9.1393e-02\n",
      "\tpenalty = 0.505\n",
      "\tmode power = 29094.673\n",
      "\tdip power = 29920.135\n",
      "\tcoupling efficiency = 0.972\n",
      "Iteration = (41 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 9.0\n",
      "\tJ = 9.1973e-01\n",
      "\tgrad_norm = 1.7000e-01\n",
      "\tpenalty = 0.458\n",
      "\tmode power = 10998.133\n",
      "\tdip power = 11390.796\n",
      "\tcoupling efficiency = 0.966\n",
      "Iteration = (42 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 9.0\n",
      "\tJ = 9.2859e-01\n",
      "\tgrad_norm = 9.8428e-02\n",
      "\tpenalty = 0.454\n",
      "\tmode power = 11288.366\n",
      "\tdip power = 11589.890\n",
      "\tcoupling efficiency = 0.974\n",
      "Iteration = (43 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 9.0\n",
      "\tJ = 9.2298e-01\n",
      "\tgrad_norm = 1.3906e-01\n",
      "\tpenalty = 0.450\n",
      "\tmode power = 16924.833\n",
      "\tdip power = 17484.737\n",
      "\tcoupling efficiency = 0.968\n",
      "Iteration = (44 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 9.0\n",
      "\tJ = 9.2668e-01\n",
      "\tgrad_norm = 1.0958e-01\n",
      "\tpenalty = 0.446\n",
      "\tmode power = 28103.075\n",
      "\tdip power = 28934.711\n",
      "\tcoupling efficiency = 0.971\n",
      "Iteration = (45 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 9.0\n",
      "\tJ = 9.2947e-01\n",
      "\tgrad_norm = 1.2422e-01\n",
      "\tpenalty = 0.441\n",
      "\tmode power = 35342.692\n",
      "\tdip power = 36301.386\n",
      "\tcoupling efficiency = 0.974\n",
      "Iteration = (46 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPwAAAA6CAYAAACUGjTOAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAKe1JREFUeJztfVlvG9nV7aoiWZwniaQGS54t2z0ZSQONBjoBOui35A8ESP5RXvMr8tZ5CJAAQYI0EnSSDtBz221btmXLkjjPc7G+h3Cdu3hEteWk77241zwAYUsiq+qcs9fea0+HThAEAVZjNVbjlRju/+0HWI3VWI3/c2MF+NVYjVdorAC/GqvxCo0V4FdjNV6hsQL8aqzGKzRWgF+N1XiFxgrwq7Ear9BYAX41VuMVGivAr8ZqvEIjfN43Xrp0yfzfdV04joNQKGRejuMAABzHQRAE5jWbzTCbzRAEARzHgeu68DwP6XQaW1tbuHr1Ki5evIidnR2sr68jFoshHA7DcRxzTQDmWr7vYzqdYjKZYDQaYTgcot/vo9frod1uo9VqodPpYDgcYjKZYDabmWeNRCKIRqOIRqPwPA+e5yEcDiMUCmEymaBWq+Hk5MRco9PpoNvtYjgcYjqdmnnwWfh/Pp/9M+8bjUaRTCaRSqWQSCTgeR4cx8FwODT3GQwGmEwmZn25xjp/3pfzn0wmCIIAyWQSV69exQ9+8ANcunQJ6+vrSKfTiMfjiEajiEQicBwH/X4fBwcHODo6wvHxMU5OTlCtVtFsNtHv9zGZTDCdTuH7vllnvpYVZIZCIZRKJVy8eBHb29solUrI5/NIp9OIxWLmno1GA7VaDfV6HY1GA61WC71ez8yZ9+Sa8tqRSASxWAzJZBLZbBYXLlzA1tYWNjY2kMvlEI/HEQ7/W4SHwyGOjo5wcnKCcrmMZrO5sHe+7y+dQxAEZr6UVd4/Go0ikUggFovBdV2zB7yW/eLz6/W4V9PpFOPxGJPJBJ7nYWdnB++88w5u376NS5cuoVAoIB6PYzQa4fDwEPV6HbVaDdVqFdVqFbVaDe12G/1+H+Px2DwDnxcAHj169EIcnxvwrvu/yIANRoLKFkwClAvtui5CoZARptFohF6vh16vh263axaXQIGlQHh9Gwz2fX3fR6vVwnA4hO/7AADP81AoFOA4DsLhMKLRKGKxmFEA4XAYxWIR29vbOD4+xtOnT+H7vllcAKeE0lYA/FkV3Gw2W5jzeDw2nx+Px5jNZnBdF+Fw2AiLrUyWzZFrM5vNDJAJ7kgkgnA4jHA4jEgkgiAIEA6HkUqlcOnSJaTTaaRSKXieZz4/GAzMutvKPBwOnwK+53nY3t7GzZs3ce3aNWxvb2NtbW0B7K1WC77vw3EcTCYTDIdDDIdDjMdjcy2dpyrmRCKBtbU1rK2tIZ/PY319HYVCAdlsFslk0syr2+2i0+mg3W4bBdZqtdDv9zEajcx9OC/Kji2/CkwClspiOBwiFAoZRcwXr2nLHsRAKV4oB5PJBI1GA/fu3TPPwXmnUilcvnwZqVQK8XgcoVAI0+kUg8EA/X5/QRZ4/Zepjj834AlAjmUWWCetL91MLtBsNsN4PDaWOZ1OI5lMIplMIhqNmkXVa/N+ek37/rz2YDBAt9s1Vj4SiSAejyORSJj/p1IppFIpJJNJI6TD4RDZbNa87+HDh2ZhXdc1gFQFp3OmwOi6eZ6HIAiM8EwmEziOY1gDAc9BwVPlYg9lTLPZDJ1OB48fP0YkEsFoNMKVK1fgui4ikQg8zzPApcVMpVLIZrNIpVIYjUbodrsLbAhzIITDYSOkjuPA9324rot0Oo29vT28/vrruHz5MorFInK5HBKJBKLRKBzHQTwex2AwMHtGpWErNM6DSqlYLKJUKmFrawuFQsGAnsqE8yWjq1QqqFarqFQqBuzcdwiYyOyoDClfBPdgMMBgMMBoNDKf57+q/CKRiLkm2RqvM5lMMB6PzfrZCsLzPKP4y+UyEokEUqkUcrmcUZjFYhFra2soFovIZrOIRCIYj8fodDoLTEPl/rzj3IBXgYSltRSYXCQKuFo7gp3vnU6n6Pf7aLfbBnipVAqZTGZhQ2xttozu6v95bVJ+3/cRDodRr9exvr4Oz/OQSqUWBCkajQIA+v0+otGoocODwQDT6RQATtFdiJVXmq00S5kR/07Fp9odwmb4Pr0W329bKQoiALTbbdy7dw+DwQBBECwoNrIax3EQi8WQTqdRKBSwvr6O4XCI4+PjUyBUF4LPPJ1OEYlEUCqVcP36dVy9etVQbLossVjMAOzk5OQUS9M58OdwOIx0Oo2dnZ2F666trSGTySCdTiORSCAcDhvlVq1W0W63jStWrVYN2ClzBHcmk0Eul0M2m0UmkzGGhetWr9eNe9PpdMx+K83nfpIxxOPxBdfC930jz61Wa8EAKcOgyzqZTNBsNlGpVNBoNDCbzYxcOo6D7e1tFItFJJNJTCYTVKtVNBqNU7L+vwXwpFAqeDY1plKgJSNVpwBysqokJpMJ+v2+8WWHw6G5digUOgV2UkQFzDIwYK5xaZF930e73cZ4PEY4HEY2m0WpVEKhUDCAGI1GZiNSqRQ2NjZw584d9Ho9BEFgKCKtHOkiLbICVOMcQRBgPB4bwSftVu3PQeHgOi7T5Pw811HnPpvNUKvV8PDhQ8RiMWSzWayvrxvB170Lh8PwPA8ffPABvvjiCxwdHS2wF95X9ysUCiGVShl/WtmQzpmxGFpA9c350vcnk0lsbW1hb28PN27cMC4CwU42FovF0Gg0UKlUFuIgjAuMRiMjI5ShRCKBCxcu4OrVq7h+/TouXbqEra0t5PN5BEGAr7/+Gl999RXu3r2Lp0+fmrXmtWxAOY4Dz/OQyWRw/fp1XLx4Efl8Hr7vo16v49mzZ/j222/x/PnzpS4L/09M9ft9dLtdOI6z4NZy/4rFIjzPw8HBAY6Pj0+5s/bP3zXODXjP8xYeWv2sy5cv4+rVq9jZ2UE4HEa/30ez2UStVkO5XMa3336LZrNprK3jOEZBUEjH4zGGwyFGo9GCYEAovNJ6W7Ppc5FqRSIRQ0XVQoXDYSQSCWQyGWQyGXieZ+5B6kVhzWQyuHXrFj777DO4rmvATb8Wc6Wlz5NIJHDjxg2EQiG0220Mh0Oj8KgA7KEWOx6PG4YRjUYxm83QarXw7Nkzo2BsP1sBRN+2XC6jUqngypUrZq1VOBhAXVtbw1tvvYVGo2EUk1p4+//xeNwAnUqedJZ7EAQBYrHYgiKkUtJnpcJLJpMoFovY3NxELpczbpZS8Gg0ilQqhUajYeIXpNCq2FVpMXazvb2NW7duYW9vzyiTVCoF13Vx4cIFxGIxI4ODwWAhMKaAVUN34cIF3LlzB++9954Bpe/7aDQa+M1vfoM//OEPODo6Mp9XV0+NE5+bgUJYrDWXy+Hdd9/Ft99+i7t37y4YCI7zWvmXAryCKplMolAo4MaNG/jhD3+Ivb09OI5jAnHUzOl0GtlsFk+fPkWj0TCLSS3JDdWJQ/wuglzBrkOFiP5VLBbDxsaGAed0OoXrukilUgYcvHcoFFrwwTXASFq6traGnZ0dHB0dod/vL1B7z/MQjUZN1uHKlSvY3t5GKBTCYDBApVLB06dPUa/XMRgMTm26vWH0Y7e2tvDaa69hfX0d0WgUQRCg1Wrhk08+we9//3tMJhOjlNQn1cAoLQcpufrm+gye5+Hdd9/F3//+d6OQOchkSFmprJPJ5EKgkUqILI5MSq0ulsR+CKBUKmXYFvfFdgUglJpAn0wmpwKdGhdJJpNIJBLI5/NGkdDY6HNsbGygVCrh8PAQ8XjcMCheGxaTDIfDyOVyC3vEvxUKBfziF7/A4eEher3eAvPTuIKtgLlHymr5nng8jp/97Gf48MMPlwL+vFb+3ICPxWLAnE5yAXd2dnDjxg28/vrrxs/ghtD30Qkmk0lj6bkptGJcYKXpuiAE5TI6YwOeAlkoFBAKhdDr9QyFUuqJudal5VfroNeMx+MoFArGt+MG0mpTAV6+fBmbm5tIJBImcEhFGYlEUKvVFoJjHDZdz+fzeO2117C7u4tcLodYLGZSh/l8HtPpFB999NFCMJMCri7CZDJBr9czwR7Hiijr/qTT6QX3QJkUlSIVBtcYYtl1P0KhEEajEfr9PlqtlomD2JaSz5JIJEwMgEAMJL3FmAmflUyQ0X7NjtgBQa6LLWOUJzIUBjOVVSyL6KsLwsBnOBxeUKIAkM1m8cYbb+DevXvodDoLLGfZGisDhMSGuO6u6xrZOovlnme8FOA1h76+vo7NzU1sbW0hl8uZB1DQxWIxJBKJhSCe4zgLlo4WWfPjugBcYF0sXfxlgOf9M5nMvyc5p98MJmkwkM+hEfFl10yn08jn8wCA0WhkNoIBMOaH0+m0sQxkKLRCBAdjBfbG0dqura1ha2vL0E4CPggCRKNRvPfeezg4OMDJycnC8/KZKdS+75vApX0vG/TMQOi6Kyh5fSoAzm0Z4CknDILRwisodM4MLDI7Q1nRl35+MBgspPcU5MsCWfbcbWUHyaZobMReB9saq7za8hOJRHDx4kWk0+lTymMZ4CH1F4GV2tVrJpPJl/LZ7XFuwCeTSbiui1gsZlIIpVIJa2trRsMpSGzgT6dTpFIpAwSl7rTIDFjoZmjqZFn+HWcA1Pd9JBIJ8/fxeGw2SK95XsDH43ET5On1eobOp9NplEolXLhwAZlMBpFIBJgH3MgcSD1p9fg3DWZxLRKJBNbX1032gIU61PzhcBg3b97E22+/jY8//hjtdvuUb6xWntkKjmBJ6pSAYl2AnUVQtqX7Sx/aFlIK6v379w2jOwuYnDNz67DSW3Rb+Hm6KvY1bStvp4CXKQ877cm52UwTS5QGjRtjUDarCILARNjVffgusC5jYXpfulP4D607XgbwtFwM1DE/mkqlFt6nVleB73ke4vG48QdVQXieh2QyaarDAilA4aLa6b9l97MBr1qSPq9mEygIpHg24HlNPn86nTY5/fF4jFgsZvz7fD6/YIk1oEfBHI/HC1kL3VyuQyaTWSgwYbSbc3ccB7lcDj/60Y9wdHSEBw8enFoDtfKz2cwwElp9G+wEV7fb/bdQzAWUggtRuPz7svw8mdRkMsFgMMDnn39uYhdnVeuRITG+ooE4zoPBV9/3TaGWFtXwpXEY7h/32A7G2eyGANYskg1OBaIG9DSwyT2azWbIZDImZbdMwaulX1Z3Yt9TYwr695ex+OcG/NramknJsOopl8stUHD74fniQtLicjE1+sogH4WHQCEFt6PQdvRUwWmXapIqa7qIm6IpP/t6qrBo5Ql4CpXmSnldRlwpvBQOrTbrdDoL6xYKhRZy49lsFvF4fMG68/3RaBTFYhGvv/46xuMxjo+PF6LeGrUn4LVaUK0dmUev10Or1UI8HjfxGgqSrUioNKnECBpVEv1+Hw8ePDD31ICo0v4LFy5gY2PDMEi6IaqESWcHgwGePn2KVqtliluUBmvRkyqB4XCIdru9tDQ1sAKCdqpTwY65kaASUeVhA973fWSzWeOm6HVsgFK27FqXZQqy1+udYhQvM14K8PRli8UiisWiKWDQidoWxqaFBCWBziIYWkcFPOuOVeBUw55llbWkVGMABDyVSCB5fVi+VEgqq2h9tUwXczcnl8stlJNSEWBuCfVzBF+9XjepOt4vHo9jfX0dGxsbyOfzxqe1qSktaTwex507d9DtdtFsNhequlRJaSoxmNcDaIR7PB5jMBig1WoZIaai5bNx7RhvYXBNFTMFcDqdotfrYX9/31SSKUXmWjqOg2KxiL29PRQKBRMjIkBVOdJnH41GODk5MYFPAoWfJRB5z5lUc9brdZTLZWOoGK3n/tPC049fFgmHxH1Y+TYcDpFMJhfSrRrQ1b2zA3uKGe4ZLMsPUbzT6RTNZtPMe1mc4kXj3IBPpVKIRCKmYonRY1uzOVZ0/Swt5LouMpnMQvRU8+60PGrhZlbjiN0UYVs4akxHCl50Q23AL7uGgp5pKFoBuiH0P5XqLXM1GP/Y3NxEu902QkFFSiofi8WMdVeBUevgui4SiQSy2SzS6bQp3NAaAkabuW5UOIxwj8djY90bjYZJwRHAtmvDnPbGxoZRqOwNUCpfq9Vw79499Pt9Y8mVLTG6fevWLWSzWQNWsiGyBljxA/qwvF42mzXr0+12zRrYMYx+v49arYZnz54hk8mYkmJVFPyZUXrHqgpVMPMZ2WTF4DD3ZrakNv8sq2wbQVsOIanRv/3tb+h0OsZdXKYUXjReKkpPoWWQ5UV0HhIk4vvceSqOm6ZRUX0/rQ0DNxoAW5aSWUbH9XeBVLhp6sfOSWNJXMCmy/xX14KU3XYRVHA1xVepVNDr9UzkNZvNGhpPJUCNb/ts/Dkk3Wr37983v6Ni4xpDGn9o0Wkxh8Mhut0uWq0WQvNGDU2BqfKLxWLY3Nw0RSbcE5spHB8fG9ahCpBzLZVKeOONN7C5uYkgCIwVZ9ejRuFZ185aio2NDWxubiKTyWBtbQ0XL17ErVu3cOPGDXzyySd48OAB+v2+UeS+72MwGBjLyPQbC5sgpc10LdViz6xuT4hBajabqFarWF9fP6WYgiAwtfl2rYDGYzzPO+Vm2pbb931UKhX89re/NU1hdqzhLEbyHwNeO7BYbEItb/twIWm00eAItZ0C3LVaQRXwtPKkhDa9U2HSBXKthgUzWatpws7t64bpNZwl6RSN3sdiMeN32oEd3UAqu0wmg42NDTx//tyUT9LqUIlqkMy2LgrITCaDUqmEJ0+eLBTjUKmyNZbPwXZiriObjHq9nimYUdZEn51Zis3NTaytrQFSYUjL3ul0UK/XUalU0O/3jTtDIY/H4yiVSrh9+zbefPNNeJ6HwWCAXq9nrFiv18NwOESz2US73TYKwPd9444VCgUUi0UUCgUTF9re3jaAfvLkCVqtlpGR0Wi0oPw5H+a06aKlUilsbm5iY2MDDx8+PGWsAumAnEwmaLfbODo6MoVWKlsATHu1nZbktex2bQ0i83lHoxFqtRq++OILfPnll0YBulJ3oez4ewO8Cr+dmtEUm4LCBjv9Rlp12xWAlTaidSftomCyekx9dNWaClrVlhrMsum8KiB7vlhCmQh6docxF61WYVnwMDQvnd3a2kK73TYKIJPJLPixvV4PiURiAfRcE438M3tAgQlJFaFWlBF4en6ADXiN7DMQRVaSz+exu7uLra0t02HHazAK3ul00Gg00Gw2MR6PzTPRP06n09jd3cWbb76JnZ0d8x4NLrqui+FwaHrBO52O+X0mk0Gz2YQ7L0IhyCeTCeLx+IKifvz4MWq12qmeewKKsSNmiJiB2t7eRqPRwMHBAZ48ebLUwhPw3W4XBwcHuHLlislCKTOo1+umtJr7pbEMgp2KjG2wmp6sVqv4+uuv8Ze//MWwpmXBz+8d8HZEG0I36FMss9Ske0ylEMxMnS3za/R3TOnwgAoeosDop/rpts9pX1spkE03+RlbYegm24EXZi3sKPqyvK9aeRbXbG9vYzQaLcQBMLeclUoFuVzOxAbIdtQH57oTlJq3ti08pKmJAGdQjBY/bHUokoazkej69evI5XKG0dHSUFDZJTYYDE5FpmmZb9++jdu3b5u10PXiMwwGA5TLZZTLZdMDHo/HTalwOp02NQ9c10gkgrW1Nezt7aHf75uGLJa2+latPRlHPp83CoDW/+bNm5jNZrh79y5qtdqpsmA+b6/Xw+PHj3H16lVT/sw9ZPtru902KUQISBkrINMg2+l0Okbxt1ot3L17F//85z/x1VdfnaqncKSun/d90Tg34LvdrqEgtDKz2cw0xFCo6TvTXzw8PDSlhZBSx2WUFxbYtfGiVqthf38f1WoVnueZIh32C6uFd620oA5Xim4osPq+ZZ+x3QyI35dMJo0iswG/LM7gSDry5s2bePLkifEpeS8GhPr9vgEyhZ2KUy19LBbD7u6u8cNp4e2OOt/q+1Y/fjwen4pvEAh62kwsFjMZBrpbZA7tdhvdbnfBHaGSjEaj2N3dxdtvv22ovtZLEPDRaBSdTgflchn1et2AcCZ1DCzg0vQd5j74+vo6rl+/jpOTExwdHaFWqxk5Dc1LfmezGZ4/f45UKoW9vT1TCh2S0uErV67gl7/8JX71q1+hVqsZ2VBjMRwOcXh4iG+++cZYaKYXe70eDg8PjYVnvQLr+6mkmY4OhULmdCCmRT/99FP861//wjfffIN6vW4YqTJiskx+5nsDfKPRMEBlpR0nxjTOdDo1m9ntdnH//n3jzwVSXKKanZPQFAasaGilUsHjx4+xv7+P0WhkilPW1taMH0lL5lsnjiitdyVnqykld36gA4Sq2xFaWmtGpZ159V6tVjNUy04bqoLg4GaR0l27ds24J1r15vs+vvzyS1y8eBGRSMT4gzygQfPos9nMFDWRsqpLogrUrjTTkl+yA1V4pOJvvfUW0um0+awdFKRS4kkz9K15fbousVhsQanTPWS1ZSwWM8qOe2G7YOFw2DAenaMzbyktlUrY2dnBw4cPsb+/b2gy5zUYDNBoNMyhGVtbW2bveC3P83Dp0iX89Kc/xYcffmiYqir18XiMdruNR48eIZVKIQgC04rc7XZxcnJiwE6MaOsrG8uoJFiQFQqF0Ol08I9//MOAnXEIyo4qaB6i8b0CnimWIAhQq9WQzWYXIpDctGg0in6/j/v37+Pw8BDVatUUSdAyc3IUUt0wRxonmLM+PDzE8fExBoOB8fXYcafnxakLoRScmxSWnnD6VVQEPIQDQpdoORQUnC+FvFqtYjgcGuFVAdRCEI2kqguxtrZmIq+OVMIxD02fnxZQBUiLaIIgMGei2RSWa+lLC7BaCq63nQtW/5s974GkJZkRYNxhKmcFcNB6x+NxozBgdey5cjKP53mGBrtWhSXLhKl4tdOSL80EsBRaU6scdG9Y6jyzqu7cedrzzp07+Oijj1Aul5dmYCaTCTqdDmq1GjKZjFHkdJN0H3htyi27SakElLUdHBzg4cOHODk5WWi8UVfVkbMHksnk9wt4jUI3Gg1TVOFKYQatQ6PRwP7+vjlyiHSG1IzKIbDKFF2rUIHtpZVKBe1221hjugXsy+apI/yMHS2nNaFAEzS0GCFpzqH1Ivj4ed862BHzqqdms7mw+GpJ+H53SeWWUrJoNGoEkGBX4NPHUzdBqbAWyzDIpRaAQKHQKQB0zbW4iYJN1garpsKxagwg6UOdK0HB37G2AksKnQh6Gheta+e1qdAJDsfKuzNGwoM8WcqtwVo7k8KXKmTuTbFYxO7uLqrV6sK6cPBa+lxUgO6SylB1ldg/ouzUn/cKHB0doVKpoNvtnsoeheQQDfXjv1fA00r78wZ/aigtwwzP+5+Pj49xdHS0cL4Y5NBGTlYbIgIrn+/PT6g5OTlBrVYzJYUMdjC6ySKORCJh/ELXyulr3ppaXS2vxhSowF4kHBReCqe6C5pZ0Hvbc+R68v1kENps02w2jXWk26TxD30/A2j0zZnLp4/N+WqWxa6CU2rL62PekupKo4gNVLveXwXdl0NLqZBd62w2VZhaR697SWWruXlb+GnlWZBE4Kp1V8Da+2T/LR6PY2dnB5999tlClN1+ZkbKNWhM3zo0b20OrBoKrUfR2ADPGORpxlqFaruoCvrvFfAUGNd1Ua/XjXClUqkFuvrkyRMcHBwsBIMm1oGA9AuHw6FRGAoGXvv4+BjPnz9Ho9EwPiY3VKu3WME2mUwWUlHqq2vgK5DeY6WjvB4FiX9TAVZXge5FWNoftc6Am6jCaAueL/349H/5YjGK53kYj8em10AVkFoWriHXnprfdV1zHUdqCHw5pUafT9kOjyBrNpsLylhZDfPaWsEIq8SUabtut2tAAlHKCiDKiF1WTGajWQp9dgUbz0a0m49U0atC5D1sQEciERSLxVNuJ+8XjUZNHYUeDU53jfX02lVIpb1MqWnsiYVHDL5Cgs62TAZWpuu/Bjz955kUB6hFo4C0Wi20221gnl7yre4sTiaTySCfz5t8c1g66BhV/eqrr1CtVheomy42g4ONRgOhUMiksbjgMzmC+fj4GI8ePTLnpLF0lcJPCsmotyqOkNUXoIUvam05Z1eKIRTwNmtQKthut81BhgSsVpzxmtoeqYAnZY/FYqYQhm4Wc+1UzgzOcS/DcjY/hNLy+TqdjjlLTV0xUlNGm5mH1jQkwTsajUyOXmsGYKV8Xem5d60CKc0McV3UqnLQurILj4BQH1xrKFSRO1bVmiNBXA2EMu6Qz+dx4cIFU5CkR2hvbm4a9kkLzzZtxg5gsRPeL5PJmPer4nSkLoRszD7C+nsBfLPZXKBUFKbxeIxcLodQKIRWq2VaLHUoZSII6/W6OTiDVpEWyfd9/O53v0O9Xl/oxtLr+NLAgHlQsVqtmrPJyuWyKd44OTnByckJRqORUSA8JZf3I9jDVitjWHqZp9MpWq0WZrOZqTaz56mBOpvG22CnEiR9Y+sn11ir3mjReJQShOZSQTB4R7+eAkzXgzEWzdkG87PnbH/eDkqVy2XTvqvdgszTs8OPJ/3q9bnntVoNlUrFROztEmfKV7/fN36trhVZDPvhya5sS0lgMnptt+fSKrNpR2VUAcX3f/rpp0bmyQKZXrt8+TKuXLmCzc3NUw1PrNp79uzZQmBwOByaohy6ylQijE3xqGrijnEPiJWfyXHs33vhzcnJyYJA6QGLwTwtVi6XMRqNFg4vVMGcSUdXr9dDtVqFM09R8IG1IwpibZRGq09IzUYryWvQYrJYh22RZCcqkHypUhmNRubQxHK5jAcPHpgcs+d5C9F6xyo2IgBzudxC2nEZ4AkoNn+wa20iRy1r5xoFnMFAgtKOzE/kqOuJHPQYkk5GCg5bM+3gYiDtpa1Wa+FMBL6fMpDP55HP501dgr22LJetVCrm8Eg9P4BpLgUArDgMLS3ZDwOACnquE0FOWYT47mSDm5ubLwT8dDrFxx9/DMz7STQGksvlcO3aNZRKJQN2rX1gMVA6nTYRew3+Pn/+HLu7uygUCgusEADy+Tx+/OMfIxwO48GDB6fcCUgmhUeYfa+APz4+NovuzI8lotZhMG02L7Cgz0aNrCkbPqz6qKRw/ryktNVqnfKxbSugTRv8LOZWmBVL7XYbnU5nwTfWAgi7eUeByMDJ8fGx+ZofChGFjIBWa8RnaLfbODg4QKFQWMglc3BO1NDdbnfh0EkKH8Eeki9TYB6aguxLfT1Tef6SvnfNSnDNMT9lN2wd6qhWnvGPXq+3cMCjWtVsNmvcpXa7fSqFxaKZer2OfD5vKgi1QYisxh4zq8pRAc/1CFlt2eVy2RRp8V5U9tri7ckXSdjxBN/3cXx8vJDO1b3Y2NjAxsaGKdFVpUn53draMiXBmmXy5w0xnU5nIXuibsPVq1fx6NEj7O/vm7WwQc/9X8asl42XKryhJWdumPSFD8k8qiuHICjg1Wex21tnUslGQbdLPW0htotPbOEk9aPlYO4+ZNUx06d0JP1DBkGryyYP7d7L5/OmndW1TocZDAamOUb7sxVIpK8Eu+bZMY8uc/MJdgJOI/Oa6fClS0zXy5eDGjTVhbmF1xJc9b/JIDSmwL3XtFwwLzrJ5/M4Pj42DAUSC2AbbrPZNNZSa+k1i8OhSlgBzxetKkHJ99dqNdPyq+6K53kolUrY3t42MR/b3eJ9+v0+/vznP59ygThn+uh6yq4doC0WiwvHeVMZTOSAUcZowtbpTuvr67hx4wbK5TKeP39+CvDqei5TlP8V4BmlZ/MLu8TCcnYdvywgsMou7aozRuFhnSMWyCEEtsbkJijQNYioKQ2tN5/Il0QQ8AwiTeQ0Gt1QX/rxqTBoiVknPpvNkM1mkc/nTx3yoIEllrsyIqyWajQamS/g0Np2zeFqkI3Kg+vDCDss6xRYaURdL8dqNqKvawu+rgdjAvb3wmk8wHVdlEolFItF7O/vLwCUgOcpto1Gw9RwqDtHJZFKpYyxCKyjqxiTYHmwDXjOlcFj16o7SKVS2N3dxc7OjjnjwbXqP5g1aTQa+OMf/7hg3XXedAnCS878Jzj16DNlD1xXMkcFPCRFevv2bQyHQzx//nwh+Kvgf5lxbsBzMADTarWMdeRJmjz9hT60I40GBB+ELpEpsLSQvqntm+kC2WeRazBQFcuyMlIqGbvjDBLo0aAg/V/7W2ppjXimHU+A0TXi51jBp0U8fB66L3Q7CChN2bDmgNaddfd8PqWktu+soFdFQwAQ/FQiOoIlJc58aTyGjC8ajWJjYwNbW1um4k+rKH05aqper5sONcZESHNpFQ8PDw1z08IY13UXvoRUKT3/Ph6PUa/XzfHkITlRZmtra+E4cU15wQoy7u/vL1BsCODD4TDW19cXFAasuEUwr36kMnWlio/ywm/MUZcEwiQ2Njawu7u7cO49zqD25xkvDXhIgIydPsx/88sEHamB1mDMRL4xJZDv52LddTA/r007vTR1o4KnxTo2BZ1ZhRTLqLSCPSQVcgoMBb4et0SB833flPW60hQUSMpNWyNVoAaDAer1uonWsilGq9LYNsm6AxYaUcFOJhPTiGGnDlWx2BbSni/TeWrlFAC+fPOtBitdOfPdmR9ZxWg1A0m+nKVHF6nRaBjrynsQFJ7n4eLFi2g0Guh0Ogt7SZlisJYHiHDOfM4vv/wSDx8+NNkCKs5QKIR3330Xe3t75jx5ZTscvu/jyZMn+PWvf41MJnMKWFQCDGKeBbpAvrXWBijXjsxO08P6+cj8uOv3338ff/3rX5de62XGfwR4pWj8UglPvskFkk9VOk2fk9Q2ZB0aoJo4bJ0gCjn6+awI+TKAB1YTjG3tWLijFVEz65hj3zrdlbSbbgvLenmq7UzOeYf4bXxWdsMR7Awqcl6uVSqqATs2XbDqjueec2196zRVuwZCLZ5aEy2A0n222ZOyJtc6Py8cDpvAXaVSMdehOxiZH0TJNKQewe3KN/1cu3YNz549W1CsGj9iYLbb7RpLSQZRq9Xw+eefm4xRICXD29vb5gw9W0GqO0ZFHbZar3UwZmX/3pbDmVUUYzMFNTp2loRjc3MTH3zwgckW2ONlgH9uwL///vvmW0YrlYoRUA0wYcl3ptsUW4NXtt/jSLWUXesN2YyxfMe6Bi502IC3f89AGGkyrTQLWGxXYmp9cyyLXZ49e2Y6BDc3Nw2d5bPRSnM+pIv03chYGBCbSaunRnu1TiGRSBhaz9x32DptRQOPtuC5ciIvlgBe19ZmT+qbK1vgK5/Po1gs4uDg4BTV5f4xO8M4i6a7XNdFoVBAqVQyfrgzL/jRU5YIyl6vB8z9f8dxcHR0hKOjI2PdHSmSuXPnDtbX15cqN/2ZR3UpXV9m4VVhniV7vnXmolr4QA4VtY2CjQl2Eqrs4yXBjpcB/E9+8hOMRiMcHh7iwYMHePr06cLRQZCzyxX0mpLTSDhEoOwJ6IKqtdPrKe3UYS++XlcHaZ5dkYW5L+wuKXe0/XAGXZ4/f26acnK53ELFHuMc2iAxsc6+U0UC0f5K3TT4xOemS6HZEp2n7dpAhM6Vry1mOvWsYc9flYc+mzuvPWdM46y8PuMbGgCEMLxUKmVy+lS83K+wfEMx2ZYz7zQbjUZ48OCBqcfQ1KHnebhy5crSjIk92MNh0/FAcuHuGecmOFbE35fvElwmh8v2xn4/jVM6nTbVmN91ze8a5wb8O++8g9FohOPjY+TzeUSjUfMlCJDNJK20/WmlulhCxe2hC2u/16ZJ9viuv0EsE4HDriUqJrupZJmboH46BSSY59V5LZ4+q+fLz+ToKNuPnsn55rYStIHKZ9ca9mVsx35eWEpVKf53Cc6LaKo+lzZ76FCWYLsHui9sFtL6AFrpZX0S/Hu73Ua5XDadguoWRSIR06sOi73Y89RSYpv2B9LvofNTsNug5+9sGVwml2cNFgvxe+f/03FuwN+8eRO9Xs/0jHc6HTx79uwU5VYreJZfbQ97QezAhC66+t94AaWHLOKyoImmukiX9NDMs5SSrZG1Gi2YR2b5mXQ6bdp3eV++n0pguuSgDCzR+Mss/bIcsP2cZ4HedhnOGssU3VnMLCyHaCyzWMsCibCUEPdFv7XFtdpllWXxZ6ZNMXcx9fkYH1C/GWcAn6XfNtjtuap8LAPrsjU6C6wvAjHz8gcHBy9N43WcG/AbGxvm6555lO+ylryzgHeWFV/2u2VA/657vGicdR8VdqV/3wX2s65jv38ymeBPf/oTfv7zn6NYLJpiHCoIBcV55mWviSstuct8v/Osh329F42Xeb7zsAX7mjaLsffDBp1eg9b+LPC96Jl0KHM46zPf9beXkc/zPpPjOMbYfpfieOF1gv+GH6zGaqzG/1PjfBX3q7Eaq/H/xVgBfjVW4xUaK8Cvxmq8QmMF+NVYjVdorAC/GqvxCo0V4FdjNV6hsQL8aqzGKzRWgF+N1XiFxgrwq7Ear9D4H9HYwPeJchPqAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 10.0\n",
      "\tJ = 9.1725e-01\n",
      "\tgrad_norm = 2.0425e-01\n",
      "\tpenalty = 0.402\n",
      "\tmode power = 22519.909\n",
      "\tdip power = 23521.792\n",
      "\tcoupling efficiency = 0.957\n",
      "Iteration = (47 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 10.0\n",
      "\tJ = 9.3295e-01\n",
      "\tgrad_norm = 8.7255e-02\n",
      "\tpenalty = 0.397\n",
      "\tmode power = 27879.178\n",
      "\tdip power = 28662.293\n",
      "\tcoupling efficiency = 0.973\n",
      "Iteration = (48 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 10.0\n",
      "\tJ = 9.2987e-01\n",
      "\tgrad_norm = 1.6063e-01\n",
      "\tpenalty = 0.393\n",
      "\tmode power = 36241.082\n",
      "\tdip power = 37392.982\n",
      "\tcoupling efficiency = 0.969\n",
      "Iteration = (49 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 10.0\n",
      "\tJ = 9.3010e-01\n",
      "\tgrad_norm = 1.5227e-01\n",
      "\tpenalty = 0.388\n",
      "\tmode power = 34755.844\n",
      "\tdip power = 35869.977\n",
      "\tcoupling efficiency = 0.969\n",
      "Iteration = (50 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 10.0\n",
      "\tJ = 9.3480e-01\n",
      "\tgrad_norm = 8.6082e-02\n",
      "\tpenalty = 0.383\n",
      "\tmode power = 24952.972\n",
      "\tdip power = 25642.153\n",
      "\tcoupling efficiency = 0.973\n",
      "Iteration = (51 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 11.0\n",
      "\tJ = 9.2062e-01\n",
      "\tgrad_norm = 2.6132e-01\n",
      "\tpenalty = 0.353\n",
      "\tmode power = 14742.606\n",
      "\tdip power = 15421.940\n",
      "\tcoupling efficiency = 0.956\n",
      "Iteration = (52 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 11.0\n",
      "\tJ = 9.3850e-01\n",
      "\tgrad_norm = 6.0557e-02\n",
      "\tpenalty = 0.351\n",
      "\tmode power = 30944.033\n",
      "\tdip power = 31783.785\n",
      "\tcoupling efficiency = 0.974\n",
      "Iteration = (53 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 11.0\n",
      "\tJ = 9.2657e-01\n",
      "\tgrad_norm = 4.5544e-01\n",
      "\tpenalty = 0.349\n",
      "\tmode power = 62661.433\n",
      "\tdip power = 65175.091\n",
      "\tcoupling efficiency = 0.961\n",
      "Iteration = (54 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 11.0\n",
      "\tJ = 9.3726e-01\n",
      "\tgrad_norm = 1.3739e-01\n",
      "\tpenalty = 0.344\n",
      "\tmode power = 26083.433\n",
      "\tdip power = 26843.055\n",
      "\tcoupling efficiency = 0.972\n",
      "Iteration = (55 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 11.0\n",
      "\tJ = 9.3110e-01\n",
      "\tgrad_norm = 2.7552e-01\n",
      "\tpenalty = 0.340\n",
      "\tmode power = 14073.962\n",
      "\tdip power = 14582.365\n",
      "\tcoupling efficiency = 0.965\n",
      "Iteration = (56 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 12.0\n",
      "\tJ = 9.3442e-01\n",
      "\tgrad_norm = 2.0789e-01\n",
      "\tpenalty = 0.318\n",
      "\tmode power = 10793.581\n",
      "\tdip power = 11171.070\n",
      "\tcoupling efficiency = 0.966\n",
      "Iteration = (57 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 12.0\n",
      "\tJ = 9.3674e-01\n",
      "\tgrad_norm = 2.0010e-01\n",
      "\tpenalty = 0.316\n",
      "\tmode power = 24160.809\n",
      "\tdip power = 24951.189\n",
      "\tcoupling efficiency = 0.968\n",
      "Iteration = (58 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 12.0\n",
      "\tJ = 9.3609e-01\n",
      "\tgrad_norm = 4.0679e-01\n",
      "\tpenalty = 0.314\n",
      "\tmode power = 70509.692\n",
      "\tdip power = 72879.455\n",
      "\tcoupling efficiency = 0.967\n",
      "Iteration = (59 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 12.0\n",
      "\tJ = 9.3791e-01\n",
      "\tgrad_norm = 2.0113e-01\n",
      "\tpenalty = 0.311\n",
      "\tmode power = 41804.340\n",
      "\tdip power = 43143.020\n",
      "\tcoupling efficiency = 0.969\n",
      "Iteration = (60 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 12.0\n",
      "\tJ = 9.4025e-01\n",
      "\tgrad_norm = 2.5264e-01\n",
      "\tpenalty = 0.307\n",
      "\tmode power = 25748.521\n",
      "\tdip power = 26517.867\n",
      "\tcoupling efficiency = 0.971\n",
      "Iteration = (61 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 13.0\n",
      "\tJ = 9.4298e-01\n",
      "\tgrad_norm = 1.9770e-01\n",
      "\tpenalty = 0.289\n",
      "\tmode power = 18771.299\n",
      "\tdip power = 19314.514\n",
      "\tcoupling efficiency = 0.972\n",
      "Iteration = (62 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 13.0\n",
      "\tJ = 9.3831e-01\n",
      "\tgrad_norm = 2.4655e-01\n",
      "\tpenalty = 0.286\n",
      "\tmode power = 36051.354\n",
      "\tdip power = 37283.141\n",
      "\tcoupling efficiency = 0.967\n",
      "Iteration = (63 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 13.0\n",
      "\tJ = 9.4770e-01\n",
      "\tgrad_norm = 3.0916e-01\n",
      "\tpenalty = 0.284\n",
      "\tmode power = 73330.091\n",
      "\tdip power = 75124.741\n",
      "\tcoupling efficiency = 0.976\n",
      "Iteration = (64 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 13.0\n",
      "\tJ = 9.4116e-01\n",
      "\tgrad_norm = 2.3562e-01\n",
      "\tpenalty = 0.281\n",
      "\tmode power = 48064.009\n",
      "\tdip power = 49586.843\n",
      "\tcoupling efficiency = 0.969\n",
      "Iteration = (65 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 13.0\n",
      "\tJ = 9.4345e-01\n",
      "\tgrad_norm = 2.5314e-01\n",
      "\tpenalty = 0.279\n",
      "\tmode power = 34732.187\n",
      "\tdip power = 35758.010\n",
      "\tcoupling efficiency = 0.971\n",
      "Iteration = (66 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 14.0\n",
      "\tJ = 9.5072e-01\n",
      "\tgrad_norm = 1.4767e-01\n",
      "\tpenalty = 0.264\n",
      "\tmode power = 28125.287\n",
      "\tdip power = 28783.696\n",
      "\tcoupling efficiency = 0.977\n",
      "Iteration = (67 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPwAAAA6CAYAAACUGjTOAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAK7lJREFUeJztfUmPG9fV9lNVnOe52ZNarSGypLbl2EocZ1i8Cy+CIPuskp+SP5H/EMBAAhheJMjCiBcJYhtOrMlDJLslqwc25+LM4lDvhs/B4RXlyInyfcArXqAhqUUWq+49w3OeM9Dyfd/Heq3Xer0Qy/7/fQPrtV7r9f9urRV+vdbrBVprhV+v9XqB1lrh12u9XqC1Vvj1Wq8XaK0Vfr3W6wVaa4Vfr/V6gdZa4ddrvV6gtVb49VqvF2gFnvWFW1tb8nfLsmDbNmzbRiAQgG3bsCwLlmXJa3zfx3w+x2w2w3w+lx8W9gWDQeRyOezv7+PixYu4fPkydnZ2kMlkEIvF4DjO0uf7vg/f9zGbzTCdTjGdTjGZTDAajdDv99FqtVCpVHB0dISTkxO4rovRaITZbAbLshAMBpFKpVAul7G5uYlCoYBMJoN4PI5AIIDxeIxKpYLHjx+jUqmgVquhVquh3W7D8zzogkTeC3+n/61/BwCO4yAcDiMejyORSCAWiyEUCgEAxuMxOp0Out0uhsMhptMpLMuC4ziyp+ZnzudzTKdTeJ6HyWQC3/eRSqXw0ksv4c0338SVK1ewtbUlzxYOhxEMBmFZFiaTCY6Pj+U5Hz58iIcPH+Lrr79Gq9XCeDyWM9P7vKoY07ZtJJNJHBwc4NVXX8WlS5dQLpeRzWYRj8fhOA7G4zHq9ToePXqEr776Co8ePUKlUkG73cZoNMJ4PJbP4GfyhzISiUQQj8eRSqWwsbGBbDaLZDKJcDgsMjKbzeB5HtrtNvr9PobDIcbjMcbjMSaTicgeZZf7au6p/mzHcRCJRBCLxRCJRGDbtryWcsw/9XX4Q7mnnE4mE3ieh/F4jEAggP39ffzP//wP3njjDVy7dg27u7tIp9PwfR+1Wg3NZhPVahWPHz/G4eEhvvzySzx+/BitVguj0Wjps7m+/vrrf6nHz6zwfGBuGjeMm7RK2fWD6/daliWHNBgM0O/30e12MRgMkE6nZcP10hu8ysDo1/m+j16vh16vJ0oUDoeRTCZFoUKhEKLRKJLJJKLRKCzLQjabRbFYxOHhIQKBgAgO79c8YD6/edh8nWVZmM/ncBxHFIjGw/d9eJ6H+XwO27ZFKbmfFNBVe0Ch5PX7/T4ODw+RTCaRSCRE0UOhEAKBABzHQSAQQCQSwdbWlhid+XyObreLs7MzMeK8ruM48j7eO+/Jtm3EYjFcvnwZN2/exHe/+13s7++jUCggmUwiFAphNpuh0WhgNBohGAzC931MJhNRQu6bFlo6kWg0img0ikKhgHw+j3w+j1wuh2w2i3A4LHs3Go3Q7XbRarXQ7XbR6XTged7SHs7nc1iWtbQP/BzLsmRPeW+e58mz0ggPh0PZD77Ptm04jiMyqOVdywSUg9T72W638cUXXyCVSsnzRiIRJJNJFItFMWg0ZLFYDIFA4AljBeVcnmX9WwqvBZDCpxVSPzgfXj+04zhi/QaDAbrdLlzXRbfbRS6XQyKRkEPR1+bftbLz0PQGWJYFz/MwHA5FwcbjMQaDAXzfRyAQQDQaRSqVQj6fFyGdTCYiVNp7uK4ryqkV37To9BJa4W3bRigUEoEHIH9ybxzHQTAYlH2dTCZLCrbK0+vr8x4fPHiAeDwu90QERkFxHAfJZBLBYFB+DwD1eh2NRgPT6VT2XJ8vf897CoVCyOfzuH79Ol5++WVcuXIFm5ubyGQyiEajck/BYBDdbleeTRtDLUt8jkAggFQqhWKxiHK5jO3tbZTLZRQKBUEOvu+j0+ng9PQUlUoFw+EQzWYTjUYD/X5fFJw/VDIqVTQaFdRDhaUcdjod9Ho9MfQ0BLPZbMkA8r3BYBDhcFh0g2iFxohnoNEwz9fzPFQqFRweHiKfz6NYLCKfzwvC5esty8J4PEa1WsXx8fGSTpio81nWt1J4U+AodObvtRIQUlHZ9bXm8zk8zxMP3+v1MBgMUCgUlqwpD5Gfo+HuKsHR79NQrd1uy+HFYjFkMhmUSiVkMhkEAgF4nifKyQ0fjUbwfR/9fl8OX0M/fg5hG3+vF/eDr+FB8hk0mqH3ovBoz7vqeR3HkX1vNBq4e/euoJJAIIBwOCxekSsSiaBYLCIWiyEWi6HRaODRo0fyefzRcJfeZj6fI5FIYHt7G1evXsX+/j7y+TwSiQTC4bB40EAggGKxiLOzMwSDwSWhDwQC8ll8DoZce3t7eOmll3Dp0iVsb2+jWCwil8shlUohEolgNpvh7OwMs9kMrVYLs9kMw+EQnU4Hg8HgCXTCPchmsygUCmI8kskkIpEILMtCp9NBtVrF6ekpqtUqWq2WGGgaKJ4rlTsQCCAejy+FMEQDnU4HrVYLvV5P9pDGRYfB4/EYtVoNJycnqFarOH/+/NIZRSIRhMNhWJaFZrOJw8NDQWM8Hy0Lz7KeWeEDgcCSF4dSMFo8PggW3ovxtY5PefA8FAr4YDBAr9fDaDSSz6MiaBirPb15HzxgQlmNEhzHQb/fx3g8huM4iMfjyOfzKJVKiMViACBxZSwWQzqdxvb2tkA7/r+OOXV8SGXQi4dCtEELHwqFZM9MaEiDRIXl66A8gzagGmLato3BYIDj42NEIhEEg0EkEgmkUqmlveP+hUIhlMtlvPXWW/j444+Xrq2hKu+Hv8tms9jb28P29jaSyaQIu+d5sCwLoVBIXhuJROT9WgkJbfn7eDyOra0tXL16FdevX8fOzg5KpRKy2SxSqRTS6TSSySQAIJ1Oo91uo1qtLl0fCpXw34FAAMlkUgzJSy+9hAsXLmB7exvZbBYA8Omnn+Lu3bu4ffu2oBPKGzkM/fy2bSMcDiOTyeDq1avY29tDNpsVo/v48WN89tlnODo6WpJRni0NhuM4mEwmcF0XzWZTkJ9eyWQSFy5cwGw2w7179/Do0SPZb32Wz13heaPaS4fDYaTTaezu7uLixYu4cOECotEoJpMJer0eWq0Wzs7O8Pnnn6PRaGAwGMDzPDmIWCyGaDQqJBYJDq3AWCjBNz2YjstjsZgQZIPBQN7P/6f3DofDS589Ho9FoelxYrEYcrkcrl+/jlu3bqHT6UgMytet8uiO4yCRSMBxHHQ6HTEYOnZ+2mIMm8lkkMlkkEqlEAgE0O/3cXJygtFohE6ns+RxKDw8m9FohHq9jsePH6NYLArhys/VoUggEEA+n8fNmzfRbDbF4GqF197Etm0kEglks1nEYjEhA4fDocB/AAiHw/J+xtU6ltaohgpfKpWwubkpSh6LxYSL0K+nQU6lUojH4yJHPBdNmEajUWxsbGBvbw8HBwe4cuUKtre3EY/H5XoHBweIRCIYDofodrtCotKgm+fDEOHcuXO4efMmfvzjHyOXyyEQCGA+n6PX6+Htt9/Gu+++KzwJDC9MA02HwBBi1SJf8sYbb+D27dvodDpL13pWZce3VXj9wJFIBLlcTm7k+vXrCIVCmE6n4tld15VDfPjwocRZfDgqaCKRQCQSEQXnZ5DsocB9k7KT0U0kEhiNRtjd3YXv+6jX65hMJrBtG5lMRuAln4ceezQaCRLBwiDx/kqlEnZ3d3F0dIR+vy8MOaE54/ZCoYC9vT1sbm4CAPr9PqrVKk5OTjAYDEQhGNNqpeI1bNtGKpXC+fPn8frrr2NrawupVEoQygcffIDf//73cF1X9oTPz+cikVev11Gv1zEYDJDJZACDa+H7Q6EQfvKTn+Cvf/3rkufQ90hhJqIj0clMiUY8hNHcA1N5TG6GCkQjwmfhuWuPS1nUSEGjS22cgsGgEJn5fB7ZbBaJRELkTK9isYhisSgkGnkOGhA6Cu6x5jEymYzIk2VZSCaT+OUvf4mjoyP0ej1BTiZBqcNOZlyetiKRCH7+85/jt7/97RLi+rbE3TMrPOMdKjs9+8svv4ybN29KSsHzPCFF+BONRpFIJFCr1dBqtUQAoFIvjAHJVtPLm0phsvPauzOFQ8JkMpkgFAqJhWVMRMvKTAHvWwsWBZsptY2NDfR6PYm96E1isZgo5O7uLkqlEqLRKKbTKXq9nhyOJpVM7kNzDcFgEJlMBteuXcPOzg42NjaQSqUQDoclfu52u/jDH/6A4XC4RN7pkGoymaDf76PZbKLVamFzc1MEzEwvWZaFdDot4YMZG2ph1+QrlV0bPRNudjodMZJmSMF7CIVCiMfjImM0jOQ8uDdc+vea3zEJXG0MyS88zRtSThkKMVwixNfvIweUTCZF2fU98Ho3btzA3bt3JbVrpgdhZLr0Molfy7KEdFzF1D93SE/mPBQKIZFIoFgs4vz589jf30epVFo6aJPYs21bSIhkMonRaCSH5vu+bDbTSaZFpXCYuWltGOhVeB0qEe95Mpk8ofA6TUah0haYXj4SiSCTyaBYLMK2bfT7fbH89C4khbhPnuctpeMofL1eb2lf9YEztstkMiiXy8hkMktpNj7rD37wA9y7dw+Hh4dPpH60lxuPx+j3+0IewVA07XVMIhGGsq8iZ0ejkWQ+9P3zXGezGZrNJnq9nuTctcEhuuLZ2ba9lK8ej8dydlohiMb0NbWSrMrawEidUZ700tkL7UVXKRPrKxgSrko9nz9/HqlUagmxaMNgGn1TLrQx49kmEoknPLtJ4H3TemaFz+VyorjpdBqbm5vY2dlBuVxGJBKRDdYMKfOx3EzGzmSh6SmtRZ6chSl6AzRMNRVeb4RWzlgstpTLtm0bo9EIoVBIUm5zVcBiGXl27cW0l8/n82KgGCYwv18sFqWIh8qARcig712TgGZWw7IsRCKRpRg2EokIyUcrf+HCBdy4cUO8t0leagKQyuEbeVut8LpIxExrPU04Z7MZBoMBIpGI/JvnT4NerVZRrVbR7XaXlJOvJ6pi+MZ4fzgcYjAYCOILh8NLCt/v9zEYDJZy+maBF+9ZZ4s0WjAVXmdmtOGEMnwwDN6qPLyW2UKhIDLxtP2EguPm/WgjwP8jD2We53P38BsbG0vprK2tLanosm37qUUGtICMcYLBoGw4Cx1msxlCoZAUwZgHp+PHp3l4rZyE1BRCwnASYoStFALCtm9i/Umk0TiNRiM4joNUKoVSqYR4PC7s9Hw+F4/M+w6FQpLLJhLSEJuGJJFIIJfLyV4QXmoOJR6P480338T9+/fR7/dXZiwopOQnCLe1kdGKzkwJPa72SLZRpEJl7fV6Eudqwoze76OPPsLjx4/RbreFH+Fn6r2nQaOB6vV6AsEZrumMiK5O5OfqH40OqeyDwWAJFZgeUefMzayEXnoPfKMQyuQZkskk4vG4GGsY0Fv/jiGE/hzTyGBBLptI5r/i4Xd3d5dyjxsbGygWi4hGo0sPoK2jpVIxAEQpNNwdDocSxzE+oUBNp1PxyDx8wnHTymkyhZ5e58qpjIzReEAUOhjEh2lEKHBUeCITlpNSoekxed98Pckofi5zxlzBYBDxeFwKMJh3JjLSzxoMBoUwInuvvYE+B0J7GMKqC4WovEQLLPzg+7XC8/mYLSCaYcjG9GqlUsHf/vY3HB8fL/E2prCWSiXkcjkhfPv9vuzbXFVWRqNR5HI5SccxY8JnIGLU2RMaosFgANd14bouBoPB0n1oD60zHv9K2VmZp8MUrYBYpA/pYPQ19LWJEnXJtSmL+t+dTmfpM7/t+la19GQ9c7mcVAUxveGrXKXpiVd5IJJ1mmiCimm119AKr4XuaZVtwWBQBIifS1hFr4mF4vH62kpaRr0AvTyVirCKQshwR8emOm4zU4DdblfiXH+RDw+HwygUCiiXy1L9RyGwjaInKsCNGzfQarXQaDSeCGF4zzSsWig1xCWE1ik5nftfFddjEUe7ritKSoKWn3d6eoo7d+4sneNsNls6+62tLVy+fBm5XE5ISToAEoKDwUC882AwQKVSQavVEmRDFMb3TKdTxONxWIsKOhqmarWKSqWCYrEobL1ezBawhuNp8svzZR/EeDwWUs90QlruTI8NA0lSRvQ+m6hgMpmgXq9LVsM3yNVnWc+s8PRQqVRKhDwSicgmQEETHqyGgfMVtca6pFWnP+h1xuPxEjGCRUxsNkaYsQwhMGGijrcYF2pvvGqDbaNAiIqv2d54PI5MJoN0Or1EQtmq+Ejnn/mZw+FQIC49SzKZRLlcRrFYRCKRkFSlNkb6gJnrZ9WY67pLIQyNnkkqUdlZZEQIXa/XxQDqPee+UBnIZWCh9LpQiOfT6XTw+eefw3VdeQaNwFipd/HiRSFYPc+TdCfJRr6f90NDQW6IufvJZCK9GESPRAie56Hb7aJareLRo0fIZrOi8LqEmoiKvAl/byoxZXg8HqPdbqPX6yGdTj+R3eC5aq5Eh6lQhpnKzlQmVMxOWfQ8D3/+85+XnIU+n+eu8LpggjdIgkqny7SScNPnqtacsaSuviIMM62oJlposSmkJIZMkskkTniPVGBdQz03GlHMuFXHctoA8E+mGxOJhMBmHQuSjNKxne/72Nrakt4BWxUwlUolpFIpUVR6d00IQRnYYDCIUqmEc+fO4dNPP5XP4RmZ4QsN6XA4lPw44W69Xl/iNfQ+6ufN5/MoFArikckP0JAw/398fCzPS6Vls9LGxgauX7+OQqEgntJ1XbTbbYHgOo1FhQmFQtje3hbuKJPJ4Pz58zg4OMDBwQE++ugjPHjwQGoeAEjpdqPREGKYBTu6dBWLtC0NOGtAfKO6VPMC7XYbzWYThUJBUoqWqh3Q/RyaVNSIlqlkjTyh8vQMTxqNBt555x10Oh1pSNKpw+eu8FpgNaHlGykz2yj5NIke5pp9lXYw4ZPJrDJeHo/HIqQkmGCQHjqO4r1oz2+W7PIatirBNZUfRkxlejxmBcj4rwphuFe8Fgt5eODpdFpiPj6HY/QTmGjJsixkMhlsbGzg/v37wsaTd6A31EI6HA7R6/XQ7XbR7/fFkzJ+N1tiiZTomdl7QC9H48tiK8bYruvKvmBhnBKJBHZ2dnBwcIDXXnsNtm3DdV00Gg0xjGTfWYtOw+77vkD1XC6HYrGIzc1NJJNJ2LaNixcvIplMIplM4quvvpJ2XzbGQNVW8MyI0CgjiUQCm5ubKJfLAvlXGVueteu6ODk5wfb2tsgWZYZ1GDpDMVONZPqc6N1NGaPM1+t1fPLJJ7h3754gW11sZIbFz0Xh6cVpqSjI2htQQFcpFZWVgqs9O1QMsirO5IGz5ZWbqD9Xky0mn6CVWUPrmdHaaxl5Z22xV0GyQCAg0JD5dfO1vlEYw7+fO3cOo9EI0WgU6XR6qaXV930MBgPJueoz0E06vu9LWjAUCkm6j0Kk6w74eiq467ro9XpL//YN9t5alBgnEglkMhlsbm6iVCrJ87KLkErVbrfRaDTQbDYxHo8lziRpms/ncfnyZXz/+9/HuXPnJPXGc2MrqOd50gHH0Me2bSmntSwLW1tb2N/fRywWw3w+RzqdXmreefDgAer1upRLz42ag3A4LGXL9M7RaBRbW1u4ePEiDg8Pcf/+/SVuhDLCc3BdF1999RX29/cFAWm5Z187C4/M8JHnzfvWiJXn3Wq18Nlnn+H999+H67pLz6GN2Krqwf9I4algjLXIRNMjOKpf2DZaAcfjMbrdrtTRsyzV87wl6KS9vk4ZjUYjEQIOBuDG0gNpQksfjqn42mMyzDA3EEZMr1+ra+3tRRnsKpTiq2IUGChEM/+z2UyElcpBcoZkoE6d0avS0mNBIsZiMbiuKyECq7JI3JHUYqMG40+2hbI+Wxs4pmFzuZx0x6VSKYGz9EA0wOxJ55AHjfqoTDdu3MDBwcFKoos9ANPpVM7aLJ7q9/vIZDIoFAqChrgH+Xwe165dW3IM/X5/ibTUDocpZl0aGwqFcOXKFcxmM9y9exdnZ2dLKFBzA+Qqzp8/L2iL3IfneTLwg7KvnQkNMclO3/fR7XYF2s/nc7iui3/+85/48MMPcfv2bQkbuTQHoMOB56Lw7XZbhIewKxwOC1yhh2XOkTnn4+NjIRqg4ksKr47zTSZTM6+1Wg337t3D0dERsICIjMl0Cslcq8g4S+Wo9f9pwo/LRCi6hXQ+nyMWi6Hb7S6hCv2+VVkEezFA4tq1azg+PpbiDHpLKhRLcadqbgD7tXVOORKJ4Ny5czg9PRVB1kU7VAoy1lR4xvGE9uQcuEcaxl+6dAkXL15EKBQSVh6KrWc8z1JbXocrFothb28PN2/eXKqrYFjEVF+1WsV80XCiWX2tSMVi8YnsA2WiUCjgypUrOD09xcnJiRgQOg1yDkQuly5dkutrhLe3t4df/epX+PWvf41arSYKxr1hg9j9+/eRTCYxGAyws7MjTVP9fh+3bt3C0dHRUls2QwrqAj93OByiUqlIaToAfPLJJ/jggw9w584dycSYMTub0EigPzeFbzQa0tKYy+UwGo0QDoeFlCCsoIANh0M8ePAAZ2dnIri6qUIrvEmMaE8zGo3QbDZx//593LlzB67rCsmVyWTEQ/Nz6c20d+fmmNCf6IMFNFBhCYx4jdwBUQpjtNPTU4GhJnmoEcQqoxKPx7G/vy8em9CbSn/nzh3s7u4iGAyK1+r3+yK8zFbQ8HDpPgbNa2iybjgcyueyAIqCr413LBZDPp/H9773PSQSCTHu/qL/oNvtSt6ehnE2m0mKifCXxkMX6uiwgYVNuVxOOBvyRPpZyKRTiW2jhiIcDmNjYwO7u7v44osv8OWXX0qVJWWKrP3JyQnOzs5QLBbF60Ol6M6dO4ef/exnePvtt5eMt87IeJ6Hv//97/A8D41GA6VSSQZ/fP7556hUKtKDwXy7Jle5b67r4vj4GM1mU7iN9957D1988QVc1xV+hjKudY4NaM9V4QeDgQgqoaDjOCI4Oj71PA/379/H0dERzs7OJLYk9PRXTHmB4YFJpHAEU61Wk1BCTyEh86vrAXQJp2ZFWdxDhlnX/ne7XbkGBdHMVRPZEHmwwIQcg2XMozMrv6C4CksVZ5AA0wrCOJ4s93QxXIEFLPzRLb2JROKJNKUZFpk5eZ1F0cql+Ri2o2pER1KQXIFGWI7R38/BIpFIRJRUx8aOam1Op9NLRnwVH0TDQoHXe0peZXNzE/l8XrJC2tATjXDSEkMQLj5HJBLBq6++ij/+8Y/SdUkZ5f17nodarYbHjx9L7Uc0GkWv15MpQpqT0mlprfC9Xk/kbjAY4LPPPsNHH32EZrO5dG+26vSkvLH57LkqvOd5sBc16aymIgnEgg0KYK/XE+/ebDaXFJ6eMBgMivJoRl13y9HyNZtNdLtdieeIFFiGysIN3ie9sGbsScoQPpqsKQ+GqSz+jrlhwkHmnueLEk8eiKWKfhw1HouhjE7z6XgSC1imvTs/k6w64zr+n64u42vn8zmi0ejSYEj9Q0NhhhYaduuBG9pzcp6aydNouK3DIDNs4j3RSOqyY94PyTMiLXpkfS1d4caQEkYKi2FCoVAQ46GrNGGEaboen+/X+8F5AtVqVeSPzojyM1VjrWjQVg2z4Gtto4KR4QzPtF6v486dOzKFiKSsvj/fKDTTOfznovBMBdDbcWAg/z1f9GBPJhOZ+tFoNGR6LNMQfGAyvWRptbLTog0GA9RqNTQaDfR6PfHqhHVkj/P5vHhBGiQuKi4VHqq90mTSefC6Okp7Uyo+hYMDE8yKQV5PK7xplbXC2qqllQLNphfGdITDZhETFX626EfQxoKedT6fS0mppVpGdRMQ71HXSFBAee66JmBuVPVpkg4q40Gl0OlAqAlKGhWQOecZ8zM0UqFT4XPy3jWCYosxJ+TohhhdgGSWGNtGxSdlplwuy17o++ZeMsXHgR1EkDp7wvfomhLTEOiCnpOTE3Q6HdEV02jpv2udea4KTyjLsdAUJl019vXXX0ttNyfS0pMT7pM0waLCicJnpvc4uI+104SSOnfJTrZMJiMW2+x40sRgs9l8As7OVaXgTA0s1NkCzdLzNfQSFCTCM/1eKplZvKHfT8PCvWL4wOkrgcVwR46TgkFqktik4tFo6Eo7DRnpyQlB9X45RgeYrkXnXtHA6Bjc9PJQnpQkHLv7iNAc1RDEH4YOzGKYnpRKofPRlqpcowFKJpMyR0CHBb7qDoRyCFrhzUxFJpOR99E7cx9jsZgM3OT480gkgvF4LKOnyf3ocJMeXZ+ltWJqsYkSobggnV5eRVj/RwpPcstxHGHsGbtpBvTo6AhHR0cCe2iJadFIFGFBLs0XQx3MBx2Px/jkk09Qq9WkuoheQBf9sNiDMSxUXzMW5NpwOESr1cKtW7dkeOPTSieJOijAptXXsEynzPwVRRNQM9F4PxpO0xCw0IQxH5WdwyOICOhxNBQ004Uk1rhfgcW47U6nI0aWJaoUNMJ4CpalBnOORiPxOGTHdWqWKSbWEdhGow+vPxwOZToukRb32FflwOl0WrIL3Gst+HQwVHgTWVAxNLej70UrCOWE+2jyLHwfEao+VxKIm5ubODg4wHe+8x0ZVkIk6zgOdnZ2xFhChcZsKJqpuX7ci3g8jnK5jGazKQVmc6N8XSs8HcSzrG+VlrMXwx8oDNxMQkOOVCIrSYWgcPiLzi3G/IlEQg6AVj8ej2M8HuO9995Du93GYDCQVAr7oqlkw+FQyjGJOOjhmHbq9Xpot9tot9uYz+eo1+tSkGLCcC56MnpCKG9H45JKpZbeq72QPiB6qadlIdipxlJbciJMwZGNDQaD8DxPjCyUxddhCdECO9g0Ox+PxwUi6vsYDAZLBUm8Jltmm80mjo6OJBugISmJU06WpSzwfoiOWHJbqVRkyitUrM7nYZ08zxFGHQQWzoAKT5Sp95bPQs6G3lRDanZ9sv5hpnoCbKMR6t1335VWYJ3BSKVSeOWVV/Daa69ha2tLviCDIWE6ncbVq1fRarVQrVYlBCPybTQa4khp5Fi888orr+D4+FhCWf18UDMmWeHYbDafr8KfnJwAi7QHyx1ZqURB45xw3fOuYyVtYQeDARqNhniWQCAgrHej0RBWnuiB8GqmWiGHwyGsRYWWJsrIK+gyXB66vZjsSqXXJBuVlzCWPfpnZ2dSo01yTLOtWun53n6/j2QyKV5JE3sUOu4PK91YU65TgHM1NZZsNhV2qoZ+amEgN6AJR8/zRJioZLwuSTlbzTWggRsOh3BdF7VaTQqtqCS8Fhtq+J0CruvKnmgvyaGmbCfW98106qpcs862WJa1VHhk5uIZlnD/eM88LxoRelHdADZXAztpHMg76JQlDXCxWMT169extbUlyESTnky7sux5MplIepGdf5xmzEGcfF84HEa/38eHH34ofQlQRlqHquzJeO4K7y9aQmnB6XFIts3nc7FUGvbpWI7wjV6ISktoRY8yN/q2tYDrijPtbQiPeV3dEUZ2GwuvQmFZRbhNVOvq2dmZfLOJnlRDgdJKr1NgrVYLDx48QC6XW4KtWpinqs2SHp2fo3kPzcRGo1HJufOZdAzOdKlm6LVx0rE63zccDpcUUHs3Np+4rotkMimGi3CYxocjvzOZDPr9/pKAYoF0Op2OoEA2X8EIgVibweUbAydo4PVcwVXoqVKpoFqtLp2tRqa5XE7KhC1VC6KNzGg0wr1795baZm3VFLW5uYnNzU0kEoknCo2IVjjCulqtLmVFZotZEOQh4vG4IB8iKdu2pUHHzERoYzmbzZ4YnfYfKzybK9iHTG+g+7bZPYZFzzdLCk1IxofSbKcWMqhcro6xtcLzh9eCKuNl/7RZWEJhoodalZqaq8IKwm2OmiY5OZlMxAKTCbeNwZjdbhdff/017EVVHRQLPlMTUhirs7aBxN1UzfFnyor7yyYSXfSkr22pARAmN6KhO9+XSCSWKvJgkIKEjQwLaOS1Asznc2xsbKBQKKBWq8kzaoWnMW80GvINOFp4qQTa+OqMBJVan+nUmEXIP2u1Gur1+hNK5vs+8vk8tra2kM/nVxo6LJxLt9vFn/70JyEReR0qPCcKmwVOmgguFAqCoHTWgc6NoQQVntwUq+def/11DIdDPHr06Anvrg3lqjTgf6TwjLv1t5roWJJjq9nMQEaeMHiiBhHykEkeMS4lBGOKTadddO5UE4GaMNPenwaB0F+XfXKTwyu+lcUy8se8FoXeU18I2Gq1JA4kATlTE2S63S4ajYYYF0d9txjRCOvYWTJrhjCOMZGX7Z30IGTj9RglM+1kptDIS/AzTIU3EYsuPDJn99PwO46DcrmMcrmMw8NDSdWayswGG7YB63AqsPimH2YWfKOZR8ui3ivN7ZDFZ+MKlNcngbi9vY3z588jk8ksKbLmWkajEc7OzvCXv/xFqucsVXobCARQLpeXEILmcuxFXYX+Tjhb9Zhw0UCzHFqTydFoFK+//josy8Lp6emSlzcV/lnXt26PxSI/3mw2JZZJJBKIRqPY3d2VqbT0XlCz37WgBBZTO3QHlE5x8eB0scpUNZBMjCkqOgTQiELnthk+0EDNjC9zgPEtNxpZUOnp6RnLs6UVRikuvXWr1RJrrUMUf9H912q1pHONUH6mSi9Zc8C6g1QqJU0ahP8kLM29mBs9Ctx7zaaTbzHHH2sF0CGU7vrSNeiRSATb29vY3t5GLBYTZKeVjXX39Xp96RtgqTA0YDRo/oquQ4ZTLDPWc/+gxoex5Fmz6/NFV92FCxdkoqyecKOV1nVd3L59W/gGLYdEDfl8/ok0qTZwOtywVNFMQH3XH/eSyMk0uuFwGPv7+0in0+j3+0tQXiv8c0/L6UUyg+WQfPj9/X3E43FhnM/OziQmpiBrdpZDHzjTnvGnr76eyaxaCyy+2nlmzPH+Jss3V40svjHlJqC+f43PBuMrn/gMVHpmCKaLxhV+iQLjSxoZCqaO9fn5o9EIjUZDipPIzmtoxloDPY2Xs9A5Eaff74tB0RV72stTEB31rbncVxofxo9agMxYXhOBWAguWWnf91Eul7G1tYVEIrH07Si2+oaVXq+HZrP5xHfRQSnNxsYGotGoTPExz5p1AfpLJWZqzsL777+PW7duwXVd4WN4/R/96Ee4ceMGNjY2ZMaiowad8HkfPnyI3/zmN9jZ2VlK/ek4mt9GrJXdMmoYmHqDSslCkYs8K3JfXLxnXdP/u9/97qk6+aye/t9SeCwIo0ajIZNcs9mslLiSzHNUW+bEmC0eCoVk1jvZbDL2ekSxjjmnarS1b4yz4qab5Z96aWKHkJ5KxJ5oz/OWWnu19deVXoy5/UWOfW9vT5o66N30hFEdqzI+5JAHxuJT4yuZLVUVZyp9Pp+Xmu3T01NAjQLXxsU3qtnI8gfV11Pbi3nn+lnxFKWfqF58SxXdUNg5gPPs7Ez2mmEHIXun00G73RZkyJCEaa/d3V1ks1npEJuqQSdQCk9kxQyEv/hu9ffffx+1Wk32nspYLBbx2muvYW9vbyn2NrkLVmuy800bQq3wOv6HgYxmqhpzuqKBiudBndByzr3l6/P5PH74wx/inXfeEZSsr/NtYP2/rfBQX6VM6+qo8U+62kzXezvqO+o4HoreNWB8GWTAGGoxNSaT6hQJN5QFD9oi6wPx1UAGTprJ5XIiPCP1fea6qcIMFYhAWIQzGo1QKpWklJKvp4fWI6vMmnyGLwwVsPDutqoc43PSSHFohuu6Mo8tYHx/OJGVmbIyx2dZi4Id7elMg2GGSDpWdVRLcSqVQjabXSolNrkF8iGE5SQiKUfZbBalUgmVSkVGb/HMyPUwHJovKjoDi+/fu3XrlnxBhyZTbdvG1atXsb29vcQfrJIPci86XWmrCjsdlmqDCgNaU/bnql+E98LXkYvQHIV5HT67HqT678Tv+DYK/9Of/hSO48B1XSmfpaBSmSn82pPr2No3apB1qkNbTtsYHmkSdzQcug3UV6WQZh7X3BweGEty6S3ni34AKrvZSDI3uszoqY+OjmBZFnq9HpLJJPxFsQshL4lJ7QnJvLPFWF8fysPrTIKjBmnSU/PLO3RloIaVet+hlD6ovlaKBNHTcrla4c00HxRU5b2xOMfcc6xoXNFsuzY+nNzLs7VVY9JMza/3VVdhtVqVL1s0v1XWtm1cvnwZ6XR65WRaKIVvtVrS/WavKNE2jRwMBdUyYmYrTGPKUJXpVRiOSe9xLBZ7YgjGf420+8UvfgEAqFQq+Mc//oGPP/4Yjx49Esiui0C0kM2NQYQaXmrCQz+AZZSfag8xN8Za0dLSCJjvWyV0lsoQJJNJpNNpxGIxiU01BDXhnmnRSU6enZ0tFSN1u11hhROJxNKXbGCBRDSjrz/D3AtzT3hfOtNgprietrSw0kNpIm/V+00BNglBfX9EaE+DnP6K8WVTo3ORTTTMb2uvyjCRCItGfjwe4+joCJVKRfZFn5W1GIvF/L9GMuazclbdKqSoz2AVYWYqtPbIMMJKGC2/ZihlymwqlZJRZHr9VyD9W2+9heFwiGq1inK5jHg8LiQCb5hxuFZu3ygrNWMZEzpq4dF/mhvmqB5nDR+1gq5Seo0w6I0YS5KU0n3Y37SZ+tpMsbHumqW84XAYpVIJhUJBUnfkCYgEYHj3b/osW/VDQ800M42cFppVAqJj14Ax6cZc5lmuMuAwPP3T9s00Hvp6VA4OxOBodF5LN8Hoqjks4nr2IqwKJ8ywRcNqU9FY9vq0WNms3zCVE4bSmntvfqaJmPQ19Dlns9knvnP+v+bhNzc3BbJ3u10UCgVJo8yMoQqrhO2bhHmV4GCFwvoGmaE33vy/f7URWjh1WGDC4n+1bFUFR6QxGAxQr9cBAPv7+7h06ZJMOmFczfDBrNBadZ/mv/XvvgnR4Bv2fZXXMj9zlQCvOuNV1zWv8TRlWGXsHfV10CZhBsM7zoyedF8VVJnozjGaoZ62ZqrLcdX9m44FhiJ/k+df9e+n7aW5WMC1Cpk8q7xa/rN80nqt13r9n1jPVnG/Xuu1Xv8n1lrh12u9XqC1Vvj1Wq8XaK0Vfr3W6wVaa4Vfr/V6gdZa4ddrvV6gtVb49VqvF2itFX691usFWmuFX6/1eoHW/wI64ISDPYuPwQAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 14.0\n",
      "\tJ = 9.4194e-01\n",
      "\tgrad_norm = 2.4715e-01\n",
      "\tpenalty = 0.262\n",
      "\tmode power = 46559.660\n",
      "\tdip power = 48091.621\n",
      "\tcoupling efficiency = 0.968\n",
      "Iteration = (68 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 14.0\n",
      "\tJ = 9.4917e-01\n",
      "\tgrad_norm = 2.2277e-01\n",
      "\tpenalty = 0.260\n",
      "\tmode power = 72396.961\n",
      "\tdip power = 74239.709\n",
      "\tcoupling efficiency = 0.975\n",
      "Iteration = (69 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 14.0\n",
      "\tJ = 9.4340e-01\n",
      "\tgrad_norm = 2.4728e-01\n",
      "\tpenalty = 0.258\n",
      "\tmode power = 50687.983\n",
      "\tdip power = 52298.049\n",
      "\tcoupling efficiency = 0.969\n",
      "Iteration = (70 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 14.0\n",
      "\tJ = 9.4637e-01\n",
      "\tgrad_norm = 2.1213e-01\n",
      "\tpenalty = 0.256\n",
      "\tmode power = 46727.818\n",
      "\tdip power = 48073.883\n",
      "\tcoupling efficiency = 0.972\n",
      "Iteration = (71 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 15.0\n",
      "\tJ = 9.4793e-01\n",
      "\tgrad_norm = 2.0206e-01\n",
      "\tpenalty = 0.245\n",
      "\tmode power = 43807.749\n",
      "\tdip power = 45051.273\n",
      "\tcoupling efficiency = 0.972\n",
      "Iteration = (72 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 15.0\n",
      "\tJ = 9.4802e-01\n",
      "\tgrad_norm = 2.3269e-01\n",
      "\tpenalty = 0.243\n",
      "\tmode power = 65613.204\n",
      "\tdip power = 67481.891\n",
      "\tcoupling efficiency = 0.972\n",
      "Iteration = (73 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 15.0\n",
      "\tJ = 9.4520e-01\n",
      "\tgrad_norm = 2.0955e-01\n",
      "\tpenalty = 0.241\n",
      "\tmode power = 58289.876\n",
      "\tdip power = 60136.353\n",
      "\tcoupling efficiency = 0.969\n",
      "Iteration = (74 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 15.0\n",
      "\tJ = 9.4843e-01\n",
      "\tgrad_norm = 1.9381e-01\n",
      "\tpenalty = 0.239\n",
      "\tmode power = 59574.966\n",
      "\tdip power = 61270.094\n",
      "\tcoupling efficiency = 0.972\n",
      "Iteration = (75 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 15.0\n",
      "\tJ = 9.4856e-01\n",
      "\tgrad_norm = 1.8808e-01\n",
      "\tpenalty = 0.237\n",
      "\tmode power = 71769.585\n",
      "\tdip power = 73817.117\n",
      "\tcoupling efficiency = 0.972\n",
      "Iteration = (76 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 16.0\n",
      "\tJ = 9.4920e-01\n",
      "\tgrad_norm = 2.2412e-01\n",
      "\tpenalty = 0.227\n",
      "\tmode power = 34792.815\n",
      "\tdip power = 35798.471\n",
      "\tcoupling efficiency = 0.972\n",
      "Iteration = (77 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 16.0\n",
      "\tJ = 9.5233e-01\n",
      "\tgrad_norm = 1.1844e-01\n",
      "\tpenalty = 0.225\n",
      "\tmode power = 49022.100\n",
      "\tdip power = 50286.898\n",
      "\tcoupling efficiency = 0.975\n",
      "Iteration = (78 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 16.0\n",
      "\tJ = 9.4676e-01\n",
      "\tgrad_norm = 4.5962e-01\n",
      "\tpenalty = 0.223\n",
      "\tmode power = 112223.050\n",
      "\tdip power = 115803.635\n",
      "\tcoupling efficiency = 0.969\n",
      "Iteration = (79 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 16.0\n",
      "\tJ = 9.5146e-01\n",
      "\tgrad_norm = 2.6840e-01\n",
      "\tpenalty = 0.222\n",
      "\tmode power = 24794.677\n",
      "\tdip power = 25465.193\n",
      "\tcoupling efficiency = 0.974\n",
      "Iteration = (80 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 16.0\n",
      "\tJ = 9.4763e-01\n",
      "\tgrad_norm = 2.8706e-01\n",
      "\tpenalty = 0.221\n",
      "\tmode power = 20580.707\n",
      "\tdip power = 21223.601\n",
      "\tcoupling efficiency = 0.970\n",
      "Iteration = (81 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 17.0\n",
      "\tJ = 9.4846e-01\n",
      "\tgrad_norm = 2.7118e-01\n",
      "\tpenalty = 0.213\n",
      "\tmode power = 26519.913\n",
      "\tdip power = 27347.167\n",
      "\tcoupling efficiency = 0.970\n",
      "Iteration = (82 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 17.0\n",
      "\tJ = 9.4705e-01\n",
      "\tgrad_norm = 2.4277e-01\n",
      "\tpenalty = 0.211\n",
      "\tmode power = 83580.160\n",
      "\tdip power = 86326.033\n",
      "\tcoupling efficiency = 0.968\n",
      "Iteration = (83 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 17.0\n",
      "\tJ = 9.4165e-01\n",
      "\tgrad_norm = 4.2922e-01\n",
      "\tpenalty = 0.210\n",
      "\tmode power = 107209.997\n",
      "\tdip power = 111366.379\n",
      "\tcoupling efficiency = 0.963\n",
      "Iteration = (84 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 17.0\n",
      "\tJ = 9.5012e-01\n",
      "\tgrad_norm = 2.7870e-01\n",
      "\tpenalty = 0.210\n",
      "\tmode power = 26200.887\n",
      "\tdip power = 26981.020\n",
      "\tcoupling efficiency = 0.971\n",
      "Iteration = (85 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 17.0\n",
      "\tJ = 9.4240e-01\n",
      "\tgrad_norm = 3.2850e-01\n",
      "\tpenalty = 0.209\n",
      "\tmode power = 22240.250\n",
      "\tdip power = 23088.709\n",
      "\tcoupling efficiency = 0.963\n",
      "Iteration = (86 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPwAAAA6CAYAAACUGjTOAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAALGpJREFUeJztfUlvHNfV9tPVY/U8kk1SpGhRg6nIlmfBhpFVsou3AZJt/kj+RXZZeREEyCLJKkECA4FjwxEQy5Ql2bJEihpI9jx3V4/1Lr5+Dk5dthI6n973xfepL0DYkprVVfee8TnPOeVzXdfFci3Xcr0Uy/rfvoHlWq7l+p9bS4VfruV6idZS4ZdruV6itVT45Vqul2gtFX65luslWkuFX67leonWUuGXa7leorVU+OVarpdoLRV+uZbrJVqBs35wfX0dJOVZlgWfzwe/3w+/3y9/9vl88nnXdTGbzTCdTjGbzTw/ruvCdV3EYjGcO3cOr7zyCi5fvozt7W2srKwgnU4jHA7D7/fLtQDI9SaTCSaTCUajEQaDATqdDmq1Go6OjnB4eIijoyO02204joPZbAafz4dgMIhsNovNzU1sbm5idXUV6XQa0WgUPp8P7XYbjx8/xsOHD/Hs2TOUSiVUq1UMBgN5Rr34DLw3/WdNXvT7/QiHw4jFYojFYohGowiFQgCA4XCITqeDTqeDwWCAyWQCn88Hy7Lg9/tlP/V1uQej0Qjj8RgAkE6ncfXqVfzwhz/E7u4uNjY2kE6nYds2gsGg3PtsNsPJyQlKpZLs1YMHD7C/v49yuYx+vy/npfdZPw/P3bZt5PN5vPXWW3jzzTexvb2NQqGARCKBSCQCy7LgOA4qlQoODg7ke549e4Zms4nhcIjhcCjfob9PL9u2kU6nUSgUUCwWEY1GYVmW5z4pV4PBAOPx2PPDa7uue0pGuSez2Uw+N51OT51bOByGZVmeMzBlmX/vuq5ch9edTCYYj8cYDocYjUYIhUK4fPkyfvzjH+P999/H7u4uzp07h3g8DgCoVCpoNpsol8t4+vQp9vf3cf/+fTx69AiVSgWO48j19dk8efLk3+rxmRX+eZu1aCP1ppg3pm9wMplgOBzCcRz0+30Mh0OPwGsl07+vDYx5T1zdbhe9Xk+UKBKJIJPJAHODFQqFEI1GkUwmEQqFkEwmEY/HkclkkE6nEQwGMZlMEAgETh2secCmEOjnDQQC8Pv9HiPFfxuNRpjNZrAsC4FAQPaUP+azaYXnvk+nU3S7XRwcHCCdTiORSCAWiyEUCnn20O/3IxgMitKEQiFMJhM0Gg08ffpU9oX/5RkEAgGP0nDvkskkrl69ivfeew9vvPEGzp07h3Q6jUgkAr/fD9d1Ua1W4TgOgsEgXNeV5x+Px3K9RcbEsiyEw2Hk83kUi0Wsr69jfX0d+Xweruui1+uh2WzKT6PREPnhM+hr0+AHg0EEAgGP/FBBR6ORxwjRgEynUwSDQbkv/cNr8bu0weBZajmlg5xMJqjX67h37x5SqRRs24Zt2wiFQgiFQkilUuLwxuMxGo0GotEoAoGA3LO5d2dlyJ9Z4fVGmhuKBV5IewltFLjZlmVhNpuJ5XMcRzabgmYeHhVgOp16lN1Ufp/Ph/F4LBbfdV2MRiP0ej3MZjP4/X5EIhEkk0nk83nEYjG4rotsNotkMolwOIxwOAzbtnF4eIhutytCqj0K741/Px6PTyk8BYYC7zgOxuOxKKvruqKMvG8KnBk56b3lc1qWJYr73XffIR6Py76vra2JsaPAUnAotNPpFEdHRzg5OZG/02fKa/H5/X4/YrEYisUirl+/juvXr+PSpUvI5/OwbRuBQMAjF51Ox+MhnyegVKBYLIZsNouVlRWJxs6dO4f19XWkUimMRiOcnJzg4cOHGI1GqNVq6HQ6aDQa4j35rNxXGvd4PA7bthEOh8UQu66L8XiMXq+HdruNTqeDXq+H4XAohoDPTbmk4YhEIvJ99ObacGiHyO+iTDiOg6OjIzx8+BDZbBbZbFYiW94f92wwGODk5ASHh4cL9fD7rP9I4fWPtjimx6OwUEC5aQxXuQkUqNFotFDhzQiBigCl7Nor6d/TitpoNDAej2FZFmzbRiaTwerqKhKJBFzXRbfbRSgUQiAQEG8fCATw+PFj9Ho9j3fSz8bvocfWSxsIhpk6DeK+8Fm4dz6fT4RLCybDOSiPyGetVCr46quvPKlMIBCQH54N05twOIxQKITj42M8ePBAUgQdWVCQ/X4/ptMpAoEA0uk0tre38dprr+GVV15BNpv1eHb+fjqd9ngrM2rQZxgIBJBIJLC5uYnLly/j4sWLoujFYhGFQgHRaBSj0QjHx8eYTqdotVry/3QYNLD0hjzrQqGA1dVVFAoFpNNpiYIAoN1uo1QqSSrHc+B56jOlbIVCIcTjcWSzWcRiMfHGvV4PrVYLjUYDnU5HzlOfF89mMBigVCrh6dOn2NzcxNbWFtLptMhEIpGQyK9areL+/fsevdDreZGuuc6s8BQYbbWgLLMWTp/Ph9lsBsdx0Ov10O/3JTfj52l1dU7La/NatHA6jKV31w9qWnMqrY4mfD4fOp0O+v0+ACAajSKTySCfz4vS8DDM8HU8HkuOS6WnclAghsPhc63tcDhEIBCQ3wmHw5690saUwqq9UigUklC2Wq2i1WpJ5KKf0XVddDodHB4eyvPbto1YLCbPpUNpy7JQKBTwox/9CDdv3hSvZHp5KutsNkMkEkGhUMDFixexubmJWCwGn88n56uNF/eZ98LnorzwLBl5rK+v4+rVq/jBD36Ara0trK6uIpfLIZfLIZ1Oi5xks1m0223U63VUq1VUq1V0u11RJJ0SMUTe2dnB7u4url69KngDo6GDgwPcvn0bt27dkoiJkSn3S8sbvXsul8O1a9dw/vx5pNNpTKdT1Go1HB4e4s6dO3j8+PGp1IJGkRHdcDhEs9lEtVrFaDQ6JTu2bePcuXN47733sLe3h4ODAzlz7XDPrMdn/SAFSis6N3NzcxOXLl3Czs4OYrEYJpMJer0eGo0GSqUS7t27h1qthn6/L+FsOBxGKpWScCaRSCAUCsl1aaEx95IUPh3eQil8IBAQkCUejyMWi0kIz5CMSqeBGQooUwsaHNu2kUwmMRqN8Prrr+PLL7+EZVkeEI+CrvM2vXgYg8EArusiGo0iEomcigL0HvMZCFLlcjlEIhE4joNnz54hm81if38f9XpdvCTDUxqsXq+Hk5MTHBwcIJPJYGVlBZFIRL5H4wSWZSGTyeDtt9+WnFvfu7nnTIVyuZwoO0NYnh3/nr/DPafA836h8lyCgGtra8jlcshkMhKCa1ngua2srGB9fR3Hx8eoVqvo9/sSRXEv/X4/otEo1tbWJCK5cuUKMpmMGA+/34+dnR2EQiF0u13BBXq9nhhVV4HVlLVoNIrt7W28++67+PDDDz3P7DgOfvOb3+APf/gDHj165Anl9TNQfhzHkahs0YpEIjh//jxu3LiBL7/8Eq1WSwwwvod3x/dReB4QHzgSiSCbzeLSpUu4ceMGrl27hnA4LHkPc6JisYiNjQ08fvwY9XpdkGCGzfF4HIlEQhBzejidw5i5u14UeCpKMplEr9fD1taWhLmj0QiWZSGRSMhG0RBQUPv9PhzHESUKBoMIh8OIx+MoFovY3t6GZVlot9ui9Dww7o1t2ygWiygWiwCAwWCAer2OSqUiAKVG37l02BcKhZDL5XDlyhW8//772NraQjabFYH8/PPP8fHHH4sx0wZPG6FOp4NSqYSTkxN0u10kk0nPs2tBDgaD+PDDD/Hpp5+eQsn5WXom7nU0GgXmhlJ7VBpX/jvxGX5OCyg9qN/vFyCQ+auOfJhWBINBuS/eQzQaFcCLgBifKxwOCxibzWYFION56ZXL5ZDP55FMJqW6oSMbGNEkQcVr1655jCm/9+c//zmePHmCVqvlSfX0mUGlnXp/Fq1IJIKPPvoIH3/88akUEP8doF08HhcLTSu/ubmJ69ev47333kMqlfLkmURFg8EgotEoUqkU6vU6Op0OJpOJxyvz8CKRiOQsWJDb6rwXC7x7NBpFIpEQozIajRAIBNBut+G6roTSeqNZGSB+QCtsWZYofSKRQLFYRKfT+T+bpvJietbxeIxCoSDg1XQ6Ra/Xk/vtdrsSKupn1KAf9zeZTOLy5ctYXV1FNptFJpOBbdvIZrOwLAvPnj1DuVyG4zhiEE3UeDQaodPpSMhbLBZPAas6XGW+aOaHGlfQAsk908ZPVxu4mNIxv9YCShwkHA7L2VO5dVltUblu0f3oqISL50iDYP67ljWCcDxXEzTVaDvTLRpSUy6DwSCuX7+Ovb09NJvNU/iOWSUwy59mZIG5YWYZ2fzMWdeZFT6Xy8mDRKNR5PN5XLhwARcuXMDKyopY10Vlg2AwKKG29kz6gYLBoFhqehW9kdPp9BRYB5UXhUIhyVeTyaRHSAKBAEajESKRiAcxJqqqQ3ONURBLiEQiUgumcIRCIUQiEcTjcUFXU6mUhHa8rvbcBP5MEJIHznCXIXM0GhWPR0XK5XJ488038emnn6LVap1Seu05hsMhut2uGCqzisLvZmhvllkXGVqtkN1uV7AT7pWOyDAHxPjcFGreA0N9ek3XdaVE2+/3xQmEw+FT3o9oOD2jxpcW1chNxTLvk8+5iFtifk7jOzwXM1cHgO3tbaRSKUlVTePBtagMa/4df5+1elPHXjhot7q6Krl3IpHAysoKtra2sLa2Btu2PaEfBZdgE0OgYDAoN0xwRJc9aGG14nFDmX8vsriLvDyFiYLS7/cRCoVE4bXgMhQ1Q10NNMXjcRQKBSnrmUSZeDwuaDQBSx6SLuG0Wi2P0GkPT8MXj8clvTErFT6fT8Ctx48fe8gyWuFdo74MI5TWIB6NIysAZhVBKzurEY7jSC5JtB+qKuG6LobDoZTNmC5pQormIViWJaXUbreLbrcrJTQT9xiPx+j3+xgMBqfIO6bn16mbrrKYqZUu9S5KG83oaBG4qR0VAdF4PC7nuMhZ6WVeb5Fh0gZGrxce0p87d84TzhcKBWF08Ua1AlLxiUYyXIxEIvLnyWSCwWAg3pC5E0M57WmpaIsOw1R4bf3p5fm9LB9p4WXJSXteHb4x+kin05jNZggGgxKpEDvQQNR0OsVgMJB0JR6Pw3Ec2LYNy7JQr9dPKTuFlPury1y6HjwajRAMBvHOO+/g1q1bqNVqpyITn6pMMM0yQ15dNmUaRr4BjaKliDg+xRvo9/tot9uo1WqnwMhAIADHcRAOh3FycoKjoyM0m005Zyonz4dCTPCv2+2i1WohEolIShiJRKR0inl6xMiB5TidAuh7ZtrW6/Wkvm7iAVCA2iLPrpWJ+6bTDb2fXMSMWGV5nrJrfTFTPR0F8v91arTIIPy7dWaFv3DhglAqE4kEstksCoUCbNuWm9IbpUMRDWpRwOkRNMocDAZlMykczL34GdPa6oemJ7VtWxSfh8DNpBd2Vf3f9OxYoPD08lR4pg3ZbBbRaFTugdel8Ha7XRFKWvvZnMVllsqYFhC8IjFGh670islkEleuXEG9XsezZ888fAedt+oISYNamizkOI7QkzVoqvcCc2bkdDqVz9q2jdFoJBEJwTle94svvsDDhw9Rq9U8YT0Nl+u6wjKz5lTcTqfjKVnqnJkRVrlcRrPZlKqPjmRo3DSzsdvtotFoCPrO/dXgHT22Gd1oBYRSeEY5moWow32G34lEwuPhtYJS2WnQwuHwwu/UstlsNj0y+33XmRW+UChIuJlKpSRfJUtNP4BlUBd1TqVzE53/6ZxSgzZE9M1Sjsl95tJgm23bHtYaBYycAl1P18tnkHn0Nam0NFqkspoCMRwO0e/3ReEdx5HDJ4CnPTOrHoVCQZBiKh29Fu95NpshFArhtddeQ7lcRqlUkj2jsjDaISqtc1PuHxF0llB5baYfMNIAKlS73Ua5XIbP50O/35ceAX5fMBhEq9XCV1995VFOpkA8d5a2SM6ZzWbodDoSfQ0GAwH9aLxbrRaazSba7bZEFMyRKQ/k2zNNabVaEm3kcjkPEs+lS7d+o4eDi/JLQ9JutzEcDqUiYebVmEdsmhKrr8vv41nFYrFTMqjPYDQaoVqtimMzjcdZ1vci3vCLkskkksnkKTIOVK1SWzTtyajQpFFiXrfUXpYeYjgcevJDzIVfk190ycTM6amk2igQBOMh63DXxAbMaxKsY6hLth49vzZCDI1DoRAcx8FgMJDQjn9mudC2baRSKalB27YtIe3zhM/v9wtgGI/H0Wq1MBwOxVAwyuGfKVwMzenZyQyrVquecFXnwTwTzIk0tm2j1+uhVqthOBwKsEZPNhwOcXBwgFqt5gl7+azRaBQrKyvY2NhAJBLxMOUYBQwGA7TbbVSrVTx9+hQPHjyQigVxnmQyibW1NSlD0kDo1EorfDKZFPYfMReeeSqVkuiQf286Ky4a9FarhX6/j1Qq9VyQ73n8d8oU08VEIiHRMlQ+z+uNRiP89a9/Rbvd9iD6z8MdnqvHZ/qUQg01CKc3BUY+osNvU+EXhTcwwiat2ESwTc9EwdTe2ATcGNry+prUo+/LjE5MVNW8LtMbGj+dS2qQSxsbHRo3m020Wi2JFDKZDIrFong7GgvLYBtCpU+hUAirq6vY2trCnTt3JCKiENHzmiSm0Wgk0Qd56PV6/VRNWKPEwWAQ6XQayWQSmUwGfr9fmHm9Xk8ElJ7v6dOnGI/HCIVCnlw8Ho9jdXUVu7u7wploNBqo1Wqo1+sSdrdarVOGNpvN4uLFi9ja2kImk0E2m8X29rZw+j/77DPcuXPHw0RkRyK/n+U0VkB0fs1qTCKREHl7Hgg4Go2kcSefzy/M07kfJqCo0102cDEq0bKiDVej0cAf//hHiSp0I9CiFOR568wKz3BMUzq1MOrDYR5rKjzzT+axixhqOmziD69PZafCMw/URgaGctKz8e/MUoouiWFBpKDvi0uDhARmeB1NDvIpZpmOUjAv2Tx58kQinVQqhUwmI7xs16C0aoxAo8HsB/jmm2+kRKfbcTVISY9HUhR/Go0GGo2GCJfZUsr7j0QiyOfzSCQSp7AWGuher4d6vY56vS64Bz07uRuvv/463njjDaGilstlKcf2+300Gg0pOdKbhcNh4dOvra1hdXUVq6uriMVisCwL29vbiMVisG0b3377LSqVilRS+v2+yCujn0gkIh2UpPkmEgnh7kejUdkzU0n57M1mE0dHR1hfX/fk/zpSIlFLK72uqxPDMPN3ft94PEa9Xsfe3h7u3r0rTlAT4bTs/7t1ZoVnrssDxjys1GU1GNx6GgQNckxVh5hJpoBRMjLzXNZou92udMJB5UL8zkURhxZeRh/8Dh0+YUGYpO9pploemcPbto1utyufNUNBnbdyf1555RUJ+1OplCDdZG05joNkMunBLfR1+YxMB8jE4989T+FJH63X66Lw9XodrVbr1LO6imZM8lGhUEAoFEKn00Gr1UKr1ZJSWrvdlsaR4XCIVColBpDMtFdffRUffPABNjY2pPSmOwUZ9TBP5xkzxWk0GgiFQtjc3MTGxoakbPo5ef/lclmUzYySSI+lMfL5fMLn39nZwcOHD/Hw4cNT3Z5QUVKr1cL+/j7Onz8v4JtmYJJa3ul0PDwEyhidD+WCGAwXMYv79+/jb3/7mxDIzLSAwPZZ1pkVnuHbaDQSJQ+Hwx6CiwaHZorMQZIGowMCcdpSmTmOa9SpaVEbjQYqlYooARWaykgAEIaHhRGOQ6UOOr3wG80fMEoxMzVQw7IsaZrQS0cp2lPSA9Cy83PJZFKiHnqQWq2GXC4nygDlfXULLZUpGo2iVqvBsqxTwzZo3IbDIer1OsrlMmq1mrSDtlottNvtUx7KNy+V5nI5bGxs4OrVq0gmk3IW1WpVZIOhfLPZhOM4p5qXotEoNjY28NZbb+G1116TrkUYqU69XseDBw9ESfjvrmJxrq6uIp/PIxwOi3xYloVkMolXX31VDFir1UKn0/GE07oyww497jPmxvLq1asYj8fY29tDpVI5FdESp2g2m/jqq6+wvr6O6XQqcxS43/fv38fBwYFQys0UiXIxm/M2Go0GcrmcPHO/38f+/j5u3ryJvb29U/tBmdIM0hem8O12WzrRdP6sS0Z8WG1tTk5OPJaah8xwkACMiW7qzw4GA1SrVXz99dd49OiRKAatNMs6Zr5lAm66KqAVSH+O9X6tvLpnX3+ehksfhI4KdI3dNTrbgsEgrl27hqOjI/E0up5Mz2kpqiwjHI0XzGYz2LYtKQJZjQxvNYLd6XRQLpdxfHyMWq0mkRLLh/Q2fAY2R62vr2N3dxe7u7uIRCIYDAYCFlqWhdFohEajIUbRBDcxB/u2t7fx9ttvyz5oEJjKWKlUhKMhQjqPMvgcxWJRPqOxHhrgK1eu4OnTp3jy5AkqlYoYu+FwKGApo5ft7W2pGDASDIVCuHTpEn7xi1/gl7/8JZrN5ikwmjn8nTt3EAgEUKlUsLm5KXvS7/fx2Wef4e7du2I0uL/RaFSMNkHFp0+fwufzIZ/Py73cuXMHN2/exO3bt1EulyUa1RGoTgteqMK3Wi1BjZkranSVjCgq7WQyweHhobQuMuwn2KcRe12LhiqtkaNeLpdx//593L59G7VaTRpvOK2G1poeSltkTSBh3s1rTyYTMWTJZNLjhWGAh0SAqdyTyQTpdBrVahWNRgOO48jv6whCGyGfqivzGba3t6VsR9CNe7K3t4ft7W3Yto3BYCDpTLfbFcWnIWVpkMqmW4QZgjJfJ2BI4goZayyNaZCN1YMPPvhA+iUcxxEmIDsjy+Wyx+hqYJREF+bbjBJ152QikRAyl47K9Jn55sSpYDAo92ymfqFQSIZnZLNZPHjwAI7jiAFi6W86nSIej+PJkycoFosSGvOew+EwdnZ28JOf/AS/+93vPAAvw28qK3kJOzs7KBaLwqj8xz/+IWPS6JVt2xajSGPLvWs0GkLi6na7+OKLL/Do0SMhDOm0lOE/nV4ikXixCq/DWmtOp+ThsdZMT+o4jsyWq1Qq6PV6cOc9wOSa93o9sUq6aUVTczFnVZVKJZnlxVCWBoRgEGuhzJ90uE+vzTo6WWH8zvF4jE6nI7RfDRLSu1Phmdrwd46Pjz2hvjYa2sObpRMKAAk8NHZUTswjG2tO29UYxmAwkB+t9JqNBkWFJaGFpSuTmcb9ogJT4QnUpVIpIVmxCoA5npPJZDx1bRP/oBejd+v1egKSaTyHnr5YLJ5qYtF8BM1vYBpkApmxWMwzEkvX17WjYlpCFqRP9avzOm+//Tb+/Oc/o9FoeFh8vAbPgI6MpVGWAjWHQvNGaPAGgwGazSYwd6rUjW+//RYPHjzAdDo9BeS6imxmqZkHL1ThNeJNi8vyTqPRgDvv+ybB4sGDByiVSqjX68Iqo0DxgHXZjQ+jgTMilBzqR4+gEXL2TpO3T48MVb6yFPOJ4aPudXbVoAN6EFp65qf6cHlwBLw0RqBHLNG7ucYcPp1P6n+jt9KeazAYeIwUQ1M9FozVDzL+JmrUEr+TaLFZJvQZNWMqJn/8fr+0lWrMhukRCU7mDD2fYh3SyDiOg3a7LcqlBZekrpWVFSHx6HtlakVab7fblWGZ5lmHQiGZbMO0SxthYlGaDzFRXYzck0AggNXVVayvr6NarYpnXlRqpmNgC/QiNpyriFNQnBJGAMS5SqUS7t69i2azKZEJUxpLMVd15cFs0f2/VngKgu5oI+hTr9cFEHry5Akcx0GpVJJhAqbCMydrt9tyCFRk5jozNcihXC4LsYRoaCwWE4ov66BUFnpGbgbzbrLkmJK4qlsMyurqNlH+nVY0Wu1+v49OpyNsNl0P1QoPgx7JZ+b9UvjpeakcjGgYxWjqsW5iIYjKQ+fvU4D9fr8oPA0MFVpXWLQn1M9DcMysWsyMMVqWQRZxFX2ZHPlmsyl5somx8O9Y6tTTWalYJOSw1LZo3znCi30emqqrMRVNA9YlM42Cswy4t7cnZ6mjCVZqSOhh1cadz0ik8nPfdESlacYar6KDY85OcpNZKjbLvy9c4RniQc0Bq9VqAgBNp1McHx+j2WwiFothOu8J58ER4KJFZ96oD2qqupbMsdPj8VhqqASlqAyJREIUstfrSUiqc2MK/sxogNCgIa249tL83FjNrZuoDjO/msE3Vew9/r+rughhlP00At3r9SRK6vV6kq8Hg0Hh2Jt1Xs1Oozdg2MtrRyIR6cnGHCFmvk5Do72HViJ9b/r5dLWGSu8zSFTcJzqHarUqfH3eBxWRXorsQY7l0nPl+LxMTXS/gI7kAvMWY47qpjFzFbHLVbx37ak1eMtrpdNpT2TmKuJTPB7HuXPncOnSJWxtbUn1gPn5nTt3JP/WHn6qGqI0zjM16OITNenYjMio/FNjDNcLUXj9ZSRFHB8fo1wuo1KpyLy4/f19VCoVOTT9YJaaLDMajYSfT/onDQKBoC+++EJmuA2HQzE4AdV7TaIHQ1p+JhKJoNPpSGrQbrdx9+5dORAoXEIrfbvdFgaWzvu0VyOOoUEpLehQHl6TgwLGyGvew2g0Qr1eR61WE+ViWYmKRsPFMJbCoxWPrDZ2vlF4NCOLEZI2QhwUQmPsU4MZeD/lclkUgqmEZhYG1bBN/cOIjp6rWq1KTsrv4tkzkuD4LKY2ukGG5J7BYOCpe5vXIzMwHo/LGUxVay4djMZzTDyASrho/BTxI5Yar1y5gmKx6Om1SKfTuHfvHu7cuYNutyv7gXnkyNZmzdHw+XzIZrM4PDz0RAIzY+S1ZcwQGAwGL1bhG42GeIVutwvLstBsNlEqlQTQ4kglhvGpVEoQxZli49FzjcdjoVcyguAsuk8++QTdblfCU8yRaJ2D9Xo9YB5al8tlTyMOp6zwRRUMJev1+inqr2sQZSZqMg3TF1palmjIn4YCx3SdnM/L9MFSVF8tUMzdiPYSgSfxRIfmunPQZ7DuNAYyGAzEWNHbaGNJA0vDNplMpCmD3kWnR/V6HUdHR4Jem96J9WyWkxjV6P3t9/uo1WoolUqeSbZmOsEUJhqNotPpiHfkvhIrorFhVGMSv+h9GSnwTKg8HGJKsItKbxkM0slkgt///veesiUNRT6fx40bN3Djxg1Rdj2wZGtrC99++y2m06mkugReAaBer0s/AYeouK6LVColZTnKrWtw5+lcyJys1+svVuG/++47BINB6Q4jaEcBHQ6HOD4+FiUkGKFptBqkYV/3bN6dRaHmUMKTkxNRIFpkChtDVpZH9Cgp7RF0nsx8eKIGP+qQUisPrS/zs0qlgocPH0oOTMMzVbRcV7XF0gCSY09l1MpJRZnOWWUslbGzTINsZq6m06Cp6iZk1MPcnpx85vwa/ea9s3nFnCk/U1OH+RYUKjaJTtxHNhFRgcgI8xmc8larhUqlgpWVFfGEuiuPn+fbawieaoMGRfTR+AsM5hmjNhq8ierDn81miMfj2NjYkFKhazAMeZ4c3sF75X85TfbNN9+Ut8YQzOZ5xGIxvPvuu9jf35d593RIjBr88yYoDsug0VtZWUE4HBbwblEozwiz0+l4cvsXovD37t2Tm2NrLK25LqsRKaZA6LBZe1FrPgGWCCUPhN5N17BNVFMrvAad+O+ag63DcIaEBKL00H+oujnm1pODIBuNhjQtUDB1Hdyv5sazD75areKbb76RMdisIriKSUgBZPhOeipLb9o4EQ3nJFemKjSetm1LfhtQb4vRSLE2Fq7Rs8C6+lSNA6fhY4RE5dBDTMjy48jvVColZViddzJNI8+e3WkmfwPz3N7sIddhLc/RZDLqStLR0RFKpZIHTOTn/X4/0uk0NjY2JCrRe8J7dxwHe3t7cn7asIbDYZn4xL3TeT6fY3d3F/l8HpFIRGRSOzKmHsViUdqnAaBYLCKdTsPv9+Of//ynJ2UxS5/TOWX6hSr848eP5bDT6TQymYxsFjc1lUrJATE/0cSaiRrSoHMSy+hM02U7/XntQamoNB6YexGGTXp2nAZ8OOGGSKpl9O7rAxka737ThCNiBPR4UOxBlioPDg4E6eX3QVlmpkc6nCfIqQE2zqhPJBJIJpNibAm2sdbO9MVMUWA0/OiohudDodWek6AkDZGeKktyj6uIVqS8kvrsGiVH1pxJIWXHGqMMDZrpe5waxCyNH+i/1/JUKpWkZ19jLa7rIp1OY319HSsrK1Jh0WGy9u5/+ctfxDFogDEUCkmEoOv72rjOZjNp+NFMTyr/YDCQSUqrq6sS9fA+crmcRAH7+/unWHZ8VjqbF6rwjUZDvoDejSEcSxGcoT6dTgVs45RafTgB1VvPdkUKLpWbbCNdvtCCrUM+bi69PxWGv6cNxWQ+JRUKraZCaA88VS9s1L3jTClYn+a0VzL3mMowPC+Xy8jn8x5BJqCnvTtBT9aFedAENckhINElMB8lRfITyTW6Tmx6PubxQTUrT0dmrGponoBupe12u57WUt0MZFmWdLHt7+976MZ8XjLT2CegFZ6lJ9MA6yiPSqnZgdqJaCScYLJOUYgBrK+v48KFCzJ7QFcY+J0EpT///HMBl32qPs8avY4OYZTs+AISXTKksaDcxGIxeXcAjY+OdmjgP/74Y4n4TA+vw/0XpvBQbCGWtphXh8NhrK6uYnNzU8ZEHx4eCoqu82pLvSAgnU5jZWVFADACcdFoVLq36Jm196Sh4EQbGLVhXbaiEWBeTaEgAOlb0GDjLpjUOlLvDCO5iMAQrbY2SvSK1WpVlIyCwuuSw8CUgYaUQqNpk0yl+LJL0m19c3YXuQ9+NcbK9O7MPcPGm3nJ5tP8d9focuRMOHN2P3shgsEgNjY2sLGxIeei95FKxD1hhKj75YNqnDQUkDY1XtDIkiXZmro055u/Yejx48fyPgCd1vn9fmxtbWFnZweZTObURBp692aziVu3bgl9W0cBlGFGtCaZiYaWHZ3EDXyqjyKguhDT6bTnDUiUZZ4LJ0OXSqVT0Yw2VC9c4bkYnnW7XeRyOaRSKVy+fBnXr1+HbdvSsEAPN1W98Jwcm81mxdKyzkmBqNVq8meWpXj4/X7fM7oKysLpHG6i2l6nxuuVod6mSuNBhNTMyXX3E4WfRBJacF2rZcmKHpfeSwseIw7OjOfkFCoTlx7TzEgolUrJq5cIIhILIb11UZirFV4PxWA0RWKPGd7q6Ig/uvmEIWg4HJY3vSYSCTH0UCAT+fy1Wk2AOb96KyuxFV6Te673hKE2eecaMGWK8cknn+DmzZtCx54pGvW7776L69evY2Njw5OiaEM3Ho/x6NEj/OpXv8LGxob8O5WZ/89pzdrDaq/rOA6q1apnL3yKJEMnE5zPSJyqMdraQGxsbOCjjz7Cr3/9a4/M/yde/j9SeB5erVbD2toaEokEdnZ2sLOzIx6SL08guESwzFIvctze3sbly5eRSCSk5EUBZi09pN7OSZBK98HTK7gGNRfKM8OwmjpMTiQSyGQyEtqT30x8gDVqqAoAZ6y12215rq2tLRnqyPqx9tYaq5iqvnR2rDF3dhUhRHtmhuOckFIoFAQwbTabqFQqHm8FFeLqkJ5kpYCaV8DmIR22wgD2qPQ6XfKpNmGCT7lcTl5aomWFXm0wGKDRaHhGcWuGHyMaRmCmoSaYWqvVpGTqOI4Af+VyGX/6059kzp8uyQHAO++8g4sXL4p8ao4C1FgszsUPqPkJMHCCgBrxZnpaykqtVhPDDMMgkF/BErAGdPX/x+NxXL9+/VTayfXfFtKbazqdCumFDDjM68UMszQSbKmuNQ5UWFlZQXA+2FE3S+gfjbLy4dhmyBIhkWAtyPTW2hJCvcONXHzmckRmu92uGBa+bAEqxNQpA9+t3uv15Fn0rHjuBXNVMgxpvGgEdMkI84EPltHWS8yBXHPLstDr9Tyv6dKeisZnpqbZ0oDoz7L6otMYs5qgUxoNmPlUhyCnr+rR5TAGYRKs4qAMpmZMNQgM0/tC5cc0ZsQCgvOR5uzl73a7+PLLL/Hdd98JEYlRjOu6uHjxIs6fPy/nrV8QwUWDUqlUPOPH9TNYC6bMaM87U81X+kWqGpvgIj1dY1was9CftRQN3fTwZ11nVvj3338f4XAYnU5H+owJTJA6SyHWYY+ub2rLSHpsyHhzrFleMWme9Eh8k41GNjWllcCatt76YJh/ZzIZ6QRjfkhlJ0VXK5E+AHdOSz0+PoZvTqDRnW0aKONACkYrfP0WD5ceVHtlHqjfeNUyox5WG5gLLwK8psasAX0d/XmW2sylr6NLm9prWkb7MV+H5Cryjb4nDQQSG9BkGvI9dMnMN6eyshTc7/flpR5kFZZKJdy6dQutVsvT38Bnf/XVV0XZea6mbLiui0ajgSdPnpzaUz6DZsYtkguoKtR4wTv19CImxJKvrq64Rv9CwHgZy/dVdnwfhf/pT3+KYDCISqWCr7/+Grdv30apVMJsPmOd5TCSMrSHmBkcZO2xMPfcZk5uKW63ZXRE0ZNohacgLVJ2E9ygQmmPxO4s37zOq5V9kRfQiwM6pvO5aJZliTD65++K43BEEkM0QEVSinlt05JrgykHODee/gXvQnMVxVVfU++tjpieJ0C6NDZRb3kxsQJLsQn1MhVGRwyUHR01BNRgk4DqYGP4TwOpqamO4+DRo0fyfndiMvrZt7a2RF5MR6KftdVq4ejo6JQMcZllQ3Ov9N7r3H3RvurGLM3CXHRdvkV4EWZw1nVmhf/Zz34mPcRvvfUW/v73v+O3v/3tqR5tdsSZm7hI6HyqJdSsG2sB1xtOhdevhdbItD7MRQqviRFESul9KYh6eIRltHu6BoOM13Hn3APm1dVqVRSeb5TlLACCj/SE1Wr1VChtfoep9Pz3Rd5ar0VKv+h6/n/RbcXfnxktoaYhX2SQzO+DMiATNahUG32mB/pNr74F8wh1utLtdqUMZ5JUaOCf9543c5EgZEYA/LxpLJ93bjODBQjDoOtKCPkhi6JI/n4sFpPeeXNPz7q+17vlMK8LWpaFR48eIRwOeyirmma6SMj04s0usmiLHsK0sLqUw0MxDcPzNmNmzLzT+ZhlTMp5nmXW4TbBNIJIuoV2bW0Nly5dQj6f91QbaBjNuvi/eu5FoZxpABYtfR6LzuQsgmNew7zevzvvRdfSZVR9PR0paENkKthMceOpNObz6P/qAR3/6t6mavSZ+d2LjO5/unwLiEWmspuOznyu7/2d7llPabmWa7n+n19nY9wv13It1/8Xa6nwy7VcL9FaKvxyLddLtJYKv1zL9RKtpcIv13K9RGup8Mu1XC/RWir8ci3XS7SWCr9cy/USraXCL9dyvUTrvwAceNgIhDVPMAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 18.0\n",
      "\tJ = 9.4756e-01\n",
      "\tgrad_norm = 2.9047e-01\n",
      "\tpenalty = 0.202\n",
      "\tmode power = 21835.585\n",
      "\tdip power = 22562.989\n",
      "\tcoupling efficiency = 0.968\n",
      "Iteration = (87 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 18.0\n",
      "\tJ = 9.4655e-01\n",
      "\tgrad_norm = 2.8581e-01\n",
      "\tpenalty = 0.201\n",
      "\tmode power = 44635.553\n",
      "\tdip power = 46177.909\n",
      "\tcoupling efficiency = 0.967\n",
      "Iteration = (88 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 18.0\n",
      "\tJ = 9.4568e-01\n",
      "\tgrad_norm = 1.4660e+00\n",
      "\tpenalty = 0.198\n",
      "\tmode power = 191151.713\n",
      "\tdip power = 197978.584\n",
      "\tcoupling efficiency = 0.966\n",
      "Iteration = (89 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 18.0\n",
      "\tJ = 9.0565e-01\n",
      "\tgrad_norm = 7.1548e-01\n",
      "\tpenalty = 0.200\n",
      "\tmode power = 7787.385\n",
      "\tdip power = 8413.092\n",
      "\tcoupling efficiency = 0.926\n",
      "Iteration = (90 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 18.0\n",
      "\tJ = 9.1608e-01\n",
      "\tgrad_norm = 5.4755e-01\n",
      "\tpenalty = 0.200\n",
      "\tmode power = 3829.103\n",
      "\tdip power = 4090.553\n",
      "\tcoupling efficiency = 0.936\n",
      "Iteration = (91 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 19.0\n",
      "\tJ = 9.1000e-01\n",
      "\tgrad_norm = 4.0796e-01\n",
      "\tpenalty = 0.196\n",
      "\tmode power = 3154.019\n",
      "\tdip power = 3393.009\n",
      "\tcoupling efficiency = 0.930\n",
      "Iteration = (92 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 19.0\n",
      "\tJ = 8.9532e-01\n",
      "\tgrad_norm = 4.8212e-01\n",
      "\tpenalty = 0.196\n",
      "\tmode power = 3168.027\n",
      "\tdip power = 3462.783\n",
      "\tcoupling efficiency = 0.915\n",
      "Iteration = (93 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 19.0\n",
      "\tJ = 9.1045e-01\n",
      "\tgrad_norm = 3.6817e-01\n",
      "\tpenalty = 0.196\n",
      "\tmode power = 3353.528\n",
      "\tdip power = 3605.939\n",
      "\tcoupling efficiency = 0.930\n",
      "Iteration = (94 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 19.0\n",
      "\tJ = 9.3083e-01\n",
      "\tgrad_norm = 2.9490e-01\n",
      "\tpenalty = 0.195\n",
      "\tmode power = 3787.969\n",
      "\tdip power = 3985.947\n",
      "\tcoupling efficiency = 0.950\n",
      "Iteration = (95 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 19.0\n",
      "\tJ = 9.4441e-01\n",
      "\tgrad_norm = 2.1215e-01\n",
      "\tpenalty = 0.194\n",
      "\tmode power = 4620.248\n",
      "\tdip power = 4793.893\n",
      "\tcoupling efficiency = 0.964\n",
      "Iteration = (96 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 20.0\n",
      "\tJ = 9.3738e-01\n",
      "\tgrad_norm = 2.9252e-01\n",
      "\tpenalty = 0.188\n",
      "\tmode power = 5972.530\n",
      "\tdip power = 6246.091\n",
      "\tcoupling efficiency = 0.956\n",
      "Iteration = (97 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 20.0\n",
      "\tJ = 9.4350e-01\n",
      "\tgrad_norm = 2.2733e-01\n",
      "\tpenalty = 0.186\n",
      "\tmode power = 9200.513\n",
      "\tdip power = 9562.867\n",
      "\tcoupling efficiency = 0.962\n",
      "Iteration = (98 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPwAAAA6CAYAAACUGjTOAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAALOdJREFUeJztfVmPXFfV9nNqnufqquout7ttt+24g+2EYAyBF3GDuIj4A3CHxB/hX+QKiRtug+AKiAAFiEzixM5gx+643emhqmue5+G9qWdpne2yccB8n/S6ttTy0DWcs/can/Wsdaz5fD7Haq3War0Uy/H/+wJWa7VW6//dWin8aq3WS7RWCr9aq/USrZXCr9ZqvURrpfCrtVov0Vop/Gqt1ku0Vgq/Wqv1Eq2Vwq/War1Ea6Xwq7VaL9FyPe8Lc7mc/N3hcMCyLDidTjidTvm3ZVnymvl8jtlshul0iul0itlsJv/HvwcCAayvr2N7exsXL17E9vY2MpkM4vE4fD4fHA67PeLnTSYTjMdjDAYD9Pt9tFotVCoVnJyc4KuvvkKhUEC73cZwOMRsNoNlWfB6vUin0zh79iw2NzeRyWQQi8Xg9XoxmUxQLpext7eHL774AoeHhygWi6jX65hOpwgGg3C73U/cH3/Mf2vyotPphMfjQSgUQjAYRCAQgMfjAQAMh0O022202230+32Mx2PbvvL79OfOZjO5//F4DACIxWLY3d3F//zP/2B3dxfr6+uIRqPw+/1wu92yj6PRCMfHxzg+PsZXX32FR48e4csvv8TBwQHq9Tomk4nt3CaTifyfXk6nEz6fD8lkEq+99hquX7+Oc+fOIZPJIBKJwOfzYT6fo9Pp4OTkBA8ePMDDhw9xcHCA09NT9Ho9TKdTjEYj+Q7+TKdT23e53W5Eo1Gsr68jm83C4/HYXs/zdTgcts/j/ozHY5E3LaPL9pSyqu8xGAzC6/XC4XDYXq9/uD/6/yjz+nqGwyFGoxG8Xi8uXbqEH/3oR7h58yauXLmCjY0NBAIBAEClUkGz2US5XMbh4SEePXqEBw8eYH9/H+VyGf1+X85Fn83h4eG/1OPnVnjesF6z2Uz+1MoApZz8MZUDgM0Y8PBcLpfNkHDp99LAaENjGpxOp4Ner4fJZALLsuD3+5FMJuUwvV4vAoEAQqGQGAQqZjgcFgUfj8dwuVxPFZR/JQQulwsOh0MOfjQaye9GoxFmsxkcDgdcLtcTQmPuqWkwLcvCbDZDp9PB/v4+YrEYIpEIAoEA3G63GA3uqc/nQy6Xg9frhdPpxHA4RK1Ww8nJCQDIHjocDjgcDjidTrhcLlGG+XwunxOPx3H16lV897vfxbVr15DP58VQO51OTKdTMbxerxeWZdmMiN477ge/fz6fw+12I5lMIpvNIp/P4+zZs0in05hMJqjX66hWq2g2m2g0Gmg2mxgOh5hOp3A6nU/IDPdX7wm/h3s6Go1EIXl9/X4f0+lU3sd90XtknpuWd+oHv0/vZ7Vaxeeff45IJAK/3w+v1ysGjUbT5XJhNBqhXq8jEAjY5FDfn/n3Z61/S+GXHZT+4vl8brPYtJrLBIpKzfdZlgW3223zqPp3WBgKU9H5mTyQ8XiMfr8vCjYej9HtdsWo+P1+RKNRJBIJeDwe9Ho9hEIhBAIBeL1eBINBxONxFAoFDIdDuRdtvXltvEd6E63wFBjuyWAwEE+ulUgbGFpvLWSmsuv9nE6nqNfrePjwIUKhEKbTKXZ2dpDL5RCJRGR/nE4ngsGg7LllWZhMJjg9PUW1WpU91meiIyoqYiQSQT6fxxtvvIE33ngD58+fRyKRgN/vF4XjPjUaDVukwfNZJl88l0gkgmQyiXw+j62tLWxtbeHMmTOIxWIYDAY4PDzEw4cPMR6PUavV0Ol00Gw2MZvN4PV6xchyXz0eD4LBIEKhEHw+H9xutyiPlg1GW71eD6PRSKIQGhL+8P1er9fm/blPo9EIg8HAdmbcF+75YDDAyckJvvzySyQSCcTjcYk4vV6vyAMNT6FQwOPHj21n83UUnetrKTyeouzmQdI7cRO0wvMweAi0bhQIelu32y3frYVce3hT0fWhUNm0d6rVahiNRuLx4/E4MpkMfD4fBoOBCKbX60UymcT6+jo+++wzHB8fixDQA/CzeaA8aBoCLh3F8P3cA+6XFgZ+nsPhgNfrFUs/n88xGo3Q6/WeUHp+T7lcxp07dzAYDGTPqUhOp1MUmukN97lUKuGrr75Cv99fepaTyUTe7/P5kEqlsLOzg9dffx3nz59HKpWSFIzn7nA4EI/HkUgkEAwG4fF45IdGmN9BuQiHw9jY2MCFCxewvb2NjY0NnDlzBvl8HplMBsFgEMPhENlsFtPpFK1WC+VyGQBs4bvH4xGFppFbW1tDNptFMpm0RUHz+RzNZhOlUgnHx8c4PT2Fw+FAp9OR89RnymtmNJhMJhEIBOB0OjGZTNDtdiXy6HQ6T5wVz8OyLPR6PRSLRRweHiKfz2NzcxPRaFTOLRQKweVyYTaboVwu48GDB7ZU799Zz63wFDodTlJxfT4f/H6/bCI9VbvdRrPZRLvdFg/BnJaHsLa2hng8LrkSP4/fp3NKehx9w3oTGRnQApuhf6vVQrfbxXw+h9/vRywWQyKRwHw+lzBXe5pQKIRYLIa///3vKJVK6Ha7EmYxf6ZADIfDp1rb4XCIXq8nB03B18YKC2Pm8XgkwohEIpKLW5aFbreL09NTlMtldLtdmyGll2m32zg4OBAj4vF45Fz4ep6h1+tFPp/Hj3/8Y9y5cweFQsFmUHlNGqcJhULIZrO4fPkytra2EIlE4HA4bAaGy+FwIBwOy7nSexFb0e8JBALI5XK4cuUKrly5IjhLKpVCKpWSSAwAkskkut0uOp2OeOXhcIhOpyNGk/fh9XoRi8Wws7ODV155BZcvX8bm5ibS6TT8fj+m0yn29/fxySef4KOPPpJ7YZQ1mUxsZ0n5oOHb3d3F1tYWYrEYptMpqtUqDg4O8Nlnn+Hw8NAmEzRA1CcAGAwGqNfrKJfLGA6HT8iOz+dDPp/Ht771Ldy5cwePHj2yGVb92c+lx8/1KnWQWikCgQASiQTOnTuHK1eu4MKFCwgEAqLsBNLu3buHarUqYA3DQip8MpkUT0CvxhvSgqG9grmJ9MwExvx+vwA8DOMty0K/37eBeSae4HK5EAwG5feWZeH69ev46KOP4HK50Ov1xBMCkNTlWWswGAAAAoGAAFrLDsnhcMDn8yESiSCXy2FjY0M823g8RrFYRC6Xw71793B8fIx+vy/RACOb6XSKdruNk5MThEIhRKNRZDIZEW7eqwYzM5kMbt68iT/+8Y8YDodLUykalUAggFgshrW1NcE/GPYyHQsGg7b7orGm3DCPhQpJGVXRCycSCZsn1nvlcDiwsbGB8+fPo9FooNVqSQg9Go1kb3mWuVwOW1tb+MY3voGLFy8iEomId3e5XLhw4QI8Hg86nY58Xq/Xk4hBf6/D4YDb7UYgEMD29jZu3ryJN998E4FAQPZpMBjgN7/5DX7729/i4ODAJmNaZnV4PxgMnogOuXw+H86ePYsbN27g9u3baDQatujo66znVngqIZUrGAwilUrh8uXLuHnzJl599VW43W65gW63i3g8LqHx0dERGo0GxuOxCE48Hkc0GhUEmzkgN8P0Nk/z7m63WxBVgm75fN6WWzudToRCIUCFf+PxWD6TITs9GkG9yWSC9fV1NJtNHBwcoNFoSIjMz6LyezwepNNpZLNZ+cxGo4FqtSr7Qq+jFyMXfkYymcTFixfxve99D+fOnUMymYTf78dgMMCtW7fQbrfRarXk3nTYrqOr09NTFItFtNtt8cQ6SsNCiP1+P37wgx/g/ffffwIl52sZMdGwUsBpUBnBeTweAfawMHbELTSIpe+byhkKheT9OjKjp9VpXiQSkbyXhqHZbNoU3uPxIBwOS+jNaEkDe1yJRALJZFIiEu6nxq40FuLz+ZBOp/Hqq6+KbvC+fD4ffvrTn+Lw8FCuyQS4KTPPSgdN/Xvrrbfw61//+gngEf8N0C6ZTMrB+Hw+xGIxbG5u4urVq3jttdcQDocF5NBK6XQ6BSCjJabQ0wvrMJwhmc7Flyk/jHCeoWs4HEY0GsVkMsFwOITD4UCr1RLvw1SBiDm9r87NsVAECncoFEIul0O73RbhNysJw+FQQk+/3y95LyOUXq8nAq4PVuMcNKjhcBg7OztYW1tDNBoVQQ2Hw7hx4wYODg5wdHQk98Xr1dczGo0kyqpUKlhfX7dhL2ZFIRQK2fZX/2mCplzD4VBye96TiSR3Oh10u10BPrWAUl4oByytDYdDQcxpmM0oSivfMtxBp52UL4fD8UQ+rg2fRuN1VGOi7YwcKGs6r+afbrcbV69exd27d0Xpl4HNGvQ1UXd9bfxMpncmlva867kVPpPJ2MKZVCqFra0tnD17FolEQjwLEU0qCz0mlZFCotFN0+oRxaZXwcK7P00giQtQKVin1LjBeDwWUI7INmuj9FSaL6CNCQ1cOp0WY0Qj4/f7pU7PEotlWZLTU8g9Hg8Gg4EN6KOy6CiEYA1LXNwD/kSjUbz66qvIZrMoFovo9/uSD2o8gLhCp9NBp9OxCZLJiaBA81oto8Rpelp6JIJSuvxnYhKtVgudTueJe6ey65RkOp2i3+9Lfs4UyOfzPeH9dIT2rHujUpglQccSjoe+b9Ox6O/Q+ADlSWMHfP329rakD88qIS8rw5r/xz9Zq39WpexZ67kVPp/PS5gUCoWQSqVw5swZrK2twePxLC29USkIhDDkZ0ljPp+LJechMCekd9f1YBoCvQnLwvpwOGyrpwJAr9cT0IiHQ+GFymv1RuoUJhAIIJlMYjKZyPf5/X55jy49UXB5MHwtlU/zEjQ5Q3sPIr9Q1QYqXCaTwc7ODh4+fIhms2nLkU3PTOXU+6a9Co0Ny5g8H+69Fjoqab/fR6fTEbIOozQTSBqNRqjVami326LwmnfBFEpHJd1uF61WS0pojARNhWcUQKVfxoHQe6ejBjolrSRaVmCEyKZH1ZUULv3dNHrpdFoUfpmyL8Nw9PebXp7Oa5mcvvCQ/uzZs2LVQqEQEokEstksIpGIbYPMjdLlESoaFZ4XrsNZh8OB4XAor+FnaE+il1b4+XyOYDCIwWBgC9Ety5I8i5GFVnh6fL2R+hDo5aPRqAiL1+sVkE/ncFSyXq8nUQ6VrtVqwel0otlsLlV43jNzWV4XFWM2m0kKcv36dfzzn/9EsVi0hYQOg+PAz+D/a1IIv3c4HEo5ab5gQGqDy/2YTCbo9/tot9uCLI/HY6nSMJJh6bFaraJYLKLZbAongt9JA0AhJtjFz2a9nFEU5QwLJe73+3LO2nvrlEyDYt1uF91uF4PBQEgsvEcdiS1bZqit944GT1eS+P2RSEQwAYfBRtV/ajBTf88ynWLJ1SxVv3APv7W1ZVN45i9ut9sWFi4LWfhvKiW9BoVSkxkIulA4COJoUEpbNx3S0JOGQiHJ/5j78bvJBNNgCQ3AsgO3FEMqGAyKwvM74vG4RDhaGHq9nuSvNCztdltCfh6cJtq43W6Ew2Fh+mERuvZ6Pds1j8djyfNLpRKOjo5E2LmnjHh4v9xHejIdmvf7fTSbTTSbTSmfaY/NP4fDoZSRisUi3G43ut2ugK66/j+fz/HBBx/g0aNHUqGhRyYtmspOQSdNWisjzzUcDmNtbQ0A0Gq10Gq1pEoBpbTagNOYdTodVKtV1Ot1pNNpUUKt8CZYiaconY5OCEbqCENHWqFQCJFIRL5rmUcnxhUOhwXo1N8PI1VptVrPNE7/aj23wlMIqewkU+hwyzJIOBpE0XV0ekYeNL29Tgt0jsbXmiyuZSw+elW/3y9AEaMEei+tTPRGepnhlxnak8zB/WCOyR8KGkt4JNx0u10Eg0GMRiOUSiUbxdTr9SIej0sYqCMRzZvXe7K7u4tCoYCTkxMxcCSdUIgYLTC1Iq7Ba6Sy12o1yfvJ94byRPP5HIPBAMPhEOVyGUdHR0J+iUQiovQsrbbbbdy6dQuHh4fChqM31iAfef8soRIYpWemkaCx1tEISTbM9bkYGTJNaTQaKBaLOD4+RiKREOUyyV00PpYiQMFQPG1IyC8xX6eXjtZMGaNM+Xw+0StTBvXfx+MxqtWqRJUwIoXnWc+t8Dpv8fl8UpaZLynzaKU380VumK5301Jz4zSgRtIGF39HAed79HcyFPT5fLawkQpP4adyLttgDT7BSB34OnLKWb7T9zcajRAKhSTspHLRuFFoKLChUAgbGxtIpVLw+/2CXNMYmdae4B7Lms1mU9iCjMJ0SEmh433rXLzRaKBSqSwtEc1VRYPYimVZqFarACAent/LGvv+/j5OT08l9OY+856CwSDW19cRCATkevjDFIA4QbFYxMHBAb788ktkMhl5D0lA0+lUqLHlclkiSKYgjUYDhUJByEy8Xq2I0WhUIiIdiZqeX6dZvE7Sl5cpHyMrGBGDBpup7Lpca+Ixw+EQf/rTn2yEKzwlon7Wem6FJ1mF6LPZNKCVwqylmx6ZN2Mik8vCJo3869+ZgqlLUvToDE81wKJLQBo/WBadmECXzrcYilGptDfSFF/N59YKTP43I5BQKGTrFKSS6rKXiTG43W5ks1lsbm7i008/lbPRaZcmrjAt0MrearXQaDTEwy/rgeAehUIhYR/OF91w4/EYnU7HBlh2Oh0cHR1JBcQyKimJRAIXL15ENBrFYDBAo9FAvV5HrVYTNiRzeZ5jOBxGNpvF7u4utre3pQS6vb2Na9eu4erVq/jzn/+MW7duoVwu28qt7XZbmJjEG5i26MiApCISivQe6OoHFZ7XnUwmbV2JWqaZsunqAZfD4RAjFAwGl6bB/M5Go4Hf//73aLVa4iioY1+HbvvcCk/giGGZ9uC6rEYBJZqtFZ4Kyrxfh+Nc+vXLQJi50dAxVe2MmiihqwTasFCRHKrhAYrPbiq8eV1QuZfX65Wce6Y6/qiUVHaoCITXOBgMcHR0ZEsVaDz4Hpa5THyBf3c6nYjH48hms7h3755UBhgi0pNp48yQmOSdRqMhHWfLjDMFisqQSCSkQWc6nUqLMs+FHrVWq4mRo3KR9ba7u4vXX38dAFCr1VAqleD3+4EFKNVsNtFqtWwofiAQQK/Xk1bZVCol9FiXy4WNjQ3Zq08++QSnp6eCn/R6PZsiES9iRx4xGDYFHRwcwOfz2fZAL63whUIB2WwWoVDIBkxTRuv1ulQ/tMPDwmBrA6QXv3M8HqPRaODTTz/F/fv3xYAwzdUO9nnW11Z4TaAgyKY9sEYcdT2WIexUdYgto6SaQqc9KzeTN60VntdARF/nSNqwaIWnkurQaa7q0Bp5nxldctaiRMnaO3ncMEAWKAOhr4nellRikkOI+NM7as9ifra1aAJiDtxqtYCFp9IKrwlA9Jy1Wk08VL1eF4WHKmVxP1nuJLfd7XZLdEBgkvVzAmrD4VBIKQQkE4kELl26hO9973vY3t5Gr9ez0Wd5faenpxIu8yyZRlarVbjdbuRyOSQSCdvnX7t2TWr+TAk1RXaqevD5HsuyEA6HJYI5c+YMdnZ2sLe3h4ODA5EP7UX5OexQXF9fl7PU51yv13F8fIxGo2HjIcAwPMQN2IrN388Wrc97e3t47733BN9Ylha8cIWnsvr9flFyDo/QXpJCQpCHwkoOOwXW7XZL+KvzUxMV1V6bh0haqdmJZ4ImugJgqWYfzbrSnG5LNTdo5dW16qmigpIIMzNIG2bpxqwkMG/n3lDJdUNOtVoV5eI+aMBrZjSIBAIB+TeVna2+jkU/fq/XQ7lcxunpKSqVivDG2dmlBW00GgkAGo/HsbGxgVdeeQWRSATj8Vg61U5PTzEejwXlbzQaGA6HttqzY0Hf3djYwBtvvIFvfvObYph0nzpD1/39fRsCDwUa9no9pNNp6c7jfoxGI3g8Huzs7OD09BS1Wk04ANw3DVSySsCog9WTcDiMa9euYTKZ4PPPP0ez2bQ5MywUntWKDz/8EMlkEufOnUMsFpP8fzqdYm9vD/fu3ZOhH9oR0THReLCSkEwmxbkNBgMcHBzggw8+wJ07d2y0YS2vxE5eqMK3220JzzQ3mnkrEVN9ER6PB7VazcZxZmjLm10G/GnloPVvtVoyoUWjvZouy8/TuZT2riY7Snt4DWhpa8l77Pf7toEa0+lUupuWgShzNRNAK7zen8uXL+Pk5ETSDt2CW6/XbUqogUxdcpzNZvD7/dja2sLBwYHk78Fg0IZEj8dj1Ot1FAoFHB0doVKpyKQdemgdVs5V7/vGxgZ2d3dx5coV4fS3Wi3p32Y+zzPQHAquYDCIc+fO4caNGzYOBr0rlbder+Pu3bs22SN3nSllOp22nTlBUX7ezs4ODg4O8NVXX6FcLstZUZFYj5/P59jc3JQqC8HhQCCA3d1d/OIXv8Avf/lLoUWbVOparYaPP/4Yw+EQV69eRT6fF4pyp9PB3/72N9y+fVtKjXQ2dJosGZZKJZHrVColVZr79+/jww8/xN27d1EsFiVN1tEnP48p0QtT+FarZauVW6o2q8NPbQULhYK0x2qGmtkPrpXdUnx9lrza7TYeP36ML774AqVSSYApCoGlavwmsq7TAQoiPQqFxel0CtKqD1Uzy9rttpSW5vO5oLPlclnaM03gz7w3k87p8XiwsbEhpBAqJhtOPv74Y2xvb0u3HPNvMvY4FguKcqkFiwaMxBN65FKphFqtJgaGRoQAlkO1CMdiMeTzeXz/+99HLBYTYY/FYjJMg4w6ei0qqaXq4QTeSFhiekRljsVi4uF9Ph88Ho9EgNpIaxnUPHtGe263G+l0GmfOnEEikcDDhw8xGAwk7J3NZsLt93q9ePToEc6cOSMGStObr1y5gp/85Cd45513bNUma8EGZcRULpdxfHwsI9o8Hg/q9Tree+89GbpCfoDf75eGp263i0ajgePjY0wmE5RKJSlrDgYDfPjhhzg6OrIZKMrxeDwWOSZt/YUqvAYG2IZqGfxqXhBDvkqlIp6Klp8eezgcIhKJyOdqgIheKhAIYDgcolqtolqtCujHg2UdnMANowiN9mtvTZCNraL01vP5XMpLvA8KNkEp9l6zjZFlGY6HmiuWm9vtlmvRa25QMyeTiYBR9Nb08Lwmy7Kk0411Zdb36Zl5zeREcI/4+tligAJDXL6PeSUjNFKfmRcydyerkuUwhuxM1SqVivAyqFTaaJI5SaLOTHWO0UhxIAm9pFZybTxY/6bXnBmUWsuyEAwGsbGxgXQ6LZ/Pygr3meBgtVqViFWXXDmQ48aNG3j33XeFRkyjzrCexpr/1+v14PP50Gg0hKsAlRpOFa2a+1Gr1TCZTFCr1WAtWrj39vZwdHQELGr5TH35pw7peU4vVOHJFWepx+VyCeKoWXHhcBjj8RjHx8cSzlPhCczonmlttbBALgOBAAKBAByLTrdqtSoMIyqVz+dDOBxGMpmUz9ICrFFxCmA4HEYikRBl0IaB5SXNwKJXpdLT0vLgKDDcG41hMHd+ltJr6q+1qBtrTju9Pcs2WICnjAD6/b5NcRma8n3ORdMQw09GItOncM+plLx+ouycVUDkmtehUWZdJtJ4hqbvkuSjy7oaW3E6ncjlclIaM0ktZB02Gg0JezVuAgXMcrDKXHU3mpUeXpPuu5ipng6Cg+vr66hWqwKqaYPN/ZiowZnc92XVFcqm5mswZWi32xiNRiiXy3j8+DE6nY7gO9QHyjSM/nwT5f+PFZ4AUCwWE4ADCwtOJJT1wcFggEKhIELGkJ6kDKLb/X7fBkZphXG5XBgMBiiVSiiVSgIGER0nEs2eeiwaZKigehwVD5GNDNrKTtWoKlp6DQZp4gyVbKYacjqdji2EpwFjPqjLliaop7v1mJ9SoanMlUpF7pPh8FjNTaPCk9POdIMgEYWhVqsJacOhGpL0tXHfXWp6EKMyLWiWYqJpEMrML3X01263pSpADoMupdJTud1uxONxhMNhkSsaWKLujUYDyWRSlFl/JxWAc+JMXohOtWaql2OqGKAaEOUknk8++cQG2PL3BGE5zosEHgBIpVISvUFVq+aqg3OiGrgoU6VSSToRKSOkSJspK1Qa/EIVnmURKrz2ivTi8/kc5XIZzWYTfr8fvV5PfkdFInedwyioGNw8/t90OkWxWMTjx49RKpXQarUk7HKpAYI6/Of3aEXQ5B1GDCZbTwNgeuILjGEZOtxmSGtyqXl4VI6JajnVVQgN9PF6GEH0ej20Wi0ZqEiqajQatVUXNH2XCm8tBm9w9gDTmFqthsFgIJ5LUzOnxiQW0yMydKex1Hm/TuU0V4H3qhuH2JtPhF2DvLoPIpVKIRwOy5lwfxn9NJtNdLtdCW9dxjgzVk/i8bg09egqjokX6e+gc5grchMNh46KaNT9fj+y2SzOnz+Pzc1NqetzanK5XBbd4H7QcLA3wzQ+ulw9Vc1TlsEN0WmTWaH6jxVeDyEkcaRQKKBcLsvI4G63i/39fVQqFakNM8/RQAVZe2trayJ89CrM04fDId5//31hX5HzzhyctMl6vQ4sqJGkzUajUQHaWq2WEDk+++wzmY2mvY+u6WvkX/MI9GFTQbWgaU9BRFiTjSyjWYjehK9nbZw5Kr0h5+iRyUel1gpAhSeQydyfVRVTwOmxPR6PoNvcYywpSXa7XVQqFRE6GlM9LmwZ4YoGz+FwoN/vo1wuo1Qq2XrE6aEJ1I7HY6ytrdk8PD+HRoaGkVGCVgT9WfF4HJFIRKKdqTFogh4cRn8GjBKxOX7KUm3M2WwW169fx6VLl5DNZhEMBiWSTaVS2N/fx6NHj6RErb19t9tFLBazGT/LspBMJqVXYLakC88ySG48ixeq8JVKRRpHmB9yZh1ruYVCQcZABQIB4coz5MTCYrL+2+12JRfTyHyz2cR7770nAsUNZ46qG2+Gw6F0eTF8tRbEFZ03EnSpVCpPhNdTxYEngYI5uVn+aTabcLvdUiPXHAFde6cSaPKIzsH0PWgSC4kr5XJZCBs0UHy9S03t0TiA/rzpdCpgT6/XE2/E/WGfASMuGuyZ6mfQ3XGFQkH2RkdHVGjm+A71wAbtjfr9vrDq2C9AIw/lrVgL1/0BGu3nmet0bW70jTPlI/ahadg8J6/XKyG4mWrpaGUymeCdd95Bp9ORc2M0kkql8Oabb+Lb3/42crmcbUSX0+nEzs4Ojo+P8Ze//AUnJyeimGT+cb9ZpaBxjsfjcLvdksfPl7RsQ3ETCPy9UIX/9NNP4ff7cXx8jFgsJt6B1MxOp4PHjx+Ll+LNEV3W9WjXYhjkbDZDKpWyDdmfLmasHx8fy+HSOtJ6moMmtOLNjOEAjARoPBiCutSYKhjjpDmGi+Di6ekpHj58aPOcOhfUU3NYxuv1eojFYjK4c5my09Nremu9XrdNYtVsQ0sxq3jwJEAxv2fJiIKv8QqmQsz1WRWwLEvq8vTyurW00WigVCrBtZg7x/BW594cxeXz+eSeNTttrAab1ut1ediCBi25SN/VFGgdulOeTOajJlpRDvQDHXg+s9kMkUgEm5ubiEQiYkBnRoccu/dYZaBToUHhYMmzZ89KZYFny8nMP/zhD1EoFDAYDMRozNRcA0atmUwG4XBYor58Po9oNIoHDx6g3W7bIhhtHGezGdrt9lKA+D9S+I8++kjyGc72ZmivwTKipJrdpD3RRE1uYb2VgB5zRYayGjTjIdCTMJzR03HohWnFLUWu4fWRLMNwVzeomOg1uQQEHwkyejweMSA652eI3W63Ua1Wcf/+faRSKQldtYdgiYdGk1gHIx/mbZrayhkEDOuJlOtrp1GaGbx/jXuYoJrD4cDJyYk00PDeWfdvtVry9BOeL4WVLL9YLCZDIGnMNcjEs9UNJ6FQyEY3pRCzSqMNuQZ2x095hBQNuNfrRaFQQKlUshl1XZmJRCI4c+aMzH43eRP0nnfv3rUxNKnMnCSby+VsjyLT3tjr9eLatWt499135cEZM9X8RWOdTCaxsbEhaTCdBzsDP/7446WgqAbO9RizF6LwDx8+FLAtlUpJOUx7VW6EYzG1ht5vppoJdD+3Vk5dpqAy6FIHD7vb7QqaSw9HhSWiSb4/VG6mc06ixCx16cPSB0JGGevvNGhOp1NCbzLFyD+gJa9UKtjf38dswYSjsjE8p5ck+cLkpU/U4A72tvNJOeRAkE4KxX/n3H0oAo1bTY5hWuYwZgWyR1wrEysBBGb1MAct+Hzt2toaEomE5PtzNQyCCsT0j5N0CVzpkJXX61K96Rrk1OmEmdtSwVnd0caNcsTOO62sOkymIWy1WvjDH/4gZ+c0uh/z+TyCwaDNYegodjabIZ1O26ocxKzohDjYI5/PS+MUryWXy4nB39vbe0LZLcVQ1Ej/C1F4PuGDAF2z2ZTQnlaewwVcLpcQVXS3kLbmuqTBUIjGgFWAqeosovEgsUG3mjrVNBh6cdJvCbD1ej0BDxnS6jDNUtRaGNECc0CG2OQSsBedh6kVvl6vC+7BEFV7Dyosm1fo2VkXpiFjaMixzIyuCORphedAS01i0opJw6GFipgIQ2yelY6M2F3X6XRknDjPjWc5m82Qy+WQyWSwv79vU3h+F9F6RjTRaFQm5ZjK61KPgqIs0FPT+I6MuYW69k9G4VzxHqjwuVwO586dQzqdfkLheUYEpf/xj38gnU7bZIT7mslkbOkA1GxE5+LZfRo0daguS0bHJDXl83nb03v4epad+cgzKAapDvOfdz23wnOx5Y/5HckvfCAFp9vy0T0EKOiBNGkmFoshlUpJVxUVk/3g9Jpa8VimCgQCEs7zkJg26PeYvd9YWHF6Jq0YunzjUBTZmRoMwUhhOp1KLudUM+4IonAevdt4gKEuDzH01wpPgJI1dIby7ENPJpMydKPf7wsPf7J4Aq5WeIdqEdZz+/WTeWcLDrl+gCEjJ3puGstOpyPNM1iErLoGv7GxgY2NDfj9/ifASip8p9NBrVZDpVKRTkMCvJq9qa9vZnQKkv/Q6/Vsg0KcTqec9+PHj1EoFCRnp2w4HA5sb29jZ2dHHhPlNp5jSNbb7du3EYlEbNEGVB4diUTEs+s1V48FY9Q5NcafkyWaTCaxtrYmT2fW+BO/o91uI5PJ4Pj42GbcTPD5v6LwVF6GudPpFMlkErlcDteuXUMul8NoMWucxBFLDbsgOprP57G9vY1z584Jj50lKZIzdNmJB0+FpxecqeGWOszROaquF+uQjKOwSAtlaETeMhXYoZ7+ypSBTyfh95Fn3u12RSAbjYbkaPTw2nNWKhVB45lu6Bos8QpSmRnWp9NpJBIJAUV5TWT86fDOUj0ErHP7/X4byOP1ehGNRiXS0vks94NKrx/QSWPCKEmHySz3WYoay5SDaD2BOSoAmZpa8ejFoZhqZDjS2M7VSCwA+Otf/4r3339fJu6M1Ygw/Sgr4iE0yrzn0WiEg4MDvP3221hfX5cIwDRGbALSS0cZ5KFwsjAU14G6wDJpLBaz8Tw00JvNZvHWW2/h7bffthmdf8fL/1sKzzVePL3zwoULyGazOHPmDFKplHg4fSBUtmAwiHQ6jfPnz8tzxfkwx0ajIYBWt9u1jU3iJtKjYxHKU1hglCt0SqDBDp0Tc6ADh3HOFX2THp+8cah5cvQiJLfMZjNsbm5KFxRBNw6GgArneP0kx9Cr6w5ALTwabCP5iY/pYh5LFJ2oNow6sqXILXqwJX9H7oIWbC5GTJr9pw2T9q6JREJIM7pMRHCRZUqO1KJ31ZRe8hvoJTXQyuth2ZKywqhwPp/j9PQUv/vd71AsFp/gWADAjRs3cPHiRYmSNCUYC4VnWsbSoU5LtFPRsmh6WspJqVSSqoUuVfIzGQVoQ61JOASqd3d3n6qH/9WQHkqxZmpckiaV0PLrGvZcPVs8Go0il8vh4sWLOHv2LCaL52WzxKYtvg6JublUWoaBzGOJ9ms2mun9KeB8HDS9pQ7JWeag4dEGR1vq6XSKUqkkLZAkEhGlxoKhSO9KejK9H0NtnYJQUQkGabqxWz3mif9eNgpZl9w0aUSfDxXeqSbymijzXNGPNYd/qObBa4OqH8FtPkiRiwpar9dl/j6NkO4/0Gg1jQvlqdvtyvgrTp5xOp3odDq4ffs27t+/LziLPrdMJoPNzU0pBVNGTSNJg8IysNN4rLm5h1CNQCbIyEGXUMZCp471el0ewTY1HkduLWEHwvDuX0fZ8XUU/jvf+Q5CoRD6/T6KxaKUcPTD/Gj9dW1VAxoEoQKBAKLRqCD97DbS5RXN69Y0TzbwsO7LsgrUc960sGuPpTeblNNEIiEDFVjTJHbQ7XZtXs+s+zIiqFarUkFgSMomChoXjsLS9XfeDz2VTl2c6hFKZo+B7iKjMdFcastg/s2M9mOtpPwezf0318yYI6irK1QAqJFNLN/NFE/fMngLvV5Pni4cDofFcNFTazCV103jT0o3FZ7GulgsysMW2e+h6/gXL14U1NxtPFZK3zs73ej9tWxqhV8WTek9s9SDNmF4Yn4WU6WB8WQeDe4uwwnMz3ve9dwK/7Of/QyhUAitVgt7e3u4f/8+Dg4OpN+dbYL0bjPVAjkzRk5p1JgA0TIShUPNgHOoziCG4gzLqOQ0NqThmgcKFS451RBKDo7Uh0RlNznlWnG4GFZjwShj2Y6KS+OmwUkCaJxU02q1JKqYq7FeZu3VRLCdaqKPueYGJdhUeq0Qz2q+mCuOtw6Rl5GCaMBM4dZKz3ybBCX+0GFAUbl1KK1LsQSNCQQPBgM8fvwYp6enwCK/1gAYFg9TCYfDNs9u7tt88bz4QqHwBEdf750+A/P9MNLK+VMeFMG0hamSQ80vND37XI2U+3cRenwdhf/5z38uuVylUsGtW7fwq1/9Cnt7e2KlaKmsp8z1toyyhg69df5qCqT+O8thujOJSjpf8OB1GK8VBqouDzVJRU8MYanLpebyaeu+zAPSA48XcwDG47GUMZ2Lls/19XWEw2Eb/7nVasHj8UhI6jCeVMplKrwG3Byqi00vLeym4JshoXl/y4R4bswaXBY5aGUwl76fuWqqGS55cKSOfEyFd6qmJHI8GOazDGeeOd/PMrLTeACleb+9Xg+1Wu2Jz9F/Oo1JscvOzdxz/p/++0TN32fFZVkYP19Ulsw5C/81hTc704rFopRENNWRed3MoLjOjeGQZii1TNCWCaVDcaWZ91EYl3lEc80VK00bIAqBmbOZ6YB5fU41gIBUVo2S53I5XLp0CZlMRnJKCihDumVg2bP24Osc8jKFX7aW3d+yz+C5mp7IvN7nuSYdfcyMTjQzbDY/e65q6zP1AA0YzyjQcvOsfdbXNlXDUfT5Wyol/Fef87xLG9GZ0T+vr8lSLdf/ybLmz5KC1Vqt1fo/tZ6Pcb9aq7Va/yfWSuFXa7VeorVS+NVarZdorRR+tVbrJVorhV+t1XqJ1krhV2u1XqK1UvjVWq2XaK0UfrVW6yVaK4VfrdV6idb/AgizdIHWnu17AAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 20.0\n",
      "\tJ = 9.5092e-01\n",
      "\tgrad_norm = 1.1442e-01\n",
      "\tpenalty = 0.184\n",
      "\tmode power = 15828.774\n",
      "\tdip power = 16330.019\n",
      "\tcoupling efficiency = 0.969\n",
      "Iteration = (99 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 20.0\n",
      "\tJ = 9.4448e-01\n",
      "\tgrad_norm = 1.1112e-01\n",
      "\tpenalty = 0.182\n",
      "\tmode power = 30118.514\n",
      "\tdip power = 31287.115\n",
      "\tcoupling efficiency = 0.963\n",
      "Iteration = (100 / 100)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 300x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\tbeta = 20.0\n",
      "\tJ = 9.3400e-01\n",
      "\tgrad_norm = 1.4951e-01\n",
      "\tpenalty = 0.179\n",
      "\tmode power = 60020.849\n",
      "\tdip power = 63053.450\n",
      "\tcoupling efficiency = 0.952\n"
     ]
    }
   ],
   "source": [
    "iter_done = len(history_dict[\"values\"])\n",
    "if iter_done < max_iter:\n",
    "    # small # of iters for quick testing\n",
    "    for i in range(iter_done, max_iter):\n",
    "        print(f\"Iteration = ({i + 1} / {max_iter})\")\n",
    "        plt.subplots(1, 1, figsize=(3, 2))\n",
    "        plt.imshow(np.flipud(1 - params.T), cmap=\"gray\", vmin=0, vmax=1)\n",
    "        plt.axis(\"off\")\n",
    "        plt.show()\n",
    "\n",
    "        # Compute gradient and current objective function value.\n",
    "        beta_i = i // iter_steps + beta_min\n",
    "        (value, gradient), data = obj_grad(params, beta=beta_i, step_num=(i + 1))\n",
    "        sim_data_i, mode_power_i, dip_power_i, penalty_val_i = [data[0]] + [\n",
    "            dat._value for dat in data[1:]\n",
    "        ]\n",
    "        # Outputs.\n",
    "        print(f\"\\tbeta = {beta_i}\")\n",
    "        print(f\"\\tJ = {value:.4e}\")\n",
    "        print(f\"\\tgrad_norm = {np.linalg.norm(gradient):.4e}\")\n",
    "        print(f\"\\tpenalty = {penalty_val_i:.3f}\")\n",
    "        print(f\"\\tmode power = {mode_power_i:.3f}\")\n",
    "        print(f\"\\tdip power = {dip_power_i:.3f}\")\n",
    "        print(f\"\\tcoupling efficiency = {mode_power_i / dip_power_i:.3f}\")\n",
    "\n",
    "        # Compute and apply updates to the optimizer based on gradient (-1 sign to maximize obj_fn).\n",
    "        updates, opt_state = optimizer.update(-gradient, opt_state, params)\n",
    "        params = optax.apply_updates(params, updates)\n",
    "\n",
    "        # Cap parameters between 0 and 1.\n",
    "        params = anp.minimum(params, 1.0)\n",
    "        params = anp.maximum(params, 0.0)\n",
    "\n",
    "        # Save history.\n",
    "        history_dict[\"values\"].append(value)\n",
    "        history_dict[\"coupl_eff\"].append(mode_power_i / dip_power_i)\n",
    "        history_dict[\"penalty\"].append(penalty_val_i)\n",
    "        history_dict[\"params\"].append(params)\n",
    "        history_dict[\"beta\"].append(beta_i)\n",
    "        history_dict[\"gradients\"].append(gradient)\n",
    "        history_dict[\"opt_states\"].append(opt_state)\n",
    "        # history_dict[\"data\"].append(sim_data_i)  # Uncomment to store data, can create large files.\n",
    "        save_history(history_dict)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Ultimately, we get all the information to assess the optimization results."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "obj_vals = np.array(history_dict[\"values\"])\n",
    "ce_vals = np.array(history_dict[\"coupl_eff\"])\n",
    "pen_vals = np.array(history_dict[\"penalty\"])\n",
    "final_par_density = history_dict[\"params\"][-1]\n",
    "final_beta = history_dict[\"beta\"][-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "# just to inspect design at different iterations\n",
    "def unfold_params(params):\n",
    "    params = np.concatenate((np.fliplr(np.copy(params)), params), axis=1)\n",
    "    return params\n",
    "\n",
    "\n",
    "params1 = history_dict[\"params\"][32]\n",
    "params1_full = pre_process(params1, beta=final_beta)\n",
    "params1_full = include_constant_regions(\n",
    "    params1_full, circ_center=[qe_pos.center[0], qe_pos.center[1]], circ_radius=non_etch_r\n",
    ")\n",
    "params1_full = unfold_params(params1_full)\n",
    "\n",
    "params2 = history_dict[\"params\"][-1]\n",
    "params2_full = pre_process(params2, beta=final_beta)\n",
    "params2_full = include_constant_regions(\n",
    "    params2_full, circ_center=[qe_pos.center[0], qe_pos.center[1]], circ_radius=non_etch_r\n",
    ")\n",
    "params2_full = unfold_params(params2_full)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.imshow(\n",
    "    1 - np.flipud(params1_full.T),\n",
    "    cmap=\"gray\",\n",
    "    vmin=0,\n",
    "    vmax=1,\n",
    "    extent=[wg_length, cr_l + wg_length, -cr_w / 2, cr_w / 2],\n",
    ")\n",
    "plt.plot(dp_source.center[0], 0, \"r*\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.imshow(\n",
    "    1 - np.flipud(params2_full.T),\n",
    "    cmap=\"gray\",\n",
    "    vmin=0,\n",
    "    vmax=1,\n",
    "    extent=[wg_length, cr_l + wg_length, -cr_w / 2, cr_w / 2],\n",
    ")\n",
    "plt.plot(dp_source.center[0], 0, \"r*\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Results\n",
    "The following figure shows how coupling efficiency and the fabrication penalty have evolved along the optimization process. The coupling efficiency quickly rises above 0.8, and along the binarization process, we can observe two large drops before a more stable final optimization stage. The formation of resonant modes sensitive to the small structural changes can potentially explain this behavior. The discontinuities in the fabrication penalty curve are caused by the increments in the projection parameter beta at each 5 iterations."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 700x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(1, 1, figsize=(7, 5))\n",
    "ax.plot(ce_vals, \"ko\", label=\"C. Efficiency\")\n",
    "ax.plot(pen_vals, \"bs\", label=\"Fab. Penalty\")\n",
    "ax.plot(history_dict[\"values\"], \"ro\", label=\"J\")\n",
    "ax.set_xlabel(\"iterations\")\n",
    "ax.set_ylabel(\"objective function\")\n",
    "ax.set_title(f\"Final Coupling Efficiency: {ce_vals[-1]:.2f}\")\n",
    "ax.axvline(x=32, color=\"r\", linestyle=\"--\")\n",
    "\n",
    "ax.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Interestingly, fully binarizing the design from iteration 32 produced a device with great coupling efficiency (~97%), but minimal purcell enhancement"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, 'iteration')"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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zpYiIiKqfWpNnxsiIiIiuTG4ISIiIo/i9pobVxOzcHl5ee5eChEREVWR+LldlWqaOhfc5OfnAwDHMBAREdVC+fn5CAoKqvSaOldQbDAYcPXqVQQEBEChUMj63OJQzpSUFBYrOxnfa9fhe+06fK9dh++168j1XguCgPz8fERFRVmcoralzu3cKJVKNGrUyKmvERgYyP9YXITvtevwvXYdvteuw/fadeR4r2+2YyNiQTERERF5FAY3RERE5FEY3MhIo9Fg1qxZnELuAnyvXYfvtevwvXYdvteu4473us4VFBMREZFn484NEREReRQGN0RERORRGNwQERGRR2FwQ0RERB6FwY1MFi5ciNjYWPj4+KBXr17Yu3evu5dU682ZMwc9evRAQEAAwsPDMWLECJw5c8bimpKSEkycOBH169dHvXr18MADDyA9Pd1ta/YU7733HhQKBV544QXpNr7X8klNTcW///1v1K9fH76+vujYsSP2798v3S8IAmbOnImGDRvC19cXCQkJOHfunFvXXBvp9XrMmDEDTZs2ha+vL5o3b463337bYjYR32vHbdu2DcOGDUNUVBQUCgXWrFljcX9V3tvs7GyMGjUKgYGBCA4OxhNPPIGCgoKaL06gGluxYoXg7e0tLF26VDhx4oTw1FNPCcHBwUJ6erq7l1arDRo0SPj666+F48ePC4cPHxbuueceoXHjxkJBQYF0zYQJE4SYmBghMTFR2L9/v3DbbbcJvXv3duu6a7u9e/cKsbGxQqdOnYTJkydLt/O9lkd2drbQpEkTYezYscKePXuEixcvChs2bBDOnz8vXfPee+8JQUFBwpo1a4QjR44Iw4cPF5o2bSoUFxe7de21zezZs4X69esLv//+u5CUlCT8/PPPQr169YRPPvlEuobvtePWrVsnTJ8+XVi1apUAQFi9erXF/VV5bwcPHix07txZ2L17t7B9+3ahRYsWwqOPPlrjtTG4kUHPnj2FiRMnSt/r9XohKipKmDNnjlvX5WkyMjIEAMLff/8tCIIg5OTkCF5eXsLPP/8sXXPq1CkBgLBr1y43rrT2ys/PF1q2bCls3LhRuOOOO6Tghu+1fF555RWhb9++du83GAxCZGSk8OGHH0q35eTkCBqNRvjxxx9dtErPMHToUGH8+PEWt91///3CqFGjBIHvtaysg5uqvLcnT54UAAj79u2Trvnzzz8FhUIhpKam1mg9TEvVUGlpKQ4cOICEhATpNqVSiYSEBOzatcuta/M0ubm5AIDQ0FAAwIEDB1BWVmbx3rdp0waNGzfme++giRMnYujQoRbvKfhey2rt2rXo3r07HnroIYSHhyMuLg5LliyR7k9KSkJaWprFex0UFIRevXrxva6m3r17IzExEWfPngUAHDlyBDt27MCQIUMAvtdOVZX3dteuXQgODkb37t2laxISEqBUKrFnz54avX6dG5wpt6ysLOj1ekRERFjcHhERgdOnT7ttXZ7GYDDghRdeQJ8+fdChQwcAQFpaGry9vREcHGxxbUREBNLS0ty00tprxYoVOHjwIPbt21fhPr7X8rl48SK++OILTJ06Fa+99hr27duH559/Ht7e3hgzZoz0ftr6fwrf6+p59dVXkZeXhzZt2kClUkGv12P27NkYNWoUYPr3GnyvnaIq721aWhrCw8Mt7ler1QgNDa3x+8/ghmqFiRMn4vjx49ixY4e7l+KRUlJSMHnyZGzcuBE+Pj7uXo5HMxgM6N69O959910AQFxcHI4fP45FixZhzJgx7l6eR/npp5/www8/YPny5Wjfvj0OHz6MF154AVFRUXyvPRzTUjXUoEEDqFSqCqdG0tPTERkZ6bZ1eZJJkybh999/x5YtW9CoUSPp9sjISJSWliInJ8fier731XfgwAFkZGSga9euUKvVUKvV+Pvvv/Hpp59CrVYjIiKC77VMGjZsiHbt2lnc1rZtWyQnJwOmf69hem/N8b2uvpdeegmvvvoqHnnkEXTs2BGPP/44pkyZgjlz5gB8r52qKu9tZGQkMjIyLO7X6XTIzs6u8fvP4KaGvL290a1bNyQmJkq3GQwGJCYmIj4+3q1rq+0EQcCkSZOwevVqbN68GU2bNrW4v1u3bvDy8rJ478+cOYPk5GS+99U0cOBAHDt2DIcPH5a+unfvjlGjRkl/5nstjz59+lRoaXD27Fk0adIEANC0aVNERkZavNd5eXnYs2cP3+tqKioqglJp+TGnUqlgMBgAvtdOVZX3Nj4+Hjk5OThw4IB0zebNm2EwGNCrV6+aLaBG5cgkCKaj4BqNRli2bJlw8uRJ4emnnxaCg4OFtLQ0dy+tVnvmmWeEoKAgYevWrcK1a9ekr6KiIumaCRMmCI0bNxY2b94s7N+/X4iPjxfi4+Pdum5PYX5aSuB7LZu9e/cKarVamD17tnDu3Dnhhx9+EPz8/ITvv/9euua9994TgoODhV9//VU4evSo8K9//YvHkx0wZswYITo6WjoKvmrVKqFBgwbCyy+/LF3D99px+fn5wqFDh4RDhw4JAIR58+YJhw4dEi5fviwIVXxvBw8eLMTFxQl79uwRduzYIbRs2ZJHwW8ln332mdC4cWPB29tb6Nmzp7B79253L6nWA2Dz6+uvv5auKS4uFp599lkhJCRE8PPzE+677z7h2rVrbl23p7AObvhey+e3334TOnToIGg0GqFNmzbC4sWLLe43GAzCjBkzhIiICEGj0QgDBw4Uzpw547b11lZ5eXnC5MmThcaNGws+Pj5Cs2bNhOnTpwtarVa6hu+147Zs2WLz/9FjxowRhCq+t9evXxceffRRoV69ekJgYKAwbtw4IT8/v8ZrUwjmrRqJiIiIajnW3BAREZFHYXBDREREHoXBDREREXkUBjdERETkURjcEBERkUdhcENEREQehcENEREReRQGN0RERORRGNwQkVP1798fL7zwgruXYUGhUGDNmjXuXgYROQk7FBORU2VnZ8PLywsBAQGIjY3FCy+84LJg54033sCaNWtw+PBhi9vT0tIQEhICjUbjknUQkWup3b0AIvJsoaGhsj9naWkpvL29HX58ZGSkrOsholsL01JE5FRiWqp///64fPkypkyZAoVCAYVCIV2zY8cO9OvXD76+voiJicHzzz+PwsJC6f7Y2Fi8/fbbGD16NAIDA/H0008DAF555RW0atUKfn5+aNasGWbMmIGysjIAwLJly/Dmm2/iyJEj0ustW7YMsJGWOnbsGO688074+vqifv36ePrpp1FQUCDdP3bsWIwYMQIfffQRGjZsiPr162PixInSaxHRrYXBDRG5xKpVq9CoUSO89dZbuHbtGq5duwYAuHDhAgYPHowHHngAR48excqVK7Fjxw5MmjTJ4vEfffQROnfujEOHDmHGjBkAgICAACxbtgwnT57EJ598giVLluDjjz8GAIwcORL//e9/0b59e+n1Ro4cWWFdhYWFGDRoEEJCQrBv3z78/PPP2LRpU4XX37JlCy5cuIAtW7bgm2++wbJly6RgiYhuLUxLEZFLhIaGQqVSISAgwCItNGfOHIwaNUqqw2nZsiU+/fRT3HHHHfjiiy/g4+MDALjzzjvx3//+1+I5X3/9denPsbGxePHFF7FixQq8/PLL8PX1Rb169aBWqytNQy1fvhwlJSX49ttv4e/vDwBYsGABhg0bhvfffx8REREAgJCQECxYsAAqlQpt2rTB0KFDkZiYiKeeekrmd4qIaorBDRG51ZEjR3D06FH88MMP0m2CIMBgMCApKQlt27YFAHTv3r3CY1euXIlPP/0UFy5cQEFBAXQ6HQIDA6v1+qdOnULnzp2lwAYA+vTpA4PBgDNnzkjBTfv27aFSqaRrGjZsiGPHjjn0MxORczG4ISK3KigowH/+8x88//zzFe5r3Lix9Gfz4AMAdu3ahVGjRuHNN9/EoEGDEBQUhBUrVmDu3LlOWaeXl5fF9wqFAgaDwSmvRUQ1w+CGiFzG29sber3e4rauXbvi5MmTaNGiRbWea+fOnWjSpAmmT58u3Xb58uWbvp61tm3bYtmyZSgsLJQCqH/++QdKpRKtW7eu1pqI6NbAgmIicpnY2Fhs27YNqampyMrKAkwnnnbu3IlJkybh8OHDOHfuHH799dcKBb3WWrZsieTkZKxYsQIXLlzAp59+itWrV1d4vaSkJBw+fBhZWVnQarUVnmfUqFHw8fHBmDFjcPz4cWzZsgXPPfccHn/8cSklRUS1C4MbInKZt956C5cuXULz5s0RFhYGAOjUqRP+/vtvnD17Fv369UNcXBxmzpyJqKioSp9r+PDhmDJlCiZNmoQuXbpg586d0ikq0QMPPIDBgwdjwIABCAsLw48//ljhefz8/LBhwwZkZ2ejR48eePDBBzFw4EAsWLBA5p+eiFyFHYqJiIjIo3DnhoiIiDwKgxsiIiLyKAxuiIiIyKMwuCEiIiKPwuCGiIiIPAqDGyIiIvIoDG6IiIjIozC4ISIiIo/C4IaIiIg8CoMbIiIi8igMboiIiMij/D/RZSWywUOHtgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot([np.linalg.norm(grad) for grad in history_dict[\"gradients\"]])\n",
    "plt.ylabel(\"norm(grad)\")\n",
    "plt.xlabel(\"iteration\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Makes a nice animation of the design parameters and gradient evolution during the optimization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAf4AAAGbCAYAAAAlVvLMAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAfNJJREFUeJztvX/0ZlV137/v8/PzGWBmgAEGI78RCWDEQjXQr4uYEJMGl42NtWKbYiuiiWnNCqGVah1YSWMN1LpqDIkrDdomxkaXia4Eq2slaRIVMcRJJaLBH4AB+SE/hplh5vN5nufe8/3jnr3vPvvs536ewRmegft+rfVZ9/ncn/uce+49d++z9z5FCCEQAAAAADpBb9kCAAAAAODpAx0/AAAA0CHQ8QMAAAAdAh0/AAAA0CHQ8QMAAAAdAh0/AAAA0CHQ8QMAAAAdAh0/AAAA0CHQ8QMAAAAdAh0/AEvkgx/8IBVFQffcc8+yRVmY6667joqiWLYYAICnCDp+AA4zfv3Xf50++MEPLlWGffv20XXXXUf/9//+36XK4fHJT36S/sE/+Ae0srJCJ598Mu3YsYNms9myxQLgGUOBXP0ALI+yLGk6ndJ4PBYt+rzzzqNt27YttdN95JFH6LjjjqMdO3bQddddl2ybzWY0m81oZWXlaZfrU5/6FF122WX0Qz/0Q3T55ZfTHXfcQe9///vpqquuoptuuulplweAZyKDZQsAQJfp9/vU7/cP+XVmsxlVVUWj0eh7PtdgMKDBYDmvjl/8xV+kH/iBH6DPfOYzIsPmzZvpV37lV+itb30rnX322UuRC4BnEjD1A7BE7Bj/qaeeSl/5ylfoz//8z6koCiqKgn7oh35I9t+1axf9/M//PJ100kk0Ho/pzDPPpHe/+91UVZXsc88991BRFHTjjTfSe9/7XjrjjDNoPB7TnXfeSZPJhN75znfSBRdcQFu2bKEjjjiCXvrSl9Kf/dmfJccfd9xxRER0/fXXixys+Xtj/LPZjH7pl35JrnXqqafSf/yP/5HW19eT/U499VR6xSteQZ/97GfpxS9+Ma2srNDpp59O//N//s8N6+rOO++kO++8k6666qrkw+Nnf/ZnKYRAH/vYx57CHQCge0DjB+Aw4r3vfS/923/7b+nII4+kt7/97UREdMIJJxDFcfdLLrmE7r//fnrTm95EJ598Mn3+85+na6+9lh544AF673vfm5zr5ptvprW1NbrqqqtoPB7TMcccQ7t376bf+q3fossvv5ze+MY30p49e+h//I//QT/2Yz9GX/ziF+n888+n4447jm666Sb6mZ/5GXrVq15F//Sf/lMiIvqBH/iBuXJfeeWV9KEPfYhe/epX09VXX0233XYbvetd76KvfvWr9Ad/8AfJvt/4xjfo1a9+Nb3hDW+gK664gn77t3+bXv/619MFF1xA55577txr7Ny5k4iILrzwwmT9c57zHHruc58r2wEAGxAAAEvj5ptvDkQU7r77bll37rnnhksuuSTb95d+6ZfCEUccEe66665k/dve9rbQ7/fDt7/97RBCCHfffXcgorB58+bw8MMPJ/vOZrOwvr6erHv88cfDCSecEP7Nv/k3su673/1uIKKwY8eOTI4dO3YE/er4m7/5m0BE4corr0z2+8Vf/MVAROFP//RPZd0pp5wSiCj8xV/8hax7+OGHw3g8DldffXVrXd1www2BiKScmn/4D/9h+MEf/MHW4wEANTD1A/AM4aMf/Si99KUvpaOPPpoeeeQR+bv00kupLEv6i7/4i2T/n/qpnxKTPdPv92Wcv6oqeuyxx2g2m9GFF15IX/rSl56SXLfccgsREf3CL/xCsv7qq68mIqI//uM/Ttafc8459NKXvlT+P+644+j5z38+fetb32q9zv79+4mIaDweZ9tWVlZkOwCgHZj6AXiG8PWvf52+/OUvZ5058/DDDyf/n3baae5+H/rQh+i//tf/Sl/72tdoOp1uuP9G3HvvvdTr9ejMM89M1m/fvp22bt1K9957b7L+5JNPzs5x9NFH0+OPP956ndXVVSKizG+AiGhtbU22AwDaQccPwDOEqqroR3/0R+nf//t/724/66yzkv+9jvB3fud36PWvfz395E/+JF1zzTV0/PHHU7/fp3e96130zW9+83uSb9GkPvOiGDaKLD7xxBOJiOiBBx6gk046Kdn2wAMP0Itf/OKFZQWgy6DjB+AwY14HesYZZ9DevXvp0ksvfcrn/tjHPkann346ffzjH0+us2PHjoVk8DjllFOoqir6+te/Tt///d8v6x966CHatWsXnXLKKU9ZXs35559PRES333570sl/5zvfofvuu4+uuuqqg3IdAJ7tYIwfgMOMI444gnbt2pWtf81rXkO33norffrTn8627dq1a6Hsdaxta+36tttuo1tvvTXZb9OmTXLejfiJn/gJohiRoHnPe95DRESXXXbZhudYhHPPPZfOPvts+sAHPkBlWcr6m266iYqioFe/+tUH5ToAPNuBxg/AYcYFF1xAN910E/3yL/8ynXnmmXT88cfTD//wD9M111xDn/zkJ+kVr3iFhL89+eSTdMcdd9DHPvYxuueee2jbtm2t537FK15BH//4x+lVr3oVXXbZZXT33XfTb/zGb9A555xDe/fulf1WV1fpnHPOof/9v/83nXXWWXTMMcfQeeedR+edd152zhe+8IV0xRVX0Ac+8AHatWsXXXLJJfTFL36RPvShD9FP/uRP0ste9rKDVjc33HADvfKVr6SXv/zl9NrXvpb+9m//ln7t136NrrzyysTaAABoYdlhBQB0GS+c78EHHwyXXXZZOOqoowIRJaF9e/bsCddee20488wzw2g0Ctu2bQsXX3xxuPHGG8NkMglBhfPdcMMN2fWqqgq/8iu/Ek455ZQwHo/Di170ovBHf/RH4YorrginnHJKsu/nP//5cMEFF4TRaJSE9tlwvhBCmE6n4frrrw+nnXZaGA6H4aSTTgrXXnttWFtbS/Y75ZRTwmWXXZbJdckll7ghjB5/8Ad/EM4///wwHo/Dc5/73PCOd7xDyg4A2Bjk6gcAAAA6BMb4AQAAgA6Bjh8AAADoEOj4AQAAgA6Bjh8AAADoEOj4AQAAgA6Bjh8AAADoEEtL4HP99dcv69IAAADAsxKbftsDGj8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIdDxAwAAAB0CHT8AAADQIYoQQli2EAAAAAB4eoDGDwAAAHQIdPwAAABAh0DHDwAAAHQIdPwAAABAh0DHDwAAAHQIdPwAAABAh0DHDwAAAHQIdPwAAABAh0DHDwAAAHQIdPwAAABAh0DHDwAAAHQIdPwAAABAh0DHDwAAAHQIdPwAAABAh0DHDwAAAHQIdPwAAABAh0DHDwAAAHQIdPwAAABAh0DHDwAAAHQIdPwAAABAh0DHDwAAAHQIdPwAAABAh0DHDwAAAHSIQ9bxP/bYY/Qv/sW/oM2bN9PWrVvpDW94A+3du7f1mLW1NXrLW95Cxx57LB155JH0Uz/1U/TQQw8l+3z729+myy67jDZt2kTHH388XXPNNTSbzdzzfe5zn6PBYEDnn3/+QS2bx7LK+9nPfpb+0T/6R3TsscfS6uoqnX322fTf/tt/O2TlZJZV3o9//OP0oz/6o3TcccfR5s2b6aKLLqJPf/rTh6yczLLK+8ADD9DrXvc6Ouuss6jX69HP//zPH7Iyvv/976dTTz2VVlZW6CUveQl98YtfbN3/ox/9KJ199tm0srJCL3jBC+iWW25JtocQ6J3vfCedeOKJtLq6Spdeeil9/etfT/Z5KvV6sFhGef/zf/7PdPHFF9OmTZto69ath6Rc83i6y3vPPffQG97wBjrttNNodXWVzjjjDNqxYwdNJpNDVkbNMu7vK1/5Sjr55JNpZWWFTjzxRPrpn/5p+s53vnNIyvc9EQ4RP/7jPx5e+MIXhi984QvhL//yL8OZZ54ZLr/88tZj3vzmN4eTTjop/Mmf/Em4/fbbww/+4A+Giy++WLbPZrNw3nnnhUsvvTTs3Lkz3HLLLWHbtm3h2muvzc71+OOPh9NPPz28/OUvDy984QsPSRk1yyrvl770pfDhD384/O3f/m24++67w//6X/8rbNq0Kfzmb/7ms7K8b33rW8O73/3u8MUvfjHcdddd4dprrw3D4TB86UtfelaW9+677w7/7t/9u/ChD30onH/++eGtb33rISnfRz7ykTAajcJv//Zvh6985SvhjW98Y9i6dWt46KGH3P0/97nPhX6/H371V3813HnnneEd73hHGA6H4Y477pB9/st/+S9hy5Yt4Q//8A/D//t//y+88pWvDKeddlrYv3+/7PNU6vWZXN53vvOd4T3veU/4hV/4hbBly5ZDXk5mGeX91Kc+FV7/+teHT3/60+Gb3/xm+MQnPhGOP/74cPXVVz8ryxtCCO95z3vCrbfeGu65557wuc99Llx00UXhoosuOuTlPVAOScd/5513BiIKf/VXfyXrPvWpT4WiKML999/vHrNr164wHA7DRz/6UVn31a9+NRBRuPXWW0MIIdxyyy2h1+uFBx98UPa56aabwubNm8P6+npyvn/+z/95eMc73hF27NhxyDv+w6G8mle96lXhX/7Lf3mQSpdzuJX3nHPOCddff/1BKl3O4VLeSy655JB1/C9+8YvDW97yFvm/LMvwnOc8J7zrXe9y93/Na14TLrvssmTdS17ykvCmN70phBBCVVVh+/bt4YYbbpDtu3btCuPxOPze7/1eCE+xXg8Wyyiv5uabb35aO/5ll5f51V/91XDaaacdhBK1c7iU9xOf+EQoiiJMJpODUKqDxyEx9d966620detWuvDCC2XdpZdeSr1ej2677Tb3mL/+67+m6XRKl156qaw7++yz6eSTT6Zbb71VzvuCF7yATjjhBNnnx37sx2j37t30la98RdbdfPPN9K1vfYt27NhxKIqXsezyanbu3Emf//zn6ZJLLjmIJUw5nMpbVRXt2bOHjjnmmINYwpTDqbyHgslkQn/913+dyNrr9ejSSy8VWS233nprsj9F2Xn/u+++mx588MFkny1bttBLXvKSpPwHWq8Hg2WVd1kcTuV94oknDumzSodReR977DH63d/9Xbr44otpOBwepNIdHA5Jx//ggw/S8ccfn6wbDAZ0zDHH0IMPPjj3mNFolI17nXDCCXLMgw8+mLwkeTtvIyL6+te/Tm9729vod37nd2gwGBzUcs1jmeVlnvvc59J4PKYLL7yQ3vKWt9CVV155UMo2T/Zll5e58cYbae/evfSa17zmeypTG4dTeQ8FjzzyCJVl6crSVr62/Xm50T4HWq8Hg2WVd1kcLuX9xje+Qe973/voTW960/dUno1Ydnn/w3/4D3TEEUfQscceS9/+9rfpE5/4xEEp18HkgDr+t73tbVQURevf1772tUMn7QaUZUmve93r6Prrr6ezzjrrez7f4V5ezV/+5V/S7bffTr/xG79B733ve+n3fu/3Dvgcz6TyEhF9+MMfpuuvv55+//d/P+tAFuGZVl4Anqncf//99OM//uP0z/7ZP6M3vvGNyxbnkHLNNdfQzp076TOf+Qz1+336V//qX1EIYdliJRyQSnz11VfT61//+tZ9Tj/9dNq+fTs9/PDDyfrZbEaPPfYYbd++3T1u+/btNJlMaNeuXYmW9NBDD8kx27dvzzwz2Ut6+/bttGfPHrr99ttp586d9HM/93NE0RQcQqDBYECf+cxn6Id/+IefNeXVnHbaaURE9IIXvIAeeughuu666+jyyy9fuKzPtPJ+5CMfoSuvvJI++tGPZia6RXkmlfdQsm3bNur3+1nEgZbVsn379tb9efnQQw/RiSeemOzDUTZPpV4PBssq77JYdnm/853v0Mte9jK6+OKL6QMf+MBBK9c8ll3ebdu20bZt2+iss86i7//+76eTTjqJvvCFL9BFF1100Mr4PXMoHAfYaef222+XdZ/+9KcXcob62Mc+Juu+9rWvuc5Q2jPzN3/zN8PmzZvD2tpaKMsy3HHHHcnfz/zMz4TnP//54Y477gh79+49FMVdWnnncf3114dTTjnlIJUuZ9nl/fCHPxxWVlbCH/7hHx6iEqYsu7zMoXbu+7mf+zn5vyzL8H3f932tzlCveMUrknUXXXRR5gx14403yvYnnnjCde47kHo9WCyjvJplOPcto7z33XdfeN7znhde+9rXhtlsdghK5rPs+8vce++9gYjCn/3Znx2EUh08Dmk434te9KJw2223hc9+9rPhec97XhKmc99994XnP//54bbbbpN1b37zm8PJJ58c/vRP/zTcfvvtWSgEhz+9/OUvD3/zN38T/s//+T/huOOOc8P5mKfDqz8ssby/9mu/Fj75yU+Gu+66K9x1113ht37rt8JRRx0V3v72tz8ry/u7v/u7YTAYhPe///3hgQcekL9du3Y9K8sbQgg7d+4MO3fuDBdccEF43eteF3bu3Bm+8pWvHNTyfeQjHwnj8Th88IMfDHfeeWe46qqrwtatWyXi4Kd/+qfD2972Ntn/c5/7XBgMBuHGG28MX/3qV8OOHTvc8KetW7eGT3ziE+HLX/5y+Cf/5J+44Xxt9XqoWFZ577333rBz585w/fXXhyOPPFLu7Z49e5515b3vvvvCmWeeGX7kR34k3HfffcnzeqhZRnm/8IUvhPe9731h586d4Z577gl/8id/Ei6++OJwxhlntCpqy+CQdfyPPvpouPzyy8ORRx4ZNm/eHP71v/7XSeO+++67sy+h/fv3h5/92Z8NRx99dNi0aVN41atelTWSe+65J/zjf/yPw+rqati2bVu4+uqrw3Q6nSvH09XxL6u8//2///dw7rnnhk2bNoXNmzeHF73oReHXf/3XQ1mWz8ryXnLJJYGIsr8rrrjiWVneUA8OZn+HwqLzvve9L5x88slhNBqFF7/4xeELX/iCbLvkkkuyOv793//9cNZZZ4XRaBTOPffc8Md//MfJ9qqqwn/6T/8pnHDCCWE8Hocf+ZEfCX/3d3+X7LNRvR5KllHeK664wr2fT4dG+HSX9+abb3bLegjTxyQ83eX98pe/HF72speFY445JozH43DqqaeGN7/5zeG+++57Gkp7YBThcPM6AAAAAMAhA7n6AQAAgA6Bjh8AAADoEOj4AQAAgA6Bjh8AAADoEOj4AQAAgA6Bjh8AAADoEIdVx7++vk7XXXcdra+vL1uUQ06Xykoo77MelPfZDcr77OKwiuPfvXs3bdmyhZ544gnavHnzssU5pHSprITyLlucQw7K++wG5X12cVhp/AAAAAA4tKDjBwAAADrEAU3LezBZW1ujyWSSrNu9e3eyfDbTpbISyvusB+V9doPyPnMYjUa0srLSus9SxvjX1tZoy+rRNKG1p/vSAAAAwLOW7du30913393a+S9F459MJjShNfr/6CdoUIyJiKjoFRR/NP8XcZ1sK+K2XvI/6f95n3gee2xyjKwjs80e08vXkT1f83+Qdea8ZhmKwtmHmm1GNm8dEVEw5wh6uz1fzz9/KNTxlBaRyxZU0YOVwVRLSOQ223rz9xWybfn/+TanTEl9tZ8v+b9tH1s/C5w3refFy8h467L1bddM1od2+Zz1VATKNITsmNAiS5h/TPZoBXOslFbtm0pTmGOKojlPIUv//EUR1COV7ts83vZcYe62XqwpfU7ZZve1xxShWTdn2TyWLfuSXV+p4+0+FRER9dWxvI5fa32Rr0rO2xzTnL9Pdp8quW6/qJprSlmq5Dpyfee8fdkWzP+VvE4bGSpzbCOvPs47X1/Vk11XWJlUffPvZh2l9c0ySt0Wal0R9/GX/aKgXty7Wdf8v3tPRadccA9NJpPDr+NvLj6kQTEkIqJCd7L8f2E6eNupm2OoKKSWD6zjn9+Jy/nnneegd/xqmznH09bx2xfu09jxL9wxH+qOv2jZhw78vE+54593PjoAeQ9Wx2+ufVh0/HP/n9/xe8fqTto75il1/Gr7wez4daf+VDp+bxvN7fhtJ/bUO/6e2/EbGbL/D6zj78u+scOMN4H/b+QtpJOVfeV8RSoLVaqTTuuOP1wW6fj7T6Hjb2QrZPv8jn9xlz049wEAAAAdAh0/AAAA0CHQ8QMAAAAdAh0/AAAA0CGW6tw3o6l4ehXi7aP/9z2Oisw7TP1fxX0Ks491sKMWr/7smF6+zv4fmv/FyYy9wNqc+7J9qNlGRNGfBV79zv/w6odXv4hyiL36Q4tzn93GNcXnrODVn1wXXv1RxgWc+3yvfjLrmvPv3sMdRjtL6fhHoxFt376dPvvgLc1btFyGJAAAAMCzh+3bt9NoNGrdZ2mT9HiZ+wAAAADw1DlsM/cBAAAAYDnAuQ8AAADoEOj4AQAAgA6xNK/+Uz5wQ/2jp0Yairm7556+7j7qd9sABm9j1+JwYNuKaoHjHNGfKs4p/ZO21c2hwJWrXgTvfrWVw/NaP5CK05UU7HL+tsKrXH3ZzItebZTohJD+761TxxX2nPp63LYqtVOZtreizLcV7MyrHydTfW7EgrgTNzuH3nzZ3ftkWfC5yJ5Rr0m7jf/pIdgK3EiUReqkrYzePos8Ai3PYRIZ0nOeyUaIBS7EJ2q5l0n7c96TbSzy7mjrB7x1be8CRjnCi8zO89Sc0zlHW1uxkTMb9Xlt96KtjcV3xr1XXdOyU83ywvnii6YY5+78NlSnXsnb+P8FW5Nzk0K8qUFucqG28bqQbePfEq6jX8DBvIBJfyjMl4WL0da5F/ll8hC75ILOuRbhqX6gLPjikY881cnwusIs9bG2o0xE5vrz7hOv003M3ItQNdeThz6p75YPEy7HIIYrqXL14u9er8rKZdt3pWSvqrq3DaptVdMY9DR1Pgr4nLFcaZtMl0k7Mh1+0o6sHVDfr/78++Ri74++EN8L72OHD5cbrC7X9jHA+7Xt0vbRfDA+st3nyH7tOb/djn+Bh9npDN1OXt4dIV3SBuXP5FTHWSVIyXug9y6T2fvIdmRfpE8IXhur8kKzzN5HS2HbZ6Ig2PdxXrfuB413L8wHt/v+8+75et/Z0QemfgAAAKBDoOMHAAAAOsRSM/eRNRkuMC5fOeaZtv3b94nmGW/ftjHnXm4GamyajqnVHJ5s86zzcu3cnM/1FZzj5k2buiEt41iu9cyuc0yMbBYL/eDvaOEqTSxkYa54Ut3ecE1p1unhF2Oa3HAM2baDxDzaYlqU9sqZKFv21b+53pKbzkMkvL8elKz3q3g6amdYozBtLSker5s117P3LgSlH5Qh2VbLFe85Lx0TrQyD6Medr1PGnbTsbX4NVUvb5HO7z20qU71tzj6LXkDvkpm91alatrWa8xcYO24167uyG3kXZdHxbitD8kp8iuOJVmbdjuT8+VBddryHfqZN2y+UnV3quWXotk32QvobZ6jEO4CHc5XwhbnX+lk7kJqFxg8AAAB0iOVp/J4zlzhcxX9D/pUfvK9Vx7EkY1HPZNmvSORM9o+aSejrwxztnJeO5tmmhbXKKReImpf36eZ9aTvaS6btesosf2A6TovN/ATa0aZI5dL3aeBo8MbnKykqa4tcVsea4jrttGj8mebltAHX61Y0QkebTW9JIpeqmUx2F88BlEVmrVnfc65T0Z71MxOPZ89/rdWXZptjmOG5D7R2H4YhWSYX4md60GwT50annquo6Vfx/NVUFUwsJb1Ezroccem9A6wWTEShX6TrtCxcNtdpMbXiJUYbtk44MnA9F9698J578wzo+2vXJZYW2zY1TpvMTuo903LK+e/S0PYu3eg9eyBWFM9CuojFd2H5nPbQM/dcOf/aekveidYK4EYSxTamHSB7puF65fA2sePfohYqAzR+AAAAoEMsT+NnhVp9pcgHlJ2ZTmt2pVnSnDE10cD5q8lRxUWDavmKbtG29ZikaKdeTKiM8ahtZb6/JThjknIKmT7MG+xq+fJzxtvaYtndMDFe55xUvl8dDSU412nKE9IiaIXLDck0Wv1My2c0rkSzMedy4/Kd7Y623Yy3pVoCKauVr13l45TNSVkWLVeqjRa9Kt/fWkDU2HngMMAiVyVZe+55IY+iPatzxnoulSYkv6Kmr5/pQQx1HAzysF32f5jGcMWZHvqccQOiRE4iot6U7686mdX4B43MFVuMvLcdh10O65MVfeemxLqqSn1/c83OWlZYziiEFs87vR9amVl7lHy8rkX5XTgfhGixi7RNtY79TjxZHJkTiwqZZ4ZNKtZiR84z7VkD5CKORu35d3gyW5NMYnVO5Uutu9wvxf/d97rzLmCrsX6Nm93T+2tk9qwbCwCNHwAAAOgQ6PgBAACADrFEU3/uTMMWzDLzdlHmkdKYfEibV1wviHhy7exj7IKOuTwz45Ky/ngmmzYzi5jW1O4tqVZFrLit8syPnhmIraMt/iKteA4proNcukyGWMQ8bI5XO4Zk2CWk+zkiyDkTfzIz5KOukzmzOU6VNgMizXP+MibCou+Y2a3AC8rnmVNFBp2EaxiPiw9IL8kQyM5zsW7VPSyjqb8s+tm2gs3l/L8aKumxWZ3rSvvcjUK2rhymZdDP9DCa+MfD+qR6GGBapnpHpf6v5EbFc6rnvTfNZS6MrJWq3ELusWN6jkMR/QHXbW6jrcSxuLkpbtZWY+LXwxMytOfUqdxrx5kyG/pRjpMyLOE4dQXXZM/vnHy4tNXZk88pbVM9MybUNKlbCfNs6lRGm5zhMR5KCd7wmLz/UznzMtrhhrjLwHm2RSYtc3r/XQdz2ZjY+lP0LbRNKnklttxzb2hlkeHcBYDGDwAAAHSIpWn8ooirr63S+OEl3zRW8/Q0FK1VmQ9KHXonmgx/BWqt1DqfJEJbS4Gzj6M1eyE8bVqzHB4/y3rqQlXm3KEdjkwF6jA74q9Vta7N+dA692lF11hY2rQDXe9VlCtN8FIkZXXD67yPXOPcl4Z7pRqXbwniU3peNXq/VGvRzl/STjn8VAtvtKpi6sjnOABJ6JkKlwtxR3ZYK5Qn3jA6pfWjNUAXYTarK38S/y+1cxprbWzhUtYo0ai5XNqhUTQUVdRYHtYy9f0d9OsTj+JyoBwTB73ofBjPOenp+Fg+eV5XjWat5Upl1Q6JWYYubWWM95M1/r6j8c+io6FjvEqtSWW61M59hfFt1H6W4nzoqGHWOS1pfyxrixIYvLYvDrvNqp5tk541s8ovFGx6eK0E9+dbqOT4ROb6ZFV8j+nnqZB2aqx53jtU1611+kzq2HM+jEu2oOmyikWCzUpqm9yK/J3YGkLsmWelDXMh1O7s4Ct9yoGadZNLAAAAAKALoOMHAAAAOsTynfucrG+M58zFpp6edpzxTKdsqhaHN2UuN04TIXEiYQc0lkmf05hVnFjSNhOPNjlbk1prQiv1W+rIyEmJuTs3lUksuGdL9xyBspz2ebmsw5J7Tj20wMM7qlIr4zznVoM3d7Fx8kxMf9MF5LMONI5FWMvlTRssh/JwhZcnn83SE+2clpvXRYb4RFaqTZZslhdTerONTfye89yEzf8chz5U3/lsVud2npjS4y78jDkm7p6Kky/GbOrPy9OP9TVkk78apiii0+GgXy97zjCbDDklZmkjn5KL32hupknHWYozC7KJv6+GIhrnUs8Gz3LlQzg8BNFznPvcFA5tzmlt09EaRznXrO+8o9zhMTNM4T6IbNb3MibaIUglnzbv940zalU1ddsMVToXN8MTvcRROt1VP8c8TMqXCQOnjSV9ED/nlS0OVfFmFM67V443dZzILgJqYfNhWR5SkKFEXR92yvGNhirnAI0fAAAA6BBLn53PQ77YvE+qRb5Wk/3jUpVUvr7ZAUiHUphPck+LkXMmGnyRblPnKFq0+tb0yt4HsJHLy4EuYTvq01fK6u1v5NTXbL5gD2ybfFLq++TMgNbci0T09B/5uM2/osk48pHSBhrnPqfIUXupCn0P4zbv01msFbkHZKg8jTC1RGhHr/46O/w5h3E71Q49/ehcNmQNvtnGGqrnPMfbSs6QN2gegpKzxMlFmnP2xDktLbsqVupYZ0IWvUyLLJfWqEdxuV+sf3l92PkGSD9Pbc97YiZLl4WTSY41f31/S1OO5F3QNv+B0yatX7CrcokDmtP+2OLkeeB6tOSMdx12K7tsjpNTSMhoLkKwK9RvbcnpZeXQoX5yg5zypHIlodEz03C8TKwtTtSaoqUtFvaHN8GFs0m2OO8hsUgnfQm/V/g4bemM+zem7GbbAcy2CI0fAAAA6BDL0/hDrh00mn5cOgkcvHAT7yu1Ce8xX0/6q5HHlPTXrYwz8c7OeJaXA94m5NFffXapcIZ42iM0Mn8BZ8xKyqLH+K1QekfnwgtYItosEp6WzWP7lda4OMTP0fhF83biO2Vs30no0YxRO/fJypnMxU1z9y+cr3yJmnROL/vIWH+zrrfO8qX7EBFV/ETq54KtEytR89fjonE/1lR5LJ2U9jKKSXT2q21ljwfDs2IpLTtvBL1ernGxhaC0M2g6JBq12eb69Cygnepy+D4icZvjpyEaqHMY1y2HQQadcMjR+OV+tuVr9y5klXO9zyJaPf+bvMfytm+ThvnPrfOskVnl+Q3MN5L5Y+iybHl6vLHwlvd/8z5qzsmWrabMTn/j4CXEyuXT/Y2pN69uQ3aYOl7t3tZvyNwkcVPP2bYA0PgBAACADoGOHwAAAOgQS3fu0+YWdpIKjmOKZG7yprdsMTmLk5V2dGszpfA12Q6pL2RD3DzHHm+qyzazueODY82Bi4aNcBll+EDPwiqmdGXqmnO95Pye7J5J0uKY/MUhUTvm9Mw6z/THsnumfjezYOpc5Tr3yVCQugxnzUtMpun+yTQDNiTVDUOKpnidaz6Wtb/uyD6jjIpz9ceQwGraCD0zjoU9VUkcOsfZ83iKXCKiKTv3sY/Qgm3ANWMbU2twhiIqsyQimsWLyzYvBMrJ3Nc2dNPMwaA2mTkYsqlh9SieM9dBVca5DlS9F/F3W1ixm9FSZNLyscxmmNH+tkOjJvQuGdrzpi+3U1l770uHA0oOl5jS8/va66Unc83t3rCBHYFtM6Xr9ipts8g3usPNhVk6YrXUn5uJdQOHwrmEvO0H29Db5ixoARo/AAAA0CGWpvHz16n+Glzki8r7vz1BywKfQY5jk6d5NrNaxf8Txx7HuU++yPNzeXm5M9nbZHWtHEUqepFtSkKFJCJkkc8/51ye5p9Vt/f17YSuiKVEJ7Jwp+VLz+tphDbcy3WyisfrZEKc3EPfV06mQZ42YdvYIvdNyyVOiPk90e2vGkYns/U4257W+GM+/mnUssdKCNb++05YVZ4YRt/EVPSNnDetc63WoGY8QyCHFBZNcvdp1KSnM87RrpOstzhzec2hZ5ch29aExOXHV2JtbNbNprVc5SSeQIVkckImHdboOWvOla+fy+fJ3giY122zLS4d7d4Ne255X8q1g/NQe+3bPIdBXY+tZXrWRXnMHec5sRR5oYgttFon2/Zx1omVIsqc7F6aMnoWlraqWvC9nPVdjqUzK8O8i84BGj8AAADQIZYYzlcvktAkmf0o3Sf57X3tt4w5N19UaqXdP9FKi7nb+KtOvuzdMf78XFnyjkTmdFzeLYcjnxvS5Gm2fJzUg/rCNnNoJzNtmTpK6i/eoCyERf1s07LdGc3aEln0TD2S0x4cy4KX7tWdD51PwelyVTpaGvFXftQAdLKnOIYuYX1ay5RkRd7NT8unx4m99tqfpMtE449a6SRqzbNBs00n8yEyYVV8zx2rT7ZuI6OZua+V0krYB2E9avd6jH/CGj9vm6kx9LbQM9kpl1naq2rLtp0nosdVPJ6vZzDkuqX1mFJ4vZGP70UyA599Jj3NTtqY2jbg589RF8X5wLOCplaRwtFA0/eROWdL/aWmrfRynoUvOFaHatrP9s8P9MbXnf2N6Mk688pu85Hw+pTUp4ffx3l9S/uUBE3O+78tpM55tvmep+11AQuLc3+zmRJbgMYPAAAAdAh0/AAAAECHWLqp38825Th3WBuPNoPIzG6OecozZVpTimdS8XKEszknmve8GaISU48xqSXFMeFUSfiRFSsZbphvZs/Moo7jR1IPPNzCpm3tWNdPj3Ms1VSx05jaaEdI3NTijjONOPm1DV0cgPOKvs6GWd94d3bYUjN4cehcmNbrKhUS1zPOR0mYmDHhpc5c8x10xDo/VTKwXLxUJmc2+09m9aO8Nmsa5TiG8ZViQs1ttO2mfm40jlOgLre9r+oZYBM6D0WUveYE7NQ3nebhctkMhm1DfEouNqFX2uzZYjqtzLumVMMNIZr4OYyS51ggdS8KZwY+OV7XKcs1DMn/yW/PVGvN+dq5y2avdLKTLhymx+10Yyuzu7JxztXnj45yqmAhvmvckErrNNfqhKhWmbT1yXvWefdmG3UfVKYNPAmRZNO+O09DOjTlvntlGEq9Cwb5OunPOFy4cq7Dc4Co9lcdQDwfNH4AAACgQyxP43fDPw7gi0+v82Z2sxq//sqyWpir8adf2qS/spxwvrZQGblez5PBkc8o4FkIh3JC8XJde/MZuM6KvEnqKN/fzx+eLvWXJmv/crm2uQuUrK0OnR5tFp0WS479IteKB5+jP1EOSjF5TslOfloj5LnFvXzvrPEP2FKg2rl85eeWFjvvOOn559mhTGmes6iVrq/XJ9W5+iXXvBOq1lQIa/5a4yiS+tAla61vtiwoDWUW62vSr+XTDoYcijibxIanE+SIRmM0KYWWocqeJ7Vf37nZvK3i+Q+idjppDiyiZaW/Py7XtMYfl3qWQtY45XlX8hmnPtb8SbURL4xPnn1Hw2PLY6sVS6t2Nlou2ZZeO2krkgSN/1cySO54T92O7a5SZY3lOGBHRrlgLnvF+fgdERYK6/ZCyq0s6ncvhncWOryTHzvPqdm8XxNrD1uAtMZvCqIt2QW/X+0Mmp4lsQVo/AAAAECHWHrK3nSOdfOl54WuMFrjcMJnyGj6OnxGtDHvC9uEY7QmhvHG+B0N0pWZZ1zzvvjMmFWi/U1Yq4r7aA1ATp7L7tEWriW3oM0q4lgiqih0z2oJG4wReokv7P7el3zhJKCRL+s2jb9thjcdShc1/ip+5Qc1/l/G0Ll+wWF96svcaPz6K99qf1o79cYIeZa8ngknJSIqJpzUJ2r+0+ZCNl1uqcYvWSuXKtKPYZSnZ/085mizdoY/beXhcF0ex9ewxs9adqEsLdlMd17j8fwSBmm9J/I5LgtSR6zpT5qT9tZ4bD/+v94cx+F8STiV0aj1O4ef82oU5Rtp658pnG6TrOmzn8FEFZ81fifNM7XIwG99XUeZDPpUXEZvJkybvEmHprJ2r69j33desiIv4Zk8m1G719ottzteLmj988KL7bh/Ulau76nzHFpflNzw0YRN6/pgnyHdXrlOuC+a5vq5WIO11Xk0/x5aoPEDAAAAHQIdPwAAANAhlm/q92AzRkuu5iQyqZevyzIiLWjWYkcKMfE4IYWSPc/LitUiqzbpVmySHHqmSeOloh1ZxDwVZdAWVOXocUC4zj6pzF6mu8IJ52vCNNP/aYM68mbWsvJ5ZkFxmtNDMjKUY53UtCypQ5C+UF+bCqO5l02ms6EaUhhG87+YH1WoX5ShjKa8atSctBrF5TA9ty5H4dSb5PbX2eJ4xr7o5DfhsQnK87rrnOlZyKwzjJKFdOowOW9/4+RH1DjvljGkS1e3Na/3tKk/tuWixWkqfd5T+ZJnXIaruJGp47hO2Hyrs/NFJ8q+Mflr+RKsw6kOC423hU38QYWFyvMt914NN8R7Ltkb97fUkSI4b3YJKXRNzmasTd8oc1+9EEZXBq4Hnc2v5Os5wwDmvZy8/8W2XWhRarhNOmZ2d/ZTMvt773jjVEmOiT9x7DThjJV21ual0y4ovv97Q92ZxP1kfgYlXi8tUFLvGwztaqDxAwAAAB1ieRq/p8W15DnOnHuSWdziMkmYYb5q9SdOpgE4n4je3NhuLKGVy9nd5EV35RtqDcCE1kxzVZzn4g7auUjmk+cVSpS2r2EniVBl84c7yUVMbpH6FPyVyiE2+p562oSlpf68OdazcECVK77HWpaTC19ur3acDKlWQUobl/At5fwljpnx3iWic/INDucbNbVUjaJTW9T8yyTfe5RB31dWJozmT0r750RDZdJW0hA6nZxGLEYtvlWek6QbLmfVB62hcJic+Z+IKHBYFGv8OjzKJMnynDBdp0OWS7dX8ywHxyJRxLrRoZJW09eOdcUstSqR1rIdx7pg2goNnYeT7522XoklIrc68G9pw6o+yti23DkpPM1zYN6J+j7xJnZuU+eSsEvWfh1LgbY+FOwsy/M6JILFZYs66r2rxOnQez3P71LEoqDDDQUvrNaE0CWOdcbBXIdZF2Te/3qG1Gj56SsLEDssVzKzpSqEqRs3QdoCQOMHAAAAOgQ6fgAAAKBDLM/UH80ZPWXi4OxZ3pSIGdrM5zjPiamPP220Mw2bocWJQh0n5ibHMcyYxpOkeZ4voDE/Vp4zTTT99UaNTakwn2Ne+n82AyXmpmhGczN48dLJJia5DpypTN2hElPmxJmLhwhcM5pzX0296U1yWif7ojudMR8Xq5IdibTTmJ26MsnTILeguU6/zw54cTlq9q/GcR2bO5XZlx39CnFiUvn1o4NXb2zMpPpczrwTuZz5/BFBZZ4TCzCbDrWpX/KiU471+3Pz+Kt1Ynp3nOeME2FQ7dXGqCfOUjOzVHLaeHlKhoPMEBVR7hTqTV87zWXg380wjzLRsql6kDfmJluoko9N+0MeAtIFShaJfNa5b7C/Oay/zo7IzvViWyy9oRwZDlHlGYpnYb2P5wjK+2rz9zRdJs5m3MT0Om4HPBSWtCNucM4wa4vJ3qJ3lRFOcR7WjSa/jjgUmunP63VxHyefhu2rkne4vQeqPXL/N1DOff2YEZTzbmiZywWm7F0EaPwAAABAh1iaxs8hV/x1Q9o5zaq8CpvHvv4nLnUufP7dN0t1bcm0ph102HmONdW+2mZChRInISd7YGVCCj1nGv7S1s4dvVgnwSksf8GL09RMlUv8c9hhSdURH6dDCjmbGGv+On84awCi8TufkxLyqI6TORji/86Xb5LNz2j1yaeoaJeODHw/A2v+yiFvlFpDEicrG56oFUMnJKnP1pColZbawYuz+cXrVcpBs88WLda2nexlnMWtGmrZ5ey5MA6i8XOWNKVR83MkZU1mmjQazQKaf7LOsYS1zXkhpVdWhyI6szVOU9q5z5RPt5kW65Mfdpr+n4SMVumzkoQUcghd1PS9ED4dTps5RToZ2ljT7+lwL3ZQ5XMmGrVxMFxX1qi1uH+VtyOx/nn1xtdW8rFcXFeVfqZ5H3Euze9T5mhIytHNcczkZzKZeY6fZTow5Axt4WxspdX1scjJg5YvLh3naW7D8sp2Qr0dgxj14srBoDlgEK2FvE1n3CzjnBee5e1ArCLQ+AEAAIAOscRwvlQjIj0u4o3xGLz5w90xIQ77Ul/YPRPOl06OFrVt/gp38o7LmJczq1rie2Dn4NYhPIPUx0Fr/NoKQqaOZN5w1qTGSluUT/O48MagvBnDRvPlYx8EZxLAxm9Aq1B2lrRkfJAtJWqV1ZI8q43VVMz9JDveG4xGrcfQea4Db2Y8vpwO/5Px3SiC0gjLafwiZ21bh0CJH0g+psuJf5qZ2pR8LKs3q6FzD+wMjjq3uFjObO5vasbX5bjEuSK/ji1Xep/m758lSdGuC2KtSJekrQCOFaZ1Dgrrb+DK5Fg+nNnvmrCtXBY3IYy05dTSR6Se9z6/95pC8OyJWfIYx88gCeebpO+vZI56xxImt2CQt0n7zqn0A2/k0pYPSSxk/A1SedQ7SvyQeJ1qR8ZyFNQ9LChtP65vTlu7KPm5d9pFUlTje+D5IPBhieUoPZU2WmfyOY1HrxnEe8FWQ2kfRDSJ72PpUwb5O2cRoPEDAAAAHQIdPwAAANAhDs9c/Y6pR5wzWuydyTS7xiGs0CEUPeNtkZwrmmHFd0yZqcSeE52mkoxrqeyks9/xdInKmYZzM7OJzXPuyORVZnJe6mi5ivOhc13pu2tT1mmnPs4qp5192MTfNzYsUo6CfCEtBDtoiqlfHZdb91Ru67hJO+JZx0I9LGRMk3osQuqIc+Fr5zk2rztzEBRyYLOuZzKTpeFecdiFzYh6muK+MQsmmSbZFJw6V5IKG/TCiNpMeXJ6LzTVGQYQM7sJUUqu3TLEkA6rmaG5llCjxJnLyNXzwhS9eLS+d4EW+YwM6YQBLFe61DI02QN1w8gvYDOIeiGFre+eML8eetOQLImI+tOgDzNDII58EuKcDjOSciiu7BwOlIevJc+AGQrTssv7JXkP8Umdd3bLdOkii2fqd4ZprAwVD7nlUZRzcvvHZ1O311huf+6PVL6kHzDyVXo4ju+5ag9949w3U859vfheFgdh7ZANUz8AAAAAPJan8XMih7aYCi+0y9XSnf35K9gs63/qc/QdR49e/GTlD1etxIVetAaIRq0/6xz5RYuN2vNQf2GnYRxay2fnDpn9TjuNDbne6qX+yJWP9X7qLJT8Tuo0tUToGaLYea7n1HfF4YLsQKQ0IfnNX9rqOG8Gr8y5b5hrABL6qJ372hxBWa5B/lUsM+JxHn8n6UlPh0jGAvC6JGGSOKXFe6JC1djaUyzSXr0EOd7cCI6VIlgFTWtqtk0m2ixr25QsydGqvJBMl40sA+b4THtztG0vD32mXR0oznPhapJi9nOO87BOxtqa1DMX0iKYSS+ScL6ZXeq2yZYwR7vnBGRJUi7zvKt3TmHaT0iSCLHVq14mDoZr8T22bupKO8M5Fr6wiIXPmbvFdTD0QgnJrOMqHiQvivR6pN45MjOesrbG57sSh0tPvrhNrcuSHKl3CGv/pXpu+Z3bj8uhtgbHd/QkWmlLNeunG3I9B2j8AAAAQIdYmsYvY9TejHw2+Y7+aPS+vl1Nw37Kqy9lHu7msRTnS4nH3md9lQJ1wGFYPEOekwLVKYdozzrBy8CM8fe1xl9v4y+/XpLQaBbLwF/tjewzThYzyr/am8Ir8UxoUU/JYOskSXXJZeV0to7G742feXOEZ+l49XVN2JH205BQTO86pv1oK4JNmlMl4TDpmCkpqwaPTesxzJ4JBUvnHY/7u2GNKUl0j5eYg8w6xxLmtfPmQErKQM7YvpsG2LFiFd7zJ+VwrC9yoLPOnMvTtj3fGXc83voltCk/Seyn0Uo9A03LudxTOdbJLBxWH8hJhNruhXdPjFzJTIEtGjX7xySh1DzmznLpJD2cUtlJIsSaPof1JcUysxWS8q1pQolVgdjngNt0Mmaf+r74iZYoQ2YpjO+qYuTcTC91cYStvKT6KrZ8tI716wzx7Aq1zvXYyF5O6wqZzZp+hi2qw/heHvWbBjGMGv90HH0yVtWFvD5oDtD4AQAAgA6Bjh8AAADoEEt37jN2VSIVZpLOvsXeGY7DiOe41mL1kGxqbPJ3QinYMW+kHCtm0atvNqw3ltq0K9m3nPLwUpvzeVYmnsVNydAzZuxB4oQTTWvRTKe3zWJGOG9WJ3s8KVNfz8ipYbNTlZwrjdVLHIj4FAWbw9qHG+xwiA7T4xEO10FuEZyZ2myIUZI1j/OHa5NZi3OaDQXTzkhs9hcLtDb18++NI7tiOeI6b9Y3kykxzTTG7Sh/ZqwzmxfG5uUk5zdG6y3RGwuzLnGybTmXNb3rU/LQUjJtJZcxpP+TnoRtAVOos4uEyzmXc7OFetvMgek8HzyMlJr8ac79sdeTqNokLDQuk/k3+D2Uvv+0PDL0mpj66+Ugzg3AcwSQMvtLqFrSo8RzJrMUxv3GUS5l6u+tpN55VdLQ4xmdkEKesVAPQYgEkrEv/r+a7ZJkMByMeCi1/r/UQ708P0o01YdBfoM5/DQdkuFhxXgebepfj33KtLnOrKx/rwxqWYbK1D8e1gWfjOuTTfW7an1xPR4aPwAAANAhlp/Ax9F0+XOrSmawSh2oXA0qOe8Cl+aZkdQXFWv4fUcN4TWcO3mqnPv4K61KNI1UCK25sqbeN1q3Ft0m8iF1w6q4rdKzB/I2R9P3tPm2KuK9p7FcOolEEK0l/b8+KVsB5lsbtK+idSxsczjSjqD8my0tSVioWB34ImoTJ81hzcNJ7uOFtrmzYclJUw2eSOUG523ezHilc1yL9i+anbZg2BkjdYgqH8eOcmlS8qSsXgiZzDmvFK9GA83PZa9LyiFT2kySyChdJqdwHP5yGdrXZRdyQyvTd443E2GT1EU9az1nXZt1iI0UTrgcmXbgOi1amZQ1jR1UtSOftG/9hhdnXtb4GwHFShhD1nqTpqH314q4rPcf7lfvsTXWcON9Vs5wUkdKhjJq+tVKfP+tKse1qG3zsz2d5Q8bhxZqq8NgX0hk8RxB2eHZmz2wpxKXjce1DPzu5fcfEREXu4p1U6l64HvROB+qy5T8bBaJLERE5Wqu8U+io1+I+2mNf2VYyzdZqTV//e6dafPlBkDjBwAAADrEYTU7n/clyrBmx+PqlfoSkxSIbZp/y3h3X8kwjl9X4/4sblNjUJzGMZ5rqlQh/jKcqpmU2DKgZ1eaJ0PbOLYnQ4/y4+xYvdbyey3xTVWspJmSk8u2Hs+xpppKWUVrgyQJ0T4IsZ55TE3VrZeemL9mhyZpEamvWbas6K/vyaSWp+IkM3p83fMDaSoiyhzLnmhJPNaqZOBtrFXpxDomlK5wxm1t2lwiomLK14mn8cZ0lex5Kli1jTV91locjb8ZTFeym7Fzf4yf25qyijgzoS003u+FIhptu+3wBE9ma4lY1C3EWh0cjVrCQ0N+3KKqk1gszZJIJ+7Z2AKU+D3FdlDGdlsqTVI0fh2+NszDdjP5pnWB+mocmhPk8Fj6YE29jybpuZJ2G+uGQ+pIafzFav1+XVltVONRHNMWK6PSgvldwGP8ejx/GDX+4b4quS4RUcF+WSvxmVO+C2x96imNenVUa9Kb4lj6eqllqJf71qJ1d6AvxNeL8qnUyqT8EcjcJ7amTNf1GH+UOcrOfRGpcf9yXNebfl/unThZv+YAjR8AAADoEOj4AQAAgA6xNFO/WISV2UlMwcbxjVQoBZs/psqUwiahZNajlkxpIgNfV5nS2axyxLC2b60oM8ugl4abzJSpfxJ/r5WNg8V6ySEX+TCA54A3D22yH0YZRrzU8kU7E5dhUOghgty8V0Wb2Cwu9yvZ981Gyb46lzSboipvlrRYJTxso+uWzWhsrqp/x3VRZi3nLNoy989qufZOGpnY9FdyxqskzG7+0I+Yzb289xxuM9L21HiqeOk0ZCok50jmkTDXLvRMjjN/SfNC6IxZOZXZmPgHjo2bh0O8kTAnPzw7I3Fzr5QwEnLW5pDoOMiJk58eyrG57RfxNp3nyGfqTTsf2hkt3XBDJxo3c+h0zNhtj3HhOPpaJ+Va9rRO3bqVdps7EzaOquqU0cSvs1ZymLSXqVTeR5yXXzmnsSMdO8+xkx8RUX99vjOvDKdpuaJT32ilbvRHrjSJ//m98GR8ztd6zfMuKfdLvm5zTjbxD/fOYr3ksvDQReFktxuocL4jRnXBt4zqQs/Uw8ZDtmvjWq4wbF4GTbh5vUhmMOShw7jQ75fZptivqVC8aezP+J2rzfmr/frEks9fvV/3DVeyss0DGj8AAADQIZbu3Kdz1HMo3XiQhlSQ+iKdRO15vzpVM4167gziYbfp0D12NtsUNdHNwyZuZDV+BvPX1jRojb+uyr1KU2atmZesuZKyApSOnG1+SQPJ3xwtE4Pm05y/BlnOsZqgemisFaQc+PZFdXbgWAXYwjLsKUfGeM+C80Uq14v1uDpsZDhyVH+mbx41dbol1u9qP61bUhaVXdPVKMMm2SYhlfx1rEN/rENdW4icEwLl0ThLqXWcDKjNp8Y6bjmznXm52RNZrXapP9f52mZeg/qAuJDpJD0zQvxPHdYzIX76clWZ79/McMchcc11RNNnDdybcbNn1FqNnNuR1bMChHzbIjMKymFJ6Ge69DT+1jkIHIuEaPpeeGeLnNbBk5TFzW2bPPuksgDZuTmSJEIsA8/Ap3LhsyOdLNeaRtqb1L+rcf4QiMavHQxjjvlNK1GzHjfvAn7v87t+t+ob+Ir8Shvo+QL2xRDsJ40XHRGFwbjeFt8TXjifdjY+Kr6jjh0/SUREU1XhbMHdPa4168lQWSDNI6ZnUeR64zZaqvoYiHOfCvGLVkx+x+l34qiXWnP1e/2RwZFZ+ecBjR8AAADoEOj4AQAAgA6xPOe+aN7TufDZsYJNwiv9xnTD5h82m2unBjHTOXNkBi/zl3GM0JmRNkXT+TGj2tRz7PBJ2XZU9HIZRntRqex869G29sSsSQa9a1abpndN6nV66OLJaV2OqZPxzzpuaHMO18lRg7qOtg73ybbNMZn2lkG9bpPy0BlpD7LIWpR5T1Wbrp7oN6b0Ye+IRC6di2Am2fKiyVqHCkfzHDvqbFamvOPGe4mI6ITxblm3bViv29KvZR4qOafRDv9YWcvy92vHyDauS3H6VNNalpP0e7bwnPwkv3kjvMTqO+ZbLy5aHKf4HO40nWn8MRFREZu1N52o7KdNzua8QVU4x/Gzib83yBt86ZnZRb64SZkm2TGJ1+mpiznLWZJP3piotW9VIbk5oixa9jbHOJbLy31OHJOthhTM/Afu9LqOuTzYPAMtpvuknN6QQts2ew/cOP64ix764ayL3nVMeXSGRXFCVdPMDsxU4KXOxintNJr6E+e5GCe/J5qZ9zQbixmPYYxiGXKHN/2M9WM+/q2b6sHaEzY174JhvMn8znl00LyP+FZz22SHPiKi4RO1PL1d8V2tG2CUYbClrpyeisvn+ltRw5Fs4j9x5YlEFlJDj4+M6/fRuuNIK0MR+1W9x6EIfo6qflNHsyOiXGpoZTZL368j1SCOjE7nPDytc8l8e+iME84BGj8AAADQIZao8dfL8SB3/jomfnUdqRzXmN3TPGRBMuSpL9iKc0/z158zKx2HC64OGssCO5uxpn/iaJdsO7Zfa6crUVUrleqwr6qdSHYprZmd67ysefwlydr9zMnux5q+tnywMx9r+seP9si2bYP699aoPR/Va1wgV3q544vIXNYyrzhWAf6i1PLN3IT1UeZoPWEnmRNWGvmeu/I4ERGdMn5E1p00fJSIiI7rPxllaL5a2bHm0aq2mBw3aM7F9bY+q5vw/vXG0WY/Z8Hi4iQ+bamGp2fYYueopBokZCpqv17IFIfSadOHnYFPz3bGmfuM5k9K69MOg4WdEU9rpTzXQ9Q+tKOSzHHQ72XHSdI81jJV8+hP4jk53FBlMmStJXFIzPLJq2etSNVlkYV0feUhgiKXIwOJ9ldk+7vhkFmh9TpnP3OdReYN0L8bB8M8LNSzSIhVyJs3QdY5lg923pSZMNUmx9nTzghaVYnpo74et01P498dHXB3N++VYpZqmb2p8jBk+ZRmPBrXDe3YFdastcZfn2s9misGToZBbqeDvcrBkDX9Rx6LQql5BuLcAcNjx1He3AlRhxdvG9Xv+JPH9XtJa/ws17fHRxMR0a5+3sh6McyctXxSFpIQ235QGf8mR+WZEqez1Glah2xvjpbesfM+Hw1OyNbNAxo/AAAA0CGWmMAnatvD5stlk2iz9Rclj1mT1pDjZ+SaGkvaF78y+8lc7jH3e/y2ST7yzax8egzliPhFxePkxw+aL9Lj+vXvI+IgrR7jfzKOcWnNuozX5rC/dZX9hRP+uDPpxTI2oXsql3TU/mU8v9+M8R8XZT2+X2vGRylVcsWJE3uytxa35V+Pa3F8fW9Zfyk/qcIU1/q5ZYDh5EEcBsm+EqSsJ6cOG43/9GEt87aYrGNTr7HolNFBY3dVl3FED8i2PWVtBXh45ah6OWxCWdb6McGGJ6AZF03Co6JmonPTZ0lSlPYimn7fqIakNP6Qa7OsxcpSJaOSpDn6VCYsMXgaPye9Us8Aa/yzuE+VJFKnRK5Ey4zycL7xQllFSg5F1E2gZQa5wiaLaYtZczX+kCw1Ou96L9P4HVWejX+5K5CLiNoy85+2RFg/g6S6Q3oPkwubeQZcy4cTRlk0GYmSBenwMqWVss8Qa9KzSreV9Pxs9SEi6sfc/L199Xui2Nu8c0I8RxGT2Xj3ST9jw2iROnpUv+O3DRsrXj9WzmPDI6KcqlGKlScPKaQnai293PVELERTEYNNq3H/LVG+TLzE6ny0895nHpvV75gjhuyco+69CePrrzXn7O2L+0frw2C16Qf60TqpE3zZ5F9e/3SUnp6Q9xtgjB8AAAAADuj4AQAAgA5RhBBabG+HjlNufjcREY2ObMzRwxiOMI7m/6Hj3MFTtK5PGy+rSZyOsFTTOFacyc0J5ZLQpxjqMho1ZpnVON3hETI9YyMfD0XosDyRIQ496CGItZipby06oK1Pm22SuY/z3jtyihNikt2wlnUcQ1C0Y8qq5L2vl3qIYGBCZUg56bHsOrMghxvujzJPZioEJTrItMk8ZPlUqMxR42imGjaeQ5ujyY8dOQfK5sxzCfAQyRPKsfO7+2uz26NP1o6JT+5ttlX7o6ycGU/LaUKtkrA0Mafmpv5s+lv92/t85vOzs5QK1+mZdYn50XHgY8fCOOpC5YqSIWZCo1E0uXpTrsapVgs19WdvXzQ7Rj+t/n4tH9dDPF4PhwxZhmZduRrl21SlMhER2fDCaXOyIoZd9qMsWga2ZFpZtDza0ZLlEVlWlBmbQzDZNKvfeDx0se5MR7vG2exyGWx9kHL25PtUqXrI2oo22fNUuGt5KB2v6zmOqjItb7zebLXZWB4R78WqcoIb17/Z/F+pbJdhf32y/p56OXqi2RZH42i0Jw5BrmkhWIZazslRyhnu6Ljc1shQHFM/55uPqhveUSpXP7M3Ouru3tM4SleP1IVc+W4t18ojjQwru1iuWGZl6p+t1r/Xjo559o9rrrN2fHyXbmucFY/dXA9N6oyCzBPrdSN7dHcM53usCd0ePRrr7fEiqStS95PfJfrZmWyO9ba12X+6NYZdbqnralVNXczznfCwjc7q99Bjm4mI6FuvfXsmuwUaPwAAANAh0PEDAAAAHQIdPwAAANAhlhbON1itx1dO3va4rDt6XIdSbI9JHbxwvt0xJe6Da0fJtof31b937W8GT9bW6sE3TlKhR6M5icTmTfX5T9i0V7ademSduOHUlTrk7NRRE3q2SDjfY2UTVnb/tB7kemCylYiIHlrfLNsej2l8OQWxTr3I4XycDOdINSZ+zKiuoxNGtSwnDJ+Qbc8Z1nW5cDifpMStx9IenG2RbX8/rdPj3h8H6h5W9c0piNfLvPlwON8x8V5+32qTAOmMlYeJiOis0YOyLg/nU3NwSzhffZ/+bjqWbX+1/3QiIrp1V738atEkr3iiqssTWD43DMsbe4/LWT7Gz8l9dC3KuK0XzsfjpyG/znBvTCMao6L0/OYSzqeqlscpp/EWVEPtZxDTOq9Gvxjlr8IhZOv8LKhUxjzuONpV7zN+XCVZ2RtDA2PolE7ZOzky+l1sbdatxdPGzMpUjJtaGo7T+KnpmioYj6vHx3z8WLNpHMdtR0/GsUwVJlYOY30coWZOOzqWlcdRx+qJj2FORfSD0H4/IT537Hcx2Ntsi48YDZ7k8MbmlOxnMFPjtdM4vj3ZHP1Bhuo6PdNW1LuDH81B9HEYNY80jZ6I74J9eQKfMrbJ9c3xnhyjwi5jm+mtqHSvR9YVzf5Ba8rnaE98B/TiOj2Gvvneev/Vb9fvld6jzTPN4Xy0pW6ca6ceLdseP7MWcKLaCstw4fa/JyKis45o3gUczveN/ccTEdFtxcmybdfD9bO/+nC9zzF3NuPyw7+7vy7zd78bK1SF8z3nxFqus+vlo/3mHbK2vV6edGxTnpcddxcREZ2zej9Z7tz/fURE9OfD5xER0V27m3MN9wxiXcV39t838vWfiL9jON90W+O7sOe59Tl2q6Q+02NjGbfU/gZnHf1d2cbvUy+c74+q87J184DGDwAAAHQIdPwAAABAh1iaqZ/NkPtVWN44ZlzbNa1NybOQ51XmXP17ldl3YkLjiIgCzyAns2Ip8yhnNIvHTZSZ/clZfd4n4sx6D/ca8zzn5m/N1V82ZpxHom121zSGnOnsd2Vdbi8XPsMZBidqRqn98bjd0caoMwVyrmue1e5Ac/V/d9aUlcvP9aHDFNnEvz7Lm48MycQMfKv9I2Tbpl495KFnCuThkl2Sq7/J9Nfk6q9l+dbkeNn2zRiX8+haDK1RZsugQvQybMa6JKMez1DWrBOroYT1KfNtaXKke5/R8R7yTGWkzPi8LBKTMF9Hicy/82knxGxdOfNVcDuXmdd0tjibwVDP7MbyFJzrX20zsrvl1tFeNuSzLVWeTh3f5+sU2WEyy5mSgWWUe+FlCORovpCv85BrOlkem3rL7x31zPFaHm++ADl/3lakHvrJrvH8tm7V5TgUUz0LPKfJTEKIVWilaQ/lSB23EvffVL97ivXmHce5+qvV+t2mh4WsLERE0xgKzEOdj4yaIUR+f/E7fubMpMdts1xptg231MOr/Wkc2lS5+sORm9IyOD2efo89zu/9+C7U4c+PTut3DYc6k6pbGRIcsHzNOYu4P+fqn6nMfTwkFVRYKJlsl17/5PUXE2cegnlA4wcAAAA6xPI0/vgVqL+29k7GyT77lIbMX168bo/ad9+k/lzSc7K35cbmxDM8T7lOXMNJYrSmKvL16238Zaqd+9ZjJo8nZk1Sh13x65Gd4fbOGpn5mpzIR39ZclKGaVFvY+sAEdEgzn/tzfi3FmXYM6jl3KSc+0bOzHuyf7USZW++5B+LX7dcH08qCwvfM17qvPL8JRoczY7LqOcs4PzXPOfAUMk5FefDWpa/XztGtt3z5LFERPTIvlrmyUQ1Zavx63/l0zzX7rm6HD9IOS6o/Nys7fHHt6s8yiyAzVbJ+z9kTVyJOkuPI61dcjk8jT9aK2ZF/tXPWl+SO14sGKlMpLQ91kC1Fsf7JRaJTONX+8uFikQWsomVrEYtGn/cN7GYFJnMIdP4KcfIUv929hMBzWGOfK4VQKxE+sbGpZPARzT9PrexZptYMnhbyM/JOft1ffJskDpJD8/z3uvxM6rLGu81z0KpnCOnm6Iz5eb63VuUak6U+D4qN0WNX1mvRD7lLDtZr28aW+o2qRlYh9E0wO/LWZnrpXzPZ0eqZG1b63PJ3soSUh69KZaBZ8bLTikJ1oiIHpnU7yOeWVW/lx+I+f6fXM81/ka++Bxu0s9h/e7kdssz8tX7xb5orPL+x3cFv0Mnytq6O/Yh/SJ3Cp84Fth5QOMHAAAAOsQSNf74NZOMS9RfMaw1DnqNllnJ10+9//6JTtlbF0OPb1bma6xQn/b8JcVjXlM1lsQWhccm9Vek9jPgcWvRyNW2SVRN9iorBZ+Ll9qyICl7Hc2YJe2xfEqL09o/EVGlVJv9MeaMx//HKhfssJersfy1uC8e96SySOyJv9mXQofu8T3gL3JdBi4Xp1bWY1F83B51ne8O6zG+1X6c61tpSbMoH/t8PKbGFh/ZF8fb9sev6dn8b9igxswKM/d7MsObzJaXn4PF0mO68rE9MDuRM26rtGYez6uaptIc5hTDatSJZsd+BrH8iRLN4vCz4IQ1SvrbRKtPx5q98f9E47dDzc4Yv4z1a9nbxtdZrljfathW+RnMH1/3NH6RK5nhztSNJ5NnKDC+H97+6Ti+GePX99T4WVSJNYV9HOb7LEhb1jMsxrZcTrXGH9PyxrTO2ipXSDtN0w6T1viP4hn4mo29SRzjH/djGbRFh2dWbM41WYvP9L76mdYzz/EsebtjatzEgitj/CyTCn/bUssz6OU3g60Us9X4fOjuJtafDmt8dJ2tB/yOb67z3bXaGrA/Wi20JYPhtsnXI3UPq2hJ45BYIiI2snK6Z1Ip5cXHSwnN72NOZ663Tae6cO1A4wcAAAA6BDp+AAAAoEMszdTPthvtwCGWyWgO7CsTLa9j0/FUmWfKaBJKwricWc6YwpjNPFP1vmiW184de3upbXamHSuq3BGPzeNi/lZm78ox8Yt8c7c05Z84t46vt79fyzBQcTQ9Z2oxNhfxLH37lew2o6CWfWbM+KXnhCOhQ00d8f5rashjd3REXIkZ/7ScPMzCQyR7J03981AP3/vERMsVyI54jhOORFVp5z7O3DdRO5rZ/HrKmtZjk320VoZ0FCbuFLcpp8AmjC8udViQuZ4nc2KyZ0vpjE3Czrd86diqDckMfCZ0TIdAeU5tjSmcx0NUedi078kuIZUtLd4cnly7yNe5Jvi2B8pE1+nHRGZrLPNtckDL0IBnzueZ8ZLy8Lq2ajBmfSKiXmwszWyPahvPKKizUMZ2INlM1XtQZuzjmSCV6ZlDzmS5kpuUg2Nm53rTWSs5W+O+tfpZfmLYpD5cKeuHkUO8K++9wqZ05XzIjnRFHAdIZ+eL7yjHKZVvgh5SYKdxNvXPVEN/Yq2WdboehzymelgjnpKHJHRYY5HKzJk4SWV+rJRz3yBmmuQZ+HRfwUPK/K7fp8LhS4TzAQAAAMBjiQl86qWXcKR0tJYmQUn8alWapDjyeZpDiwdRY2FQOb9N/nmtwbPjGX+B6VAKT6vn85ZOsgURL56Tv+489BcfX5PPqRPrsHx2SXPC/+T8lFpT9HU4ZE87QJZG008TJxmnSmW14eQd+wYql3tM2jTspw4tpNoDOwpqGdiRRfb2HKlE4NyhzNPiWPvvT+arcT2l1UvCn+jEpBPkBL6fnsbKDnnx1ukQo+AkFhKcbazRifOgp+lGuVz/MDdhUHzGOPmQ49DoafzNCfLfjeafa0nWquLiafeORt0kJnLC3nibF87HdeskwfGSPbnJlAyJQ178Xdi2qR1AvXIZy0JRhmyTaPzKKZW17EJppewAy+HMfWWF4ndFGZ37tOMpzx8/W6mPG6w4N8NBNH4tV5zYgeds2DtUidgG7BjcT+TUcDtNnQ9ZhkEmkmj8nCjHUYpnyjH4yWhVlHku1DvnyWilqNbrdQNH4+d2qENNJcQv1puKmqZyNd77cdO4hsOo8fPzp9orWz9Zzn3Kyb2aLq7HQ+MHAAAAOgQ6fgAAAKBDLN25T5tzKmMOrBwnITGTajOQa+KPC5sjW4sg8fzN8Wza8XIh26GBqTJxz5wMfDZ7nTZjD6IpeODE1FpZ9VABG8krr47MNk3PKf8CPk9idtNOmCwP3y/thFPZuG3FjONSlb28F+uhF+uhp2PujanLbSu8rzahsnnZ85Zisy2bIRPnvmiO1bn6xV8tbtOOgmKqZse6xPMqLnMRAmdHi6bCQplcJUOd59xnZNfyiMnfM/V7MerGCc7LSufl6pdtev/WhmSG4SpnW6u53FnpyWzyJrQ27uQCcXdnuEGGcBxTv1x7/ghdKnKvzdQfl9wOtKOcKYc3FMHTJ/cT5z52+FPPTDQF8/PK8fyJfMPoUKaczUpxSqv/n601Fd8MmeUOiiKfkqsf502e7q+7njWV0bIcpe+VoHNz8LtgkMpERBSnQqHASTCUDGxej9OSUKWux0NzetiYnYZ5WFIPL67tj5kLo6lfvzvknRNFKPX8G/EUkqWvSe5K5UqsdzWVNfcJ3EfoXC2cZZCzB7JMREQBpn4AAAAAeCxP42ecvN6i1WunMevA5zgQpeEzbZ5C8TAzS59e5/3PVgAO/yiV9iczXTmauzjbqS9sdsZirbZQISgsuWd1KMVKweFyyupgnO48jVdbHVi79pwBpVyOZYHPX8kydyAix+HSc8QrWdPo81JrIbnMWXmcc2Y57ZMQLXaEchyiZulSn9d18JJ9HO2+n5ZLhxhJ+15Aw9On53L0dPhfdPaS5yPRgnOnQ3sdCc9zZuCTEKU2zToRkHdSP83zqmVpMca5+fFzGdrXzZXPvZCzq7ECFColIYcgJutsPTvWF37G0vDJtP145cpkojwzng7dk9BU3ZYlnC+2Pz0/CLeVmDWuGjUNvYxaMy+nSmOV54ktTlpJ52dGycAafxmtBuVAv3tNUbVTblyyxl4qB8MZX9tx3JMQxKgYe+F8laq39Riqx4YSHSJXRStFfy19h5DzrGjnSA7tE4vJalPQaqU+kB36iIhG0fmZ33u6H+Asg+trcX6a/aoLnzrP+Ryg8QMAAAAdYnkav/e5z2PHrDXqMZ4y/TJ3xyuTdS1hfGxZ4C8+bXUwoSQ6uYNounEsRVskvCQxbHXgL/reUKuLMWFNHJfSyYpYHgmx0WF2JrRNJzKaxRC3yvODYNSqHstlxtnJjLWT0Q5KkwgkqQej8Sf5rL1bYsY3g05WP0i1ED0+KmOSzikF1srUvWm0o/i/o/EXerpBa1LQF7QampaP65YTo2gt2Iz/uwq5M5Yr/5f5b15qjUasSHwuxyrias/9dH8/WU8uc3ZyUg+ZN54f8t3tdby895IsJpHLjO3r5DTOuvmyO6J44//ee8iu8y5X5O1W8uT30yWpsrqWDC6yzDvRbGrmnVBa6dRYVJV8Yv2TGRnV+yhqr5xspt/k3KFymj4X3r3UcwgUbImImn81Uv5BcgCfPLeE8Ri/DpdjTVqHnYp8o7QMrgVJz2BYpF2iHjcvYvIhrlNnwlN3hkUOPeSl9p+gGMY3GOox/vq3WKR1uHlM2DOLloliv74QNH4AAAAAOKDjBwAAADrE0kz9bH7TJuVKYtXYs0KZqWaOqVA2xk0DbU8t/KU28UtYGmXb2KmjVGYgMfvEZWLG9py+2HGKHWbUpjJOtVtG8/rMMUMWYupvrjOJ4Rw8FfFMTcXIGaVYvo0cINmxjrN19ZS5SUzVbQ5/ZWo6jAWrjxdzmLqH+czAysksnmuozJwxjV1goQfK8U9uazSPajFN+9HZyzi8qXF+0g5bcZmMPqWmVh3axkM40u50JjR27pOMbc1xtkaTKvay89l6c/Ld+6FxqflbO+Q1U+6yeTl/Ppp91W/H9N6Ug03Inrdevqo1pFDq3ZjwN3Duc6fEzQXNf3ODco4L8zf5p5J21DLMlUzhbE396jDjfNmWMVEPUTVhnmr7jJ/bNGyOdPFZrsTUH83/Jmc/EdFMQvVCskhk1UU1YbS9iTL12yEzL3OfOM/ljpaec59MdTzM61bQzrKSei+u0++OdX6f8HWd6zmZMGW4YRySJal37kBlM7UZYidextI47NDfrxrEAg7tsuvCewIAAADgGc/SnfuKti/zBWfyEq1A789fXiFd1v/EL1dHAxUrADvwTdSnmyTFiBq/l6tZGwH4qzl+BqYhPFHTj5YF60ynSWYPjF984si31sjHiSUKztOty8fn0BYWzhUfQ3d0WB4n8gjs8KernYvF++vjjFOfF/LiOWZW3tez0cKSkDjRmHJHxjCbL4No+vzVrh2PnCQkomHEkJwkr77k2k+dEEk5TGYF1eWvzJLmJOmxzn3agc/6yOq5DkybSuYSMJp+omXyta0WbX9bvCacabpqk9X0HQfD0KZVLe7LNFcG65TmWR0yx8F52PatLYl2roLE+ZAdW+MuTmhls1RtmR06PesLJx9ynk2eybFSTmM9PpkzpwC3b5m5b6yfp/Ti2pHPOonWK1mWuHQsEq5WLudkWfLnqec421XWGdB7z3rJ4FhO7dzH739+v3iGLbYwqPcEX5uX2jLN8yX01clsArapcjDn934R+yCdHCmZEXADoPEDAAAAHWL5CXw8RIvR2iKrhrxC7x+/wJIv7PjDSSFbSWaYPJ5Ixq1lPF+P8cRwjjjWo79uPblYZt4tmeVsymP8tQw6bNCGpejZ72YxfI/H81nLJyLqmcQShZNSUieL4cgVCctT42ZiKeE5472PSW9WRDuHuRN65mn8kgFV158NZdJavZmrO/EzmKUWGTdJjzM7n7UwkKMxpLNupWP7OvWubVvpjHBskUk1CC2flza4DTm9NwbMY8j6HpZp3XohZK3XdSxoTaNx9vf8DMyYdqXafU80fk+dbZHLk88ep483/gJeWCP7dWhrY1sIZmO1Uftzeuv4rOUWoeYEXopk1nB1+yuNT0rotVdMYXyoKuW/VNmbXeT3KdOeVZicJLDRGr+XVIlFdN7Z8u4Q40h+E13LDCf18UL1jG9EW1ik/t08m0r0liRecv74f5VYBk2IpE7RbcbzSSdnk9lJlR/XNA0p1BYXa+FrAxo/AAAA0CHQ8QMAAAAd4rCanU/M8wvM2tVmbkmONbP6kbbKi4VSO4alWQO1c4eYVySnu7YJ80nVqsAhcewYpp2rUnNbqU1r4pAYhwr0zHgc/sIhhevKPBqd+jgftmfqTxxnOPyH70VijU5tx64ZiR35POc+WVK+TYf8iPmVnYr08E7ch+VMwm7MDy2DmZlMz1DWOPU5ZmkeudDOVSbzV6mGQ8Tkyc59ycyCcR9nprHCtqON5gvgonqmTG7DTtY3CX+UTGjqwEFqZteOk22m9Mbcqe9T24PKSxM2p689SJek74ETYumaa2UjL9sK4Qw3iDlWvSfEGSv+v9FMfMZMLG2MlENdmT5XqVypTKRN/Nz+xvp6bC53wgCL/FmTWzDL26TMmWFM8Z5c2rGOQ9Wa4au8PHpowJ3rwcjH77/CjRlNz5OU29k9G8rymkVSR2b4UrdzI3JSRcbh1AvJbJxlnSEM9ZvnX5FZYFXINhlTfzIkqOp5I6DxAwAAAB1iaRo/a+BlMgOfk3jG4DocGe2ePGcTZ/Y7Xpc4EHGohquxUrrNcfzQX4Gi6ccvf53MhkPO2IlQa/yVmZWv0vMss6bvabOyLpVXk4ZHsTNb1Bh06F38hA0yJZzzqczncpL0eI4wXjifWF2c0DYbwpnIbjS7JB8/14OjPVv5EguNOFI168pRbKdG8ydqwiA5jK/nWG3EoqXryFoktMY/YZm1s50cSZZGa4776/nGh+kcB1WhnzV27ovnbMsF71hoCvdeOOcwmmRQN5F/VjFktlLJm/hZKbx24WEc65JNRtnTxg3WPEWr1xYdvvfTIj3RnOddNGoJVVP3PGrXId7XKon1M/Jqi5MJoUvD59KQvUTLZCuKlo8vWeZtkufIkIRYLclzdDhaElY3T+N3QtsapzvVzluMNG3wGQqvDZuQ1AO+hn6m+X3OvuHOu0P21feiJfyUnfo8527uG/UMgWJl9RwNF/ftg8YPAAAAdInljfE7ISV27u5Fk4W0zect59Az/QUOb8rD+ciEDXpfVG4iGm8IyYS09TyNP35pJ4qKHf9KkkjEMR7WFtUXtk1Kk1grvDF+GY/ic6mvW2spcVNdOtcRiwlvy60wXlpPL0eKyOyFR/FxPAOfMwuZjIN5IYXmPPo3a3pEROUKL6OmpmfW4lTHrAFp7YBDJMVnpDlnX3wx6v97KgkHa/paTqspuCldo2ZYjJoD+6zxe2mXWa5FNH1ttXE0/mamOt6otrHGL6l31T3kdwCnhHXmk5d2qH0eUkNVlMc8t04onYRR6eeLx/iH+fi1hHByyJoOL473yQuhc5Mw8cx4nAhKV7y9P0mSrdTiVKw2u0nYpTyrpI7L18nlOPGPrqOpeRCTpDbp8alFwpxc9yj8fkk0/tTCoreRk565uaizbg6uUVj6A91ovP24vcb/9f01/gI6BM9aENtSK+u65edwprJyySywZjZY0u3aK+QBWDOg8QMAAAAdAh0/AAAA0CGWGM4Xl0kMWcvu1oqozSxtzkW8n3JIUS46+f4m45+fomu+nK75n83RevYsNmuKP6Nj+nMc1yQPv8lHTxs41rXLF/9X+/OwhFSDU7feEEaWtcy5Xist9aczeRUm3CaZgY+z33n5+O3oTpIXPZpVVciUDeerRmqGwBZTOodi8pCOnoVMHPjisj/R7SKVM5FZnKuUfOwQF2Vh8z4R0XDkxATycV42P3O9zBFSR622zCXgmfp7Trghm0rZ5KxNmmxClvkW3KEFtc4OOyVZNdO2WHimfp5BU+WhL/leOG251zbJCI8oqOqveNhpYJxmSTnO8vn18BMPQcQ2qWfqlOEuz4mXTenOEJ08o3roUTbmZdXvH7KPKIdBemZzr71yGKmZ54JM2yD9jHuy6/ZgBEucN1v7FL5R3kaWScnOv4d8mDo515GY+vP+pglP1kO+uXO3nKNK3yHkPGtOQtCFgMYPAAAAdIjDM1e/KNtaNzdhI/pLzplAzs4NXqmtjQaVfw5mX5nJlxg75MV1feeL1NOMjQZFjkadzixoNBQdqsaOa45j3VPGCYUKxkHJsx60hjy2hZu4TjXzt7nWoYjNvZ/I1Zpbm60IzbomSU+zjp36eEk65GzA4XJ5bJckapmlzpj6t8wUqDRDb8Y1qznpsDeeX6E3rg8cjZvYwFGc45s1a50sq3GkchxcWzR+mTbBs8zIqVQd8exjg7yhcrFL0fhV/UnII++kDkwnkktk5frTM02KE5s3M168h00u/aawJSfxkjkmtCkjvW5yekej7k3Z4sE7Kadmo+nq+pOEQtIm1b0fsNWPctggpnPGi3zOcS2asX2ekhkW+2ZJzjat1bNzn+doaQRN2pFJhu/de9HStTprp2VJCkbpRrXOe1VJiK7zkhIrknOgXMaztMQ+pdKmBZltNn2HkO6fWE5t0TkANR4aPwAAANAh0PEDAAAAHWL5pn5tZrHTrxbefmzDcjZ5jmTRbNRTXh6Sm78lx7Ps68R5i3nFdSacf65EZjZNxovrrHTWIpnmwjfLlnhOL5bUjS9t818snXthhgaSIQxrFvSc1JL7auRzimOPT3a00zVvUDdSfsdUJtn5xvk6ydKnnOf6fXbui8cl0wZbJ8zmnDajYDJc4zl48bwOnFlQm2+jXINhfZLxsLkQm/plmk+VJbOwJlb9GNo25g3zOEM43tTAPP3sMMqnHSF7UYZ1z7lvnctuzq2bopMV0qtvkY+ty/pcLM+Ih0WabZVkFzVtWqGzLsrz6jj3cVZMyRWhnwHJZscnUNvYeU4uqOST6YLTpcYze8vz2+I05k273PY8SQbEJHtgSJZEKpeCV1bezUwfrK+dTc+ufrv9AD/nLe/JRP3l50KcX3OzfI8494oayvGGbC3eEAtnSNUC2held1+5XHoYBc59AAAAAPBYnsbPGb36+adYcLJ8NRvjJrXKzeddpPun3hap9SBxrpGvwFw9ldAVtiKQc1xLeGLiOGhmh9PbMv8Qx5GlMCFKGqvV6t/erFbubGe2nj1nSk7j74QUerOqWVlcWT1rgIe1OmxkAZpzPS+PeDIDH//mGfgGzYWs1pz8ZzT+ZL4A0fQdjyPHElFJHvm4VNkDi+jUNx7XJ9Ua/7hfb1sv65MV3vRdMsOb9nKM5xaLTu7g6ta3ZD1r9h/E+hoNarn6ats07s+ZyiYTla88hr1x2XstGfIocepjmdV+nMveCw+LFok+v2uUYydbcEppy/rhyc8l99hxluVtzUxtypHRWr10KJhxgqu0Q/EgLWs6L8bGJrREy7chj87+3qvUznWQOvLFC7gOsc57n+8T66OlI4VXtzbcMknSat/jToXoWTWto6VjIeV5FnrqQqz9yxrHOullWPQs2CSOx/F58uZNcOYVsU6ibUDjBwAAADrE8jR+iWpRXykSjuHFbJivHlcD9b4QnU9YmZlsvsYliXWc2ZlY06+UTJLDXGlHEjbjFKeZZYnHkuYXNdH4W+YzMBEvKa0af8i2Zdd2rA49J5zPnePAyuf4bjRjhc7+JiRnYRbwdUg0fs4Zr7+iOUlPXPa0dsCyc/hRYtFJ68ads8DIRETEEzOWOme8JA+K8o2bEwyGqUa9Mmg0/kHUZmfxpEmiIdH0c5madSHbFrz7aq01qo7YD4L9DYYqEw/PZjiNFomp8p9owr4cHxO+nC6OWJ/iUrXJsiW/Od/PwnlI5b7KWL+699bypl81ngbOcvXMu4d0XngWyimkN4895/333n+e5cMk13JDolvGyd0QMlnnjOfHe9jT80f0zYV0CGzB89BvbHZIrRVGdse461seU2sKEVEh8uXHVeZGJWXliF7zXCXy8f+JJcOxLPe5TTqaPsvKVkD9/vfmU5kDNH4AAACgQ6DjBwAAADrE0k39PWX6qyjNlNUW9pWcqs2cw+u0udKEtXjOKu512A+jSP8nnbtbHxen7pQwDs8hKh7g+Xu4mDK2hufpcjmOQ+SY1+ddz3Uccpwq3fkBrHxtDobasUkc8ZzhEDt5gzfkwet0iJHZR5v1+XdQzkgcdsQmwKKXF1D8hyqnwr3hJ7kX9Y9qkJe50tkDbUbBoTb1x4x90ZQ+0KZ001iCNidGuXqtpv643GiIxdzXnnIyYnnY0XDYzzP48bqecpws2XTsDQ9JIXKZM0cq/T7xnPviKjZB9/SzEC86jfn7VVI/KmfRYTIx/xsHOS0fr2OTv26TPL2uk+lO6tYLf+MLsZlZm5B5iEQ53hLPF9Dy3Db16NjLWb58xKh5ptW978W2KeZ9Iuqzc58ZJiNqQh6d6QIaUbx1dnjCcaxzT+AMN7M1X+RTu/dihbHTZxKCJw6k8x3y3GGK3Atd1rnhnVw3HCrpDLssAjR+AAAAoEMsTeOXWbu0hsdfQp7Wbb9mHOXK+xhuDePwzm20TO863udSI7r+6uZT5aYFL8GNK88Glg/XUc7TrJ0QP2N0SEVo+Yq2FpZWjdDTxB2tXpyDktzTqWOT59DZOCYqzcEmWvI+viUcJmTr3IQjjpWnObBFRWEcJxzJva9Du+I2PUNgOU6d+nQSoYFxmrNaPhFR6eXqF63PWG+ccnjtz3fCNI5yRDSI2l6fE/korzsOTRvGMmjrX2nvvRNJl4hlrRQ6+Qs7i4mmRhk9z5ITNdYqOkeWKme6OFrqUFbW5j2rA8vFspe5fJ7sQab6Y8uTIzxbnHSo34wTw6j9uPzs+OecwwsDlGfLnaKT92GrQK4997TG3081ft0mC76OqN0bmZritb33/5x93D5FGzfiNVlmXWSxSPO7qnTeE7E9uL6RfJ/0NrFI6/eXcfhL3pcbOz4uAjR+AAAAoEMsPWWv1qB4/JTDGNJQulSzC8453LSezvhw21h4M57lfFnx1xaP5+jak5Au9cUrs0zlp2qOSy+byUrJRF6NcumM2TfJQfLz2PHyRKDMOqJCUNq+LBfQcL2UoUlaT7NOJ6HIxrj09fgcrMUkfgPp+KEbgma0btJzhTt+ENLGkjKzBumZX/j4qNkk83rH/aJWn8x3H+XRGn8laYPrc/W1xm80VZ1GdCapeuuLz5TGSnYGQ0+RdJ4PN+mTsSZpPwjRoMySiGgQLy7bXP+T3KLjqit8bdGg1Cajxbpj/Xxq/c7hcf/og1AN1Yx6MdyyGjQ3tsftp5zf7hqZnN+V08jMfdHWlMLUQ6UsDKGZSq6BNVS5X94L05HV0VQ33FnfeycEtll65sZ8lTWqeeHPngUze+857/rCkblZpywS/KPFIh3M+yLZ7wA0ci2f9z6yqYWJ0ln8NgIaPwAAANAh0PEDAAAAHWKJ4XyemcXYxD0zsefsI85fykwnJ/X2D8lxviklldMlceRLzXx6c+GYTEU8z1/G+HakG00ZWszmfmicV464SU9N1jbVU4uDoVi1HLN+5TjwNWEp6bKWn0+aV4g4PbGpX8nOpveKUqeppMhtJmvnc1ialiNDmwVP6kEPKYyda1O6X6ny8Utu/gGHnOWmdJ4/grPgERFNo6l/EkPPqlLfDGP+Toa04jonax4PRaT3lY/jZ9qpCN63pV0lx2XPaLPJW9eKdVxTpn4JzXLliUMrsU2Wykkt9PPsbVXMpMdOftrU3+qnZof79L6tz2F60sT07zm99tN1rrmc76F2NrMibOAgZ4qVhuyZk7mz5rnXYdM2O7ypc5h20BayHLyhTgcrpy9fPhSd9WHkvyez6y06FC2Z++L1Euf4xccSoPEDAAAAHWLpzn0ejYbsfME4mq7rPceHehoDH+smSEg/v9O5BIwjmaNRF8lk3+k2VzO2Tkka50vRhuq5uffbQuM8vGQTrK2Iw5a6Tts2I2fqrDdfZjKOifU6owo5jnX85au/0G2q7zbHtUS+tjpiA4O6jiQR8j7l2TGHZ3R0JsYrnKdPQvxUmKGE8fFXvrpcyVo9O/BVTQWypj+Z1idNQs/YuU9WNOcUDX7obBumS9J16ITzMSyXDjecxAtxnbranwn3JK2xJu8A3pbLbJ1RtXMf/+aQPS9BE1M4bTOZjS5aSILTJskkJWtLSOSG80koom5/9ocW1poRmobTZkVpLED5Od2QYFsO52WVhOzx7I5sfFHtNfDvtnehvP+9G9xSrjaLpz5WbpBTfvujRYV3XwmehU/e54511uln8oRi+XOxCND4AQAAgA6xPI0/5F+w9iNLazZ2TJvH00hpEfpL3g4Le2FiwQuJ8MIx7ElF1dXb0uvp80t4ovN1Jpq/p5W6/gxh/jar6evxcpFP+VTY5EZaeJaVNQ1vnElO6snujOfLvXPuBcuajPEb1X2Rr3ANH+fNZ22sMcn+Gk4UVLXcc09JlLF9HoNX1+Y21uZ74KQNFmuX2sQa/3rU6nU1zKLGP53WyzBtCmsTSCVakiQWyreJxj9S95Dvp6NGlFXqe6Cf9ybcsF5WbfdJ+xTwW0s3b1MO977y/jp8kpPzlPN1INcS4b1X+F47SXCy90lbu9PXyxIt6bF3fj7mP4fueLz3bFqraZUf56b9tpYB3c7jOaoF67Y9LJYSmSuvbo2Vl3SIrpvy2FxXyxPbhS5dE6bZ8t4TK6hjKTavTfLe56SsSX3nueI+RZZq2+IKPzR+AAAAoEug4wcAAAA6xNJM/ZJYypnRzHfyYbNH6tRFerY8PQNfesrUecKaUNqcuhKhjS3FNa05zjRF8m+9zn5y6XOZMI6qxUGuNatTUrXOOg53M3Im+xmnH6+swZHddSByZpSyjmHpsEvqzOa2Czbx9p1tnFkvyaYY97flozmmMm6TYq6s7CYfyV3u7OvMcibndHKeS+gO17dyiJpO6+Us2vy02ZLN1+V6vKDK7CW54j1TOjvuOcMAkqNez3FgQosSc3408U/iNu18OC053HCQlasx27IpVJlj2aSus6pZU78zzNUUQjmCxnoovdz2vI+X499pP41zbTxO1ZFNP+86uHoOYSZcNZmBj8xJFW3maC+DpoS+stOn54jmOVa3DFPwM1PpZ4YPdkJ0K2tK16c1MwQm22wZ9TvOms09R0hn+CTYrJx6P74HydByKrM/NOrI5zqvGlmTzIfmHAvOZ2CBxg8AAAB0iOU79+mv7yxJvdb+4jb+gtP78VeT+vRr8uQ7Th38uyWcz0vY0syxzv/r8swvqqdVNbE78w9bJHlJss1+DR4ojrVCvjaTxDURTysw27xwPm2tacs9XZgv5cRiMvfCzjZtCWprY94JTOhiUIUu7Je5xlpddIKhvpwsx7FQSZvk0DMtHsfe8W3S2gtbKXie81legdLM1T0R44bjANmEG+qypkXQMkyjg6FXVHasY+fDqnSeNceJrhqyVurcdN5fvdmyME1dR1HTL00ipLRAjibqNRvjyNlTD6I4dOaH+U5z9jp87ZnaJGVue4k42rPM9OfsJu9S51yenPYdkLQ/PpfzzDje0I1jnXNtPoVYPFseeMd5ri2cL3lmsmxAWuOPy9J5flutDm3bjHz6tyfzU9TwLdD4AQAAgA6Bjh8AAADoEEs09deLyjOlG2sQacchm7NZ7+/lcpcTOM4+bSZxK4v+XeZmqmbqT+0oErflm5TJqkUG77gWB76FzECJBbmlAjIzb27ea2J/87p146ltTC3pGPV4uDMkI05tur65Pci51XEmSxp5U6A6bUxI7jk79OQb2QFIHKHcKVM3GErIts2/J2ySDDou2pqCtbmcp9xlhy2duY/roZceXm9MRUmGa6LDWpJnYJDO7aufaZ4K2IuTr0z8fqWnFbVDLHquA3ZE09nbrAXZm67aq9qSh0/qnYoyeUCSigjeu6BwrsPvNn09O/2x4yjoDtXxY86Ob1r2trSffI7kOmklefNiiMNva1Y6511q5CXyneC8jIBqY3oOR3bfidfQ9q5P5j93rmNvhh52MOt0hkU7POG+16Xv0vt5pn4z7Nk2HBmcZ2ABoPEDAAAAHWJ5Gr+Eqcz/YklyfvPXKX/h9Df4vFnk68f9kjdfnd5XXdynKHPZ3Y8zdqbRzj7u12bEfKV6oSGLzLaXnLJ1aihnVepb5eZF9xwUg7FEuLPteSF7nnOfccwsvK91R0uSvbxtRhPy6kWvCzbdVvJlz1aouIf6jJbMWp7shqT5Oc+FhHDZpfpdlE6bbNMyeVU/LQNR7pgZBvn9Is9qw/dcyVBWRkXTt9BaMBznPi+MK3C+95ap3dLQVLOfq5XGTclcGwtop56lxLFsFTYk0HvntCH3UsvHMqf/Z78tjuZpySymNOddlYU4b6SBLlBW2dXR3D0t2J5ywXeinaHSW1d4/ZPpBxaXPR7WaykXzbHmGsT6ueiMqgZo/AAAAECHWPrsfF6yBlc7irv12sY93Avk5+cc0sH5qsu+yL0vc8mfrba1JczwRDHDc+7Hmpd0p80akF2wZdtG8Jhaq+Zgllou76vV0xbN/SycL2V/3oS4jDfMGTJVsjuDphKipbQyN5TL/K/bazFvJxUN2ctn0bLtWyexqprB1kaEkGrEhR4Lj+P2vRjm5VmhPH8GmwAqmWXO5t4fqIbOs4N5WovIm1sdguMD05aH3p470Z5bJnFr9d2w+yT7e8+veUidTQkS+upc0ibC0tVn/U7arAGuNS+XyX3+7PPq3cNF6i3RkO22lva3ke9Am6ZrZXaT2rRYgNramKPVF8YSRFb7J3JfOv57nLe1vBO9EEl5J+prpibL0HrD5gONHwAAAOgQ6PgBAACADrE8Uz+Hp6wpr502a7lnJsn2Ub/bzNzWLOWZ/lq2ZSYfJV/iHMS0hHYtYo1vHQZI1i1wsjYO9PgDHWbwzG1mSKHVKauNNhNjy7aNzPuFaZRpOBKXJ+Z5V5/RnAmu7Jnc5M7QReKj5tWRzRTWYkpOp102+7hDMvH/NhUgcRhkp7uW/duep3n7ef9v5JTqscDuCw3pJHXpOPId6LVb7l37eQ/kGVCndKaRFlN6y3O42HVa6s8z6y94anGAtNMN63NImGeRbWp16mtrh9qc3yKz1J/r2GkOcLuIWD79wLfeiyIXpa2teP3SHKDxAwAAAB2iCKElJgYAAAAAzyqg8QMAAAAdAh0/AAAA0CHQ8QMAAAAdAh0/AAAA0CHQ8QMAAAAdAh0/AAAA0CHQ8QMAAAAdAh0/AAAA0CHQ8QMAAAAd4v8HtWC2xjJFcYIAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.animation as animation\n",
    "from mpl_toolkits.axes_grid1 import make_axes_locatable\n",
    "\n",
    "fig, axs = plt.subplots(nrows=2, ncols=1)\n",
    "\n",
    "gradients = history_dict[\"gradients\"]\n",
    "params = history_dict[\"params\"]\n",
    "gradients = [unfold_params(grad).T for grad in gradients]\n",
    "params = [unfold_params(init_par).T] + [unfold_params(1.0 - p).T for p in params]\n",
    "\n",
    "div = make_axes_locatable(axs[1])\n",
    "div0 = make_axes_locatable(axs[0])\n",
    "cax = div.append_axes(\"top\", size=\"5%\", pad=0.05)\n",
    "cax0 = div0.append_axes(\"bottom\", size=\"5%\", pad=0.05)\n",
    "cax0.axis(\"off\")\n",
    "\n",
    "\n",
    "def animate(i):\n",
    "    im_g = axs[1].imshow(\n",
    "        gradients[i], interpolation=\"none\", vmin=np.min(gradients[i]), vmax=np.max(gradients[i])\n",
    "    )\n",
    "    axs[0].imshow(params[i], interpolation=\"none\", cmap=\"gray\", vmin=0, vmax=1)\n",
    "    axs[1].axis(\"off\")\n",
    "    axs[0].axis(\"off\")\n",
    "    cax.cla()\n",
    "    fig.colorbar(im_g, cax=cax, orientation=\"horizontal\").ax.xaxis.set_ticks_position(\"top\")\n",
    "\n",
    "    axs[0].set_title(f\"iteration {i}\")\n",
    "\n",
    "\n",
    "anim = animation.FuncAnimation(fig, animate, frames=100, blit=False, interval=500)\n",
    "anim.save(\"autograd_anim.mp4\", fps=2.0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Interestingly, the final quantum emitter light extractor resembles a nanocavity, even though we have considered only the coupling efficiency into the output waveguide in the optimization. We have DBR mirrors on both sides of the dipole. However, on the left side, the mirror has only a few periods and partially reflects the radiation, which couples to the output waveguide."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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MSkjIiIiIiIaICZlREREREREA8SkjIiIiIiIaICYlPXJd77zHZx44olIJBJYt24dnn322Vm3v/fee3HqqacikUjgzDPPxMMPP9xwv4jgpptuwqpVq5BMJrFhwwa8+uqrPX4VNJfHH38cF110EVavXg2lFB544IE5H7Nr1y6cc845cBwH733ve3HXXXfN2Kbdzw/1x/bt23HuuedieHgY73rXu7B582a88sorcz6O3+/F6Y477sDatWsnC8WuX78eP//5z2d9DGO9NHz961+HUgpbt26ddTvGe/G6+eaboZRq+Dv11FNnfQzjTbES6rkdO3aIbdvy/e9/X/7rv/5LPvOZz8jIyIgcOnSo6fZPPvmkGIYht9xyi+zdu1duuOEGsSxLXnrppcltvv71r0s2m5UHHnhA/vM//1M+/vGPy5o1a2RiYqKPr4yme/jhh+UrX/mK3HfffQJA7r///lm3/+1vfyupVEo+//nPy969e+Vb3/qWGIYhjzzyyOQ27X5+qH82btwod955p+zZs0d2794tH/vYx+T444+X8fHxlo/h93vxeuihh+RnP/uZ/M///I+88sor8uUvf1ksy5I9e/Y03Z6xXhqeffZZOfHEE2Xt2rVy7bXXttyO8V7ctm3bJqeffrr8/ve/n/x76623Wm7PeFPcmJT1wQc/+EHZsmXL5L9935fVq1fL9u3bm27/x3/8x7Jp06aG29atWydXX321iIgEQSCjo6PyjW98Y/L+sbExcRxHfvSjH/XsdVB75pOUffGLX5TTTz+94bZLLrlENm7cOPnvdj8/NDhvvvmmAJDHHnus5Tb8fi8tK1askH/5l39peh9jvfgVCgU56aSTZOfOnXL++efPmpQx3ovbtm3b5Kyzzpr39ow3xY3TF3usWq3i+eefx4YNGyZv01pjw4YNeOqpp5o+5qmnnmrYHgA2btw4uf3+/ftx8ODBhm2y2SzWrVvX8jlpYZor1p18fmhwcrkcAOCII45ouQ2/30uD7/vYsWMHisUi1q9f33Qbxnrx27JlCzZt2jQjjs0w3ovfq6++itWrV+Pd7343Lr30Urz++ustt2W8KW7moBuw1L399tvwfR8rV65suH3lypX47//+76aPOXjwYNPtDx48OHl/dFurbWhxaBXrfD6PiYkJHD58uO3PDw1GEATYunUrzjvvPJxxxhktt+P3e3F76aWXsH79epTLZQwNDeH+++/Haaed1nRbxnpx27FjB1544QX8x3/8x7y2Z7wXt3Xr1uGuu+7CKaecgt///vf467/+a3z4wx/Gnj17MDw8PGN7xpvixqSMiCgGW7ZswZ49e/DEE08MuinUQ6eccgp2796NXC6Hn/zkJ7jiiivw2GOPtUzMaHE6cOAArr32WuzcuROJRGLQzaE++KM/+qPJ/167di3WrVuHE044AT/+8Y9x1VVXDbRttDxw+mKPHXXUUTAMA4cOHWq4/dChQxgdHW36mNHR0Vm3j/6/neekhalVrDOZDJLJZEefH+q/a665Bj/96U/xi1/8Ascee+ys2/L7vbjZto33vve9eP/734/t27fjrLPOwje/+c2m2zLWi9fzzz+PN998E+eccw5M04Rpmnjsscdw++23wzRN+L4/4zGM99IyMjKCk08+Gb/5zW+a3s94U9yYlPWYbdt4//vfj0cffXTytiAI8Oijj7a8DmH9+vUN2wPAzp07J7dfs2YNRkdHG7bJ5/N45plnWj4nLUxzxbqTzw/1j4jgmmuuwf33349///d/x5o1a+Z8DL/fS0sQBKhUKk3vY6wXrwsuuAAvvfQSdu/ePfn3gQ98AJdeeil2794NwzBmPIbxXlrGx8exb98+rFq1qun9jDfFbtArjSwHO3bsEMdx5K677pK9e/fKZz/7WRkZGZGDBw+KiMhll10m119//eT2Tz75pJimKbfeequ8/PLLsm3btqbLrI6MjMiDDz4ov/71r+Xiiy/mMqsLQKFQkBdffFFefPFFASD/8A//IC+++KK89tprIiJy/fXXy2WXXTa5fbQk/he+8AV5+eWX5Tvf+U7TJfFn+/zQ4Hzuc5+TbDYru3btalhGuVQqTW7D7/fScf3118tjjz0m+/fvl1//+tdy/fXXi1JK/u3f/k2EsV7ypq++yHgvLX/1V38lu3btkv3798uTTz4pGzZskKOOOkrefPNNEcab+oBJWZ9861vfkuOPP15s25YPfvCD8vTTT0/ed/7558sVV1zRsP2Pf/xjOfnkk8W2bTn99NPlZz/7WcP9QRDIjTfeKCtXrhTHceSCCy6QV155pW+vh5r7xS9+IQBm/EXxveKKK+T888+f8Zizzz5bbNuWd7/73XLnnXfOeN7ZPj80OM1iDaAhhvx+Lx2f/vSn5YQTThDbtuXoo4+WCy64YDIhE8Z6yZuelDHeS8sll1wiq1atEtu25ZhjjpFLLrlEfvOb30zez3hTrykJOxZEREREREQ0ALymjIiIiIiIaICYlBEREREREQ0QkzIiIiIiIqIBYlJGREREREQ0QEzKiIiIiIiIBohJGRERERER0QAxKSMiIiIiIhogJmVEREREREQDxKSMiIh67l//9V9x4YUX9nw/jzzyCM4++2wEQdDzfREREcWFSRkREfVUuVzGjTfeiG3btvV8Xx/96EdhWRbuueeenu+LiIgoLkzKiIiop37yk58gk8ngvPPO68v+rrzyStx+++192RcREVEcmJQREdG8vPXWWxgdHcXf/u3fTt72q1/9CrZt49FHH235uB07duCiiy5quO0jH/kItm7d2nDb5s2bceWVV07++8QTT8TXvvY1XH755RgaGsIJJ5yAhx56CG+99RYuvvhiDA0NYe3atXjuuecanueiiy7Cc889h3379sXwqomIiHqPSRkREc3L0Ucfje9///u4+eab8dxzz6FQKOCyyy7DNddcgwsuuKDl45544gl84AMf6Gif//iP/4jzzjsPL774IjZt2oTLLrsMl19+OT75yU/ihRdewHve8x5cfvnlEJHJxxx//PFYuXIlfvnLX3a0TyIion5jUkZERPP2sY99DJ/5zGdw6aWX4s///M+RTqexffv2ltuPjY0hl8th9erVHe/v6quvxkknnYSbbroJ+Xwe5557Lj7xiU/g5JNPxnXXXYeXX34Zhw4danjc6tWr8dprr3W0TyIion5jUkZERG259dZb4Xke7r33Xtxzzz1wHKflthMTEwCARCLR0b7Wrl07+d8rV64EAJx55pkzbnvzzTcbHpdMJlEqlTraJxERUb8xKSMiorbs27cPb7zxBoIgwO9+97tZtz3yyCOhlMLhw4fnfF7f92fcZlnW5H8rpVreNn0J/HfeeQdHH330PF4NERHR4DEpIyKieatWq/jkJz+JSy65BF/96lfxZ3/2ZzNGqaaybRunnXYa9u7dO+O+6VMOf/vb38bSxnK5jH379uEP/uAPYnk+IiKiXmNSRkRE8/aVr3wFuVwOt99+O6677jqcfPLJ+PSnPz3rYzZu3Ignnnhixu0PPvgg7rvvPuzbtw9/8zd/g7179+K1117D//3f/3XVxqeffhqO42D9+vVdPQ8REVG/MCkjIqJ52bVrF2677TbcfffdyGQy0Frj7rvvxi9/+UvccccdLR931VVX4eGHH0Yul2u4fdOmTbjllltw2mmn4fHHH8d3v/tdPPvss7j77ru7auePfvQjXHrppUilUl09DxERUb8ombqOMBERUQ984hOfwDnnnIMvfelLQK1O2dlnn43bbrst1v28/fbbOOWUU/Dcc89hzZo1sT43ERFRr3CkjIiIeu4b3/gGhoaGer6f3/3ud/jud7/LhIyIiBYVjpQREVHf9WqkjIiIaDFiUkZERERERDRAnL5IREREREQ0QEzKiIiIiIiIBohJGRERERER0QAxKSMiIiIiIhogJmVEREREREQDxKSMiIiIiIhogJiUERERERERDRCTMiIiIiIiogH6/wGSzlaDgXkabgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1000x400 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# here, removing substrate improved performance, but also blue-shifted cavity resonance a bit.\n",
    "\n",
    "fig, ax = plt.subplots(1, figsize=(10, 4))\n",
    "# Substrate layer.\n",
    "substrate = td.Structure(\n",
    "    geometry=td.Box.from_bounds(\n",
    "        rmin=(-eff_inf, -eff_inf, -eff_inf), rmax=(eff_inf, eff_inf, -wg_thick / 2)\n",
    "    ),\n",
    "    medium=td.Medium(permittivity=1.0),\n",
    ")\n",
    "sim_final = make_adjoint_sim(params2, beta=final_beta, unfold=True)\n",
    "sim_final = sim_final.updated_copy(monitors=[field_monitor_xy, mode_monitor] + field_monitor)\n",
    "sim_final.plot_eps(\n",
    "    z=0,\n",
    "    source_alpha=0,\n",
    "    monitor_alpha=0,\n",
    "    ax=ax,\n",
    ")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To better understand the resultant design, let's simulate the final structure to obtain its spectral response and field distribution."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">18:56:12 CEST </span>Created task <span style=\"color: #008000; text-decoration-color: #008000\">'final QE light extractor'</span> with task_id              \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span><span style=\"color: #008000; text-decoration-color: #008000\">'fdve-7b5a7f2b-9dda-46bc-8519-0af1e82273c8'</span> and task_type <span style=\"color: #008000; text-decoration-color: #008000\">'FDTD'</span>. \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m18:56:12 CEST\u001b[0m\u001b[2;36m \u001b[0mCreated task \u001b[32m'final QE light extractor'\u001b[0m with task_id              \n",
       "\u001b[2;36m              \u001b[0m\u001b[32m'fdve-7b5a7f2b-9dda-46bc-8519-0af1e82273c8'\u001b[0m and task_type \u001b[32m'FDTD'\u001b[0m. \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span>View task using web UI at                                         \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span><a href=\"https://tidy3d.simulation.cloud/workbench?taskId=fdve-7b5a7f2b-9dda-46bc-8519-0af1e82273c8\" target=\"_blank\"><span style=\"color: #008000; text-decoration-color: #008000\">'https://tidy3d.simulation.cloud/workbench?taskId=fdve-7b5a7f2b-9d</span></a>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span><a href=\"https://tidy3d.simulation.cloud/workbench?taskId=fdve-7b5a7f2b-9dda-46bc-8519-0af1e82273c8\" target=\"_blank\"><span style=\"color: #008000; text-decoration-color: #008000\">da-46bc-8519-0af1e82273c8'</span></a>.                                       \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m             \u001b[0m\u001b[2;36m \u001b[0mView task using web UI at                                         \n",
       "\u001b[2;36m              \u001b[0m\u001b]8;id=23040;https://tidy3d.simulation.cloud/workbench?taskId=fdve-7b5a7f2b-9dda-46bc-8519-0af1e82273c8\u001b\\\u001b[32m'https://tidy3d.simulation.cloud/workbench?\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=544309;https://tidy3d.simulation.cloud/workbench?taskId=fdve-7b5a7f2b-9dda-46bc-8519-0af1e82273c8\u001b\\\u001b[32mtaskId\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=23040;https://tidy3d.simulation.cloud/workbench?taskId=fdve-7b5a7f2b-9dda-46bc-8519-0af1e82273c8\u001b\\\u001b[32m=\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=299999;https://tidy3d.simulation.cloud/workbench?taskId=fdve-7b5a7f2b-9dda-46bc-8519-0af1e82273c8\u001b\\\u001b[32mfdve\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=23040;https://tidy3d.simulation.cloud/workbench?taskId=fdve-7b5a7f2b-9dda-46bc-8519-0af1e82273c8\u001b\\\u001b[32m-7b5a7f2b-9d\u001b[0m\u001b]8;;\u001b\\\n",
       "\u001b[2;36m              \u001b[0m\u001b]8;id=23040;https://tidy3d.simulation.cloud/workbench?taskId=fdve-7b5a7f2b-9dda-46bc-8519-0af1e82273c8\u001b\\\u001b[32mda-46bc-8519-0af1e82273c8'\u001b[0m\u001b]8;;\u001b\\.                                       \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span>Task folder: <a href=\"https://tidy3d.simulation.cloud/folders/folder-7a0ee478-ee62-43e0-9a9e-26a06b299b0a\" target=\"_blank\"><span style=\"color: #008000; text-decoration-color: #008000\">'default'</span></a>.                                           \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m             \u001b[0m\u001b[2;36m \u001b[0mTask folder: \u001b]8;id=921760;https://tidy3d.simulation.cloud/folders/folder-7a0ee478-ee62-43e0-9a9e-26a06b299b0a\u001b\\\u001b[32m'default'\u001b[0m\u001b]8;;\u001b\\.                                           \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b3d3d7a309ad4e2791a3d05d6738f3d0",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">18:56:14 CEST </span>Maximum FlexCredit cost: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.058</span>. Minimum cost depends on task      \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span>execution details. Use <span style=\"color: #008000; text-decoration-color: #008000\">'web.real_cost(task_id)'</span> to get the billed \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span>FlexCredit cost after a simulation run.                           \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m18:56:14 CEST\u001b[0m\u001b[2;36m \u001b[0mMaximum FlexCredit cost: \u001b[1;36m0.058\u001b[0m. Minimum cost depends on task      \n",
       "\u001b[2;36m              \u001b[0mexecution details. Use \u001b[32m'web.real_cost\u001b[0m\u001b[32m(\u001b[0m\u001b[32mtask_id\u001b[0m\u001b[32m)\u001b[0m\u001b[32m'\u001b[0m to get the billed \n",
       "\u001b[2;36m              \u001b[0mFlexCredit cost after a simulation run.                           \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">18:56:15 CEST </span>status = queued                                                   \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m18:56:15 CEST\u001b[0m\u001b[2;36m \u001b[0mstatus = queued                                                   \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span>To cancel the simulation, use <span style=\"color: #008000; text-decoration-color: #008000\">'web.abort(task_id)'</span> or             \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span><span style=\"color: #008000; text-decoration-color: #008000\">'web.delete(task_id)'</span> or abort/delete the task in the web UI.     \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span>Terminating the Python script will not stop the job running on the\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span>cloud.                                                            \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m             \u001b[0m\u001b[2;36m \u001b[0mTo cancel the simulation, use \u001b[32m'web.abort\u001b[0m\u001b[32m(\u001b[0m\u001b[32mtask_id\u001b[0m\u001b[32m)\u001b[0m\u001b[32m'\u001b[0m or             \n",
       "\u001b[2;36m              \u001b[0m\u001b[32m'web.delete\u001b[0m\u001b[32m(\u001b[0m\u001b[32mtask_id\u001b[0m\u001b[32m)\u001b[0m\u001b[32m'\u001b[0m or abort/delete the task in the web UI.     \n",
       "\u001b[2;36m              \u001b[0mTerminating the Python script will not stop the job running on the\n",
       "\u001b[2;36m              \u001b[0mcloud.                                                            \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3d804bdcb7884023906343b31b9dd43d",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">18:56:27 CEST </span>starting up solver                                                \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m18:56:27 CEST\u001b[0m\u001b[2;36m \u001b[0mstarting up solver                                                \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span>running solver                                                    \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m             \u001b[0m\u001b[2;36m \u001b[0mrunning solver                                                    \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "09b2e79cd92544048b6225d71fae2339",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">18:56:36 CEST </span>early shutoff detected at <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">24</span>%, exiting.                           \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m18:56:36 CEST\u001b[0m\u001b[2;36m \u001b[0mearly shutoff detected at \u001b[1;36m24\u001b[0m%, exiting.                           \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span>status = postprocess                                              \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m             \u001b[0m\u001b[2;36m \u001b[0mstatus = postprocess                                              \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e426cd989c1145338324a6cbac0798c3",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">18:56:41 CEST </span>status = success                                                  \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m18:56:41 CEST\u001b[0m\u001b[2;36m \u001b[0mstatus = success                                                  \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">18:56:43 CEST </span>View simulation result at                                         \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span><a href=\"https://tidy3d.simulation.cloud/workbench?taskId=fdve-7b5a7f2b-9dda-46bc-8519-0af1e82273c8\" target=\"_blank\"><span style=\"color: #000080; text-decoration-color: #000080; text-decoration: underline\">'https://tidy3d.simulation.cloud/workbench?taskId=fdve-7b5a7f2b-9d</span></a>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">              </span><a href=\"https://tidy3d.simulation.cloud/workbench?taskId=fdve-7b5a7f2b-9dda-46bc-8519-0af1e82273c8\" target=\"_blank\"><span style=\"color: #000080; text-decoration-color: #000080; text-decoration: underline\">da-46bc-8519-0af1e82273c8'</span></a><span style=\"color: #000080; text-decoration-color: #000080; text-decoration: underline\">.</span>                                       \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m18:56:43 CEST\u001b[0m\u001b[2;36m \u001b[0mView simulation result at                                         \n",
       "\u001b[2;36m              \u001b[0m\u001b]8;id=743023;https://tidy3d.simulation.cloud/workbench?taskId=fdve-7b5a7f2b-9dda-46bc-8519-0af1e82273c8\u001b\\\u001b[4;34m'https://tidy3d.simulation.cloud/workbench?\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=674217;https://tidy3d.simulation.cloud/workbench?taskId=fdve-7b5a7f2b-9dda-46bc-8519-0af1e82273c8\u001b\\\u001b[4;34mtaskId\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=743023;https://tidy3d.simulation.cloud/workbench?taskId=fdve-7b5a7f2b-9dda-46bc-8519-0af1e82273c8\u001b\\\u001b[4;34m=\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=219970;https://tidy3d.simulation.cloud/workbench?taskId=fdve-7b5a7f2b-9dda-46bc-8519-0af1e82273c8\u001b\\\u001b[4;34mfdve\u001b[0m\u001b]8;;\u001b\\\u001b]8;id=743023;https://tidy3d.simulation.cloud/workbench?taskId=fdve-7b5a7f2b-9dda-46bc-8519-0af1e82273c8\u001b\\\u001b[4;34m-7b5a7f2b-9d\u001b[0m\u001b]8;;\u001b\\\n",
       "\u001b[2;36m              \u001b[0m\u001b]8;id=743023;https://tidy3d.simulation.cloud/workbench?taskId=fdve-7b5a7f2b-9dda-46bc-8519-0af1e82273c8\u001b\\\u001b[4;34mda-46bc-8519-0af1e82273c8'\u001b[0m\u001b]8;;\u001b\\\u001b[4;34m.\u001b[0m                                       \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9e7841a669864a0aaebce616050c7d9e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">18:56:47 CEST </span>loading simulation from simulation_data.hdf5                      \n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m18:56:47 CEST\u001b[0m\u001b[2;36m \u001b[0mloading simulation from simulation_data.hdf5                      \n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sim_data_final = web.run(sim_final, task_name=\"final QE light extractor\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this cavity-like system, the extraction efficiency of photons from the QE into the collection waveguide mode is proportional to $\\beta\\times C_{wg}$, where the $\\beta$-factor quantifies the fraction of the QE spontaneous emission emitted in the cavity mode, and $C_{wg}$ is the fraction of the cavity photons coupled to the guided mode `A. Enderlin, Y. Ota, R. Ohta, N. Kumagai, S. Ishida, S. Iwamoto, and Y. Arakawa, \"High guided mode–cavity mode coupling for an efficient extraction of spontaneous emission of a single quantum dot embedded in a photonic crystal nanobeam cavity,\" Phys. Rev. B 86, 075314 (2012)` [DOI: 10.1103/PhysRevB.86.075314](https://link.aps.org/doi/10.1103/PhysRevB.86.075314). By the field distribution image below, we can see a cavity mode resonance, which should increase the Purcell factor at the QE position, thus contributing to a higher $\\beta$-factor. At the same time, the partial reflection mirror at the left side was potentially optimized to adjust $C_{wg}$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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saKjo8OIY0gQBBGJffv24bnnnsO+ffuM7d133HEHVq1aheeeew4PPPAABg4ciLfffhtXXnklfvSjH8Hv92PKlCn4xz/+0d3N7/l0t9tJgiBOLfbu3atfd911elFRke52u/VBgwbpt956q+7xeHRdcc9v5cJf5+74R4wYoTudTr2kpES/5ZZb9OPHjxuf7969W7/hhhv0wYMH62lpaXqvXr30888/X3/33XeNPKtXr9YvueQSvby8XHe5XHp5ebl+zTXX6F9//XXEtsd6nNfr1R988EF91KhRutvt1vPz8/UJEybo9957r97Q0GDK++yzz+rjx4838p133nn6O++8Y3xeU1Ojz5gxQ8/OztYBGK76g93zC1555RWjvF69euk/+MEP9AMHDpjyzJo1S8/MzAzpn3DtHo2PP/5YP+uss/T09HS9vLxcv/POO/W33norpD3Nzc3697//fT0vL08HENFV/3nnnRfW1b7qfj5R/H6//sADD+j9+/fXXS6XPmrUKP3//b//F5JPhC6oqqoypR87dky/8cYb9YKCAj0jI0M/77zzwl6jb7zxhj5u3Djd7Xbrffr00e+66y7d6/XG1M7XX39d1zTN5OJfuOd/4IEH9IqKCt3tdusDBw7U//rXv+q//vWv9YyMDP3ee+/VdeUcBoeQCHfOzzvvPH3UqFGmtH/+8586AH3Hjh0xtZkgiFMHAPobb7xhvBchYDIzM00Ph8OhX3nllbqu63p1dbU+dOhQ/Re/+IW+YcMG/YMPPtDPO+88/cILLzSFoyFC0fTO2DNBEARBEETc+P1+jBw5EldeeSXuu+8+AMCePXswcOBAPPfcc7j++us7vQ0zZ86EpmnG1kqCIAiBuDfMnDkTAPDKK6/gBz/4ATZv3hzisCgrKwulpaW4++67sWrVKnz22WfGZwcOHEDfvn2xbt06nHXWWV3ejxMF2vpIEARBED0Eu92ORYsW4ZZbbsEvf/lLZGVldWn9W7duxd///nd8+eWXXVovQRAnJuPHj4ff78fhw4dx7rnnWuZpbW0NiRcqJnXJego+2SFnIgRBEATRg7jqqqtw7NixLp+kAcBpp50Gn88Xc7xDgiBOfpqbm/Hll18aCzhVVVX48ssvsW/fPgwbNgw/+MEPcN111+H1119HVVUVPv30UyxevBgrV64EAMyYMQOfffYZFi1ahB07dmDDhg2YPXs2+vfvj/Hjx3dz73o2NFEjCIIgCIIgCMKSzz//HOPHjzcmVfPmzcP48eOxYMECAMBzzz2H6667Dj//+c8xfPhwzJw5E5999hn69esHALjgggvw0ksvYcWKFRg/fjymTZsGt9uNVatWJRUz9VSAbNQIgiAIgiAIgiB6GKSoEQRBEARBEARB9DBookYQBEEQBEEQBNHDIK+PMRIIBHDo0CFkZ2dD07Tubg5BEARBEATRg9F1HU1NTSgvLw/xekgQsUATtRg5dOgQ+vbt293NIAiCIAiCIE4g9u/fjz59+nR3M7qNd955B1deeRnee28teXmME3ImEiMNDQ3Iy8vju0VJUSMIgiAIgiAioQMIoL6+Hrm5ud3dmG7B7/djwoThaGlpR7/+JXj3nc9pZ1ockKIWI/Ki0miiRhAEQRAEQcTEqTwxeeGF36ChoQUf/2spRp8+G6tWrcL06dO7u1knDLRhliAIgiAIgiCIlNLW1oYFC57F/fffhJKSXvjNXT/EnXfeCr/f391NO2GgiRpBEARBEARBECnl0SX/hZKSfFx51fkAgFtuuQStrR4899z87m7aCQNN1AiCIAiCIAiCSBlHjhzBg797CQ8+dIvh8dLlcuL++2/EwoXPoaWlpbubeEJAEzWCIAiCIAiCIFLGokU/wrnnjsHUqeNM6VdceT569ynEHx75Wbe17USix03U1q5di4svvhjl5eXQNA0rVqyIesyaNWtwxhlnwO12Y8iQIVi+fHlInqVLl2LAgAFIS0vD5MmT8emnn3ZSDwiCIAiCIAji1GTHjh14+umVWPy7m0M+0zQNDz10Cx5+6C+ora3tlvadSPS4iVpLSwvGjh2LpUuXxpS/qqoKM2bMwPnnn48vv/wSt912G2666Sa89dZbRp5XXnkF8+bNw8KFC7FhwwaMHTsWlZWVOHz4cCf2hCAIgiAIgiBOLX71q5tw7bXfwsiRAyw/P/fcMbjggjNwzz2hEznCTI+Oo6ZpGt544w3MnDkzbJ5f/vKXWLlyJTZt2mSkXX311aivr8eqVasAAJMnT8bEiRPx+OOPAwACgQD69u2Ln/70p/jVr34VU1saGxt5DAw7uecnCIIgCIIgoqAD8KOhoQE5OTnd3ZguYd26dfjWty7Atu3/D2VlBWHzbdu2DxPOuAn/+c9GDB8+vEvbeCLR4xS1eFm3bh0qKipMaZWVlVi3bh0AwOv1Yv369aY8NpsNFRUVRh4rPB4PGhsbTQ+CIAiCIAiCIELRdR0/v2MO5v38qoiTNAAYMaIfrr9+On75y5u6rH0nIif8RK2mpgYlJSWmtJKSEjQ2NqKtrQ11dXXw+/2WeWpqasKWu3jxYuTm5hqPvn37dlofCIIgCIIgCOJE5o033sDuXYfw859fFVP+BQtnYfXq9fjwww87vW0nKif8RK2zmD9/PhoaGozH/v37u7tJBEEQBEEQBNHj6OjowK9+9V9YuPB6ZGWlx3RMSUkv3PGLq3HHL36EHmyJ1a2c8BO10tLSEK8xtbW1yMnJQXp6OgoLC2G32y3zlJaWhi3X7XYjJyfH9CAIgiAIgiAIwsyTy+6Aw2HHDTfOiOu422+/Avv3HcZrr73WaW07kTnhJ2pTpkzB6tWrTWnvvPMOpkyZAgBwuVyYMGGCKU8gEMDq1auNPARBEARBEARBJMaqf36COTd/Bw6HPa7jMjPTcf3s6Vi58tlOa9uJjKO7GxBMc3Mzdu7cabyvqqrCl19+iV69eqFfv36YP38+Dh48iBdeeAEA8OMf/xiPP/447rzzTtxwww1477338Oqrr2LlypVGGfPmzcOsWbNw5plnYtKkSViyZAlaWlowe/bsbukjQRAEQRAEQZwsaFoB3E4nEAjEfazb5YCmhd/ldirT4yZqn3/+Oc4//3zj/bx58wAAs2bNwvLly1FdXY19+/YZnw8cOBArV67E7bffjsceewx9+vTB008/jcrKSiPPVVddhSNHjmDBggWoqanBuHHjsGrVqhAHIwRBEARBEARBJIAeSGiiBrJPC0uPm6hNnTo1okHh8uXLLY/54osvIpY7d+5czJ07NyVtJAiCIAiCIAhCQdeTmKhRjGIretxEjSAIgiAIgiCIEww9QXWMJmphOeGdiRAEQRAEQRAEQZxskKJGEARBEARBEERykI1ayqGJGkEQBEEQBEEQyZGUjRphBU3UCIIgCIIgCIJIDpqopRyaqBEEQRAEQRAEkRw0UUs5NFEjCIIgCIIgCCI5AjRRSzU0USMIgiAIgiAIIkkC0PT4J2oaaKIWDpqoEQRBEARBEASRHLT1MeVQHDWCIAiCIAiCIJIjILY/xvuIr5q1a9fi4osvRnl5OTRNw4oVKyLmv/7666FpWshj1KhRRp577rkn5PMRI0YkOhIpgyZqBEEQBEEQBEEkh4ijFu8jTkWtpaUFY8eOxdKlS2PK/9hjj6G6utp47N+/H7169cIVV1xhyjdq1ChTvo8++iiudnUGtPWRIAiCIAiCIIjk6KKtj9OnT8f06dNjzp+bm4vc3Fzj/YoVK3D8+HHMnj3blM/hcKC0tDSutnQ2pKgRBEEQBEEQBJEcus5UtXgfXexM5JlnnkFFRQX69+9vSt+xYwfKy8sxaNAg/OAHP8C+ffu6tF1WkKJGEARBEARBEERyJKGo+f1+NDY2mpLdbjfcbnfq2gfg0KFD+Oc//4mXXnrJlD558mQsX74cw4cPR3V1Ne69916ce+652LRpE7Kzs1PahnggRY0gCIIgCIIgiG5j48aNxhZF8Vi8eHHK63n++eeRl5eHmTNnmtKnT5+OK664AmPGjEFlZSX+8Y9/oL6+Hq+++mrK2xAPpKgRBEEQBEEQBJEcOvfimMBxo0ePxtq1a03JqVbTdF3Hs88+ix/+8IdwuVwR8+bl5WHYsGHYuXNnStsQL6SoEQRBEARBEASRHGLrYwJeH+12O3JyckyPVE/UPvjgA+zcuRM33nhj1LzNzc3YtWsXysrKUtqGeCFFjSAIgiAIgiCI5Ogir4/Nzc0mpauqqgpffvklevXqhX79+mH+/Pk4ePAgXnjhBdNxzzzzDCZPnozTTz89pMw77rgDF198Mfr3749Dhw5h4cKFsNvtuOaaa+LvTwqhiRpBEARBEARBEEmh6Tq0Lpioff755zj//PON9/PmzQMAzJo1C8uXL0d1dXWIx8aGhgb87W9/w2OPPWZZ5oEDB3DNNdfg6NGjKCoqwjnnnIN///vfKCoqir8/KYQmagRBEARBEARBJIeuxz3pYsfFl33q1KnQI9SzfPnykLTc3Fy0traGPebll1+OrxFdBE3UCIIgCIIgCIJIji7a+ngqQRM1giAIgiAIgiCSgyZqKYcmagRBEARBEARBJEcgcff8hDU0USMIgiAIgiAIIjlIUUs5PTKO2tKlSzFgwACkpaVh8uTJ+PTTT8PmnTp1KjRNC3nMmDHDyHP99deHfD5t2rQu6g1BEARBEARBnOQkEUeNsKbHKWqvvPIK5s2bh2XLlmHy5MlYsmQJKisrsX37dhQXF4fkf/311+H1eo33R48exdixY3HFFVeY8k2bNg3PPfec8T7VQfQIgiAIgiAI4pQlUa+PRFh6nKL2yCOPYM6cOZg9ezZGjhyJZcuWISMjA88++6xl/l69eqG0tNR4vPPOO8jIyAiZqLndblO+/Pz8LuoRQRAEQRAEQZzkkKKWcnrURM3r9WL9+vWoqKgw0mw2GyoqKrBu3bqYynjmmWdw9dVXIzMz05S+Zs0aFBcXY/jw4bjllltw9OjRlLefIAiCIAiCIAgiFfSorY91dXXw+/0oKSkxpZeUlGDbtm1Rj//000+xadMmPPPMM6b0adOm4bLLLsPAgQOxa9cu/PrXv8b06dOxbt062O12y7I8Hg88Ho/xvrGxMeF+EQRBEARBEMRJjU5eH1NNj5qoJcszzzyD0aNHY9KkSab0q6++2ng9evRojBkzBoMHD8aaNWtw4YUXWpa1ePFi3HvvvZ3eZoIgCIIgCII44SGvjymnR219LCwshN1uR21trSm9trYWpaWlEY9taWnByy+/jBtvvDFqPYMGDUJhYSF27twZNs/8+fPR0NBgPPbv3x9HTwiCIAiCIAjiFIJs1FJOj5qouVwuTJgwAatXrzbSAoEAVq9ejSlTpkQ89rXXXoPH48G1114btZ4DBw7g6NGjKCsrC5vH7XYjJyfH9CAIgiAIgiAIwgJdCXodz4MmamHpURM1AJg3bx6eeuopPP/889i6dStuueUWtLS0YPbs2QCA6667DvPnzw857plnnsHMmTNRUFBgSm9ubsYvfvEL/Pvf/8aePXuwevVqXHLJJRgyZAgqKyu7rF8EQRAEQRAEcdKiBxJ80EQtHD3ORu2qq67CkSNHsGDBAtTU1GDcuHFYtWqV4WBk3759sNnM88vt27fjo48+wttvvx1Snt1ux1dffYXnn38e9fX1KC8vx0UXXYT77ruPYqkRBEEQBEEQRCoQiloixxGW9LiJGgDMnTsXc+fOtfxszZo1IWnDhw+HHmY2np6ejrfeeivlbSQIgiAIgiAIgkPORFJOj5yoEQRBEARBEARxAhEg9/yphiZqBEEQBEEQBEEkRzKKmtYZDTrxoYkaQRAEQRAEQRDJkXDAa9BELQw0USMIgiAIgiAIIjl0nXlxTOQ4whKaqBEEQRAEQRAEkRwJK2o0UQsHTdQIgiAIgiAIgkgOcs+fcnpcwGuCIAiCIAiCIIhTHVLUCIIgTmC0FFhg67ScSRAEQSQLxVFLOTRRIwiCIAiCIAgiOchGLeXQRI0gCOIEIBXKWaxlk8JGEARBxE3CAa87ozEnBzRRIwiCIAiCIAgiOWjrY8ohZyIEQRA9GI3/O9nrJAiCIE4CdD3+R5yS2tq1a3HxxRejvLwcmqZhxYoVEfOvWbMGmqaFPGpqakz5li5digEDBiAtLQ2TJ0/Gp59+mtAQpBKaqBEEQRAEQRAEkRxi62O8jzgFtZaWFowdOxZLly6N67jt27ejurraeBQXFxufvfLKK5g3bx4WLlyIDRs2YOzYsaisrMThw4fja1yKoa2PBEEQPZCeoGiR7RpBEAQRM13kTGT69OmYPn163NUUFxcjLy/P8rNHHnkEc+bMwezZswEAy5Ytw8qVK/Hss8/iV7/6Vdx1pQpS1AiCIAiCIAiCSA5hoxbvo4ts1MaNG4eysjJ861vfwscff2yke71erF+/HhUVFUaazWZDRUUF1q1b1yVtCwcpagRBED2EmFQ0LYVKW5w/jmr7SF0jCIIgTOhI2Ouj3+9HY2OjKdntdsPtdifdrLKyMixbtgxnnnkmPB4Pnn76aUydOhWffPIJzjjjDNTV1cHv96OkpMR0XElJCbZt25Z0/clAEzWCIAiCIAiCIJIjia2PGzduRG5uril54cKFuOeee5Ju1vDhwzF8+HDj/dlnn41du3bh0UcfxZ///Oeky+9MaKJGEMQpQTw2X12tFkVsW9wKmtjRHoOL5OCyyUUyQRAEkShJKGqjR4/G2rVrTcmpUNPCMWnSJHz00UcAgMLCQtjtdtTW1pry1NbWorS0tNPaEAtko0YQBEEQBEEQRFLoAT2hB3QddrsdOTk5pkdnTtS+/PJLlJWVAQBcLhcmTJiA1atXG58HAgGsXr0aU6ZM6bQ2xAIpagRBEARBEARBnBA0Nzdj586dxvuqqip8+eWX6NWrF/r164f58+fj4MGDeOGFFwAAS5YswcCBAzFq1Ci0t7fj6aefxnvvvYe3337bKGPevHmYNWsWzjzzTEyaNAlLlixBS0uL4QWyu6CJGkEQJx3Jura3Or7LnWeE3fIY60aIWPIFbY8UdcawBVKMETkVIQiCIBh6Ylvo4zzk888/x/nnn2+8nzdvHgBg1qxZWL58Oaqrq7Fv3z7jc6/Xi5///Oc4ePAgMjIyMGbMGLz77rumMq666iocOXIECxYsQE1NDcaNG4dVq1aFOBjpajRdJ6OEWGhsbORGjnagB8Q3IggiPJ0Rg6wzJySW7U16ohYLYezY4vhZoIkaQRBEOHQAfjQ0NCAnJ6e7G9OpzJgxAzPymvHjb46K+9j7V36O3b1GYvny5Z3SthMZUtQIgjhpSJlTDouJSqpVttgnZ+aJWSomobLdwZO+gHU7IkzcSFkjCIIgAO5IJEFnIoQ1NFEjCIIgCIIgCCI5Evb6SDO1cPRIr49Lly7FgAEDkJaWhsmTJ+PTTz8Nm3f58uXQNM30SEtLM+XRdR0LFixAWVkZ0tPTUVFRgR07dnRBTwiC6Gw05Z91Bo0rRLbYH+IY9RGl7ohtsDgm1jaGlK/Zgh6OMI/gfPIRvs22nvqzQBAEQfR0RBy1eB80TwtLj/tFfuWVVzBv3jwsXLgQGzZswNixY1FZWYnDhw+HPSYnJwfV1dXGY+/evabPH3roIfzxj3/EsmXL8MknnyAzMxOVlZVob2/vgh4RBEEQBEEQxEmOnph7fnKXEZ4eN1F75JFHMGfOHMyePRsjR47EsmXLkJGRgWeffTbsMZqmobS01HioHlp0XceSJUtw11134ZJLLsGYMWPwwgsv4NChQ1ixYkUX9YogiFQSs4qmadBgZw9NfThDH6YyLZSlJFQ2y/aayrFWz8wKGlPKtJCHjT9EX8R7mSdUMeSPoDZLgvofob/hyzj5iPncEgRBnIroIEUtxfSoiZrX68X69etRUVFhpNlsNlRUVGDdunVhj2tubkb//v3Rt29fXHLJJdi8ebPxWVVVFWpqakxl5ubmYvLkyRHLJAiCIAiCIAgiRhKZpAUSdOl/itCjnInU1dXB7/eHxCwoKSnBtm3bLI8ZPnw4nn32WYwZMwYNDQ34/e9/j7PPPhubN29Gnz59UFNTY5QRXKb4zAqPxwOPx2O8b2xsTLJ3BEGkimgeBjX1Yxu7zTnsmSH5fP4mWabuS7juuNQUS2UqwMu2qlCk+k1vw6uJEdbfdGt3/KF9CuO2PwKxen08kb1EBrc5+BycyH0jCIJImoSdiXRGY04OetRELRGmTJmCKVOmGO/PPvtsnHbaafif//kf3HfffQmXu3jxYtx7770paiVBAGeccUZ3NyEiYo/4tm1bjbS2trZOr9dutxuvhwwZYrzOzMyKuyydT0R2fC2dBbW2dQAAAnqHkabxyVKfPuVGWlFhfmx1WKTFtektnjABQNiNDxG3fYYjzKplzBO1CKueoZ+wlK1b2SJbW1trUL74f5nLy8tN70tLy+IuIxUEAmzSvPGrjQAAfyB4vKL37bTTTgMApKdndEILiZ5IR4e8B23c+FVKyjzjjAlJl7Fhw4aUtIUgEg94TTO1cPSorY+FhYWw2+2ora01pdfW1qK0tDSmMpxOJ8aPH4+dO3cCgHFcvGXOnz8fDQ0NxmP//v0J9IggiO5AV/7BeGjyoQcAPQBdfYQ5KvhhXV/seaHrcT78lg9d97EH/OZHcL/C9lHtbSDoEabNEfoez9mh5VOCIIiTD103fl7jetBPQnh61ETN5XJhwoQJWL16tZEWCASwevVqk2oWCb/fj40bN6KsjK20Dhw4EKWlpaYyGxsb8cknn0Qs0+12Iycnx/QgCIIgCIIgCMKChG3UurvhPZcet/Vx3rx5mDVrFs4880xMmjQJS5YsQUtLC2bPng0AuO6669C7d28sXrwYALBo0SKcddZZGDJkCOrr6/Hwww9j7969uOmmmwC+xem2227D/fffj6FDh2LgwIG4++67UV5ejpkzZ3ZrXwmC6ErUTXdd86sQqZa4fQSG3dKYyHpb/FsbQ7ImUCtBEARBELHT4yZqV111FY4cOYIFCxagpqYG48aNw6pVqwxnIPv27YPNJv8wOX78OObMmYOamhrk5+djwoQJ+Ne//oWRI0caee688060tLTg5ptvRn19Pc455xysWrUqJDA2QRAEQRAEQRAJkLAzEVr6C0ePm6gBwNy5czF37lzLz9asWWN6/+ijj+LRRx+NWJ6maVi0aBEWLVqU0nYSxMkFu1EGErnJ9jDUPggHI7ruD0mrrz9upBUqzkS0uB1+xI86yhFrC2lL5ytoqbwCsrKYt81QxzTx19Lc3BymjK6NYSY8AgcScCIi8Pli8zKaeqK1keLBdRZ2e4+yNiGI1KOHdS4c+bAT/8+OTqNHTtQIgiAIgiAIgjiB0HVyz59iaKJGEASguOf3+7t2pV9XltL8/gSW4izw+1X1TCiFXiUHq6e5ud1I2bdPenbt378ffxWqLkTTG1L2e2MoaeZV+HBu+WNysR+0bNm5v42sncKl/rFjxwDTOVb7EVtLmpqaTO+9XnZOXS53CtobHSP8ww4W/iGZUANCHczO7nxHVaoSefjwYUDpCwAUFRUZr6XjLFLWUo1qtuF0Oo3Xqtv++IlZmyeIzkdPKAwnTdQiQBM1giAIgiAIgiCSgrnbJxu1VEITNYIgAADt7UxdUtWorkBV1Do6vBHzRoetKIuAxGaUZT5ep/rTcOzoUeO1CM48bOgwI00NzB29BQgpP7aD1aNjU9JCCa+kdcdPod3OfmaGDx8OANi6davaJE5w38LYzgX9mAtla+TIUayUTrYt3L17N5Ai+zKhDpaVdYadHSuzsbERAIy4ouFoaGgwXovQNmVl5RGOSK5dBw8eMlLa26XtotPpAgAUFhYYaRkZmZ3QjvBtUy8xeTml6tzIcnr37m283rNnT8IlClUZXagsE0RYSFFLOTRRIwiCIAiCIAgieWjSlVJookYQPZ6uWOkFqqureT1de5dVq2ttbTVeFxRY54+EGBdzH4TXR6sj5NKf+nFrK1vl37Rpk5E2ZuwYVkcX24GE1Cc7GflAPRkLqtQjwqH07cvs//bt26t8GjymsSlswvtidTVTaMrLe1vmSxah9KrKU7KItqcScd1XVVUBQV5NY0XcB1KlqKm2cELZC7Y1DKau7ojxety4cQAAmy02RTseWltbjNdC1VIVKmFTVlxcYqSVlpampO7c3NyUlLN3r/weDR06lL8iWzWimwjoCW197Oq/O04kaKJGEARBEARBEERy0NbHlEMTNYIgCIIgCIIgkkJPMI4aTdTCQxM1guhRsLuV2HoHAPv37wOCAgYLxxZ5eXlGWkmJ3J7jcrn4K6stMKo7fOl0Qzge6Hpke0IDGncWsf2S+JTxqT9eDwDIz5eBsUODUZu3HIpPrX6D4t6cFKujjDi2kIgSReDm4/Wsj+I85HJX7cY2raScdbBjC/ie1traGuMTjyeaE5lIIwnU1tYCQd8B4cQkFYjtgKkktVt9WFliy2AiWx7DlclI5LwLxyEHjZRoWx6tENs4Bw8enGR7Qtm+fbvx2up8iO/FoUOyDyUlxawFWnLBq1XnRGKLZWgA9eg0Ncl7puhDZzvVIYiwkKKWcmiiRhAEQRAEQRBEUiSqqJGJWnhookYQ3YzqSn73brZ63NgY2WmBWHk9cqTOSKtTXjtdLJhq7959lKPYnVBVrVTnCD3BmNfsYCFxt+XWK8rx/HrYeM2ynH372Kq63SFvmzI4sKly+VqscMdRc1jCnB8Z6DoQlB4e0R7hZn7LVqYs+Dq423neh6NHmcLmcrI+jxx1miwjwVV7cZzq+GMPV00SvQLFtXv06DEjrbi4OMHSjFKNV6qTm1SRrCJjxTGj/7E5Y4mEej9I5FyL4+vqjkbNGwmh9KtqU3KORRQnOwnc84TCN2jQICU1uW+4UNcSUdTU/ghlWjjuIYguhxS1lJP6XwqCIAiCIAiCIAgiKUhRI4hOQqgxuuVSkUzbsmWL8Vp1DR0vai1ebwegKBWxHNMTUFeUhdrjcDhjPj7+BXLrtSpDSdPkyn1AZ7fLffukvdLgwaxt6enp8VYcM+L6CXbTb31dxUfVHubau6ODXS9S5bGZ3vv8rO+7du42jh06dDBvR2JkZ2fJN0bIgWBlInhpNrKtWnOztIEqLi4KOiZxYg12Hg/p6alXPTRbuLXXyLaqVqjfRbs9/jXdAHfRnZhKJBGql88ndx64XImfj2R3DtRzO87UKXzSRi1ZRLgBUtSIbkNPcBtjT/tjpAdBihpBEARBEARBEEkhbNTifsQ5UVu7di0uvvhilJeXQ9M0rFixImL+119/Hd/61rdQVFSEnJwcTJkyBW+99ZYpzz333ANN00yPESNGJDIMKYUUNYJIIVbBkEVaR0cHfD6mXKi2NImpaLGpBD17kSpyH44cZh7sSstkgNlodj16zFbMoTZoZo+GQlGSt0ibjalnekCm7dvHAi336ydtAdPTXEgYU1TzYJuzcH0PhB4bBaEGCAVKjoO53zahKPJxVxyPws8VE5vN+jxG1r7MKoSNj31AD1YNRZ9jO6+p9XYnyxKeKuP3WqiFfVdUlDrFT9CLeyRt4Xaoka+IcPWyo5JVnsSpsDDZTAjVljcZUmWLq3rJzcvLj5g3GqlqUzI7MggiJXSRjVpLSwvGjh2LG264AZdddlnU/GvXrsW3vvUtPPDAA8jLy8Nzzz2Hiy++GJ988gnGjx9v5Bs1ahTeffdd473D0f3TpO5vAUEQBEEQBEEQJzaBromjNn36dEyfPj3m/EuWLDG9f+CBB/Dmm2/i//7v/0wTNYfDgdLSUosSug+aqBFEZ8OXlLdu3YoAj8vVEzwsdi3xqwZ1R5m3uIzMTCNNxPUKF89L2LEkNr5SsTIUJZu0j7Np7LXDLu0/dD9rx4H90uNm337S26A0PQn1NKf2wOl08not5AcjLbZfv1h63s69axrjpJlt0oSSpvE+i/fqeBw9yhSFoqJcU9nBZyaasmbObLb10XR+PkOUNetSs7Ky1KNjqTEmRLxCcZ6ETV94rOu2KbZe2dkWHkMThtXXq1cvQPnutHFvlfF9G1IzbsLuSl2Rjj5u4UnVPTNVquvRo9KbZbKKWrJ2fILOsKUkiHjQE1TOu/ovokAggKamJuOeKdixYwfKy8uRlpaGKVOmYPHixejXr18Xt84MTdQIgiAIgiAIgkgOXQMCCSyG6Br8fr9pSzEAuN1uuN3u1LWP8/vf/x7Nzc248sorjbTJkydj+fLlGD58OKqrq3Hvvffi3HPPxaZNm5CdnZ3yNsQKTdQIIgVY2aYFI7wYJlNL5xKX9hHm2NTh87FV5pqaGiPNxRWNNMVjnrpC3tbGFAThcS58a0O9OlrZo9k1aW9mt7MfC6dNenh029jNO6BLpWD/XmnH5O1gcep8fhm7Tg/4QtqdyxWb/Hy5Mp+ZkQFY7ZEPVgQSWL6sP36cH8rVPc1smyaUNLud9V+Mg9Mu+95Qz8a6uFh4bIzNIsqI+qaoCCLNZjPb9+k6/87wZ1mFWVkT5zMnx6zupQphTzd4MPN0uWPHDgCA3x9sN2Udv0yc6yFDhihlpt6Xl1DsBg0aaGqniK8VD6r6FY/nVQnrs7TFAw4dOpRAOYxo3+nYSc29qk012DTdM2O0H1a+L35/ahS1DH7PIIjuQk9i6+PGjRuRm2u+hy9cuBD33HNPytoHAC+99BLuvfdevPnmm6Z4m+pWyjFjxmDy5Mno378/Xn31Vdx4440pbUM80ESNIAiCIAiCIIik0UPCrMR2zOjRp2Pt2rWm9FSraS+//DJuuukmvPbaa6ioqIiYNy8vD8OGDcPOnTtT2oZ4oYkaQSRILCparCVJdIu0rqar6w6nLLD09napRB4+wjxBFiur9C6XVGEaGpiCZS0KKvVwhUP1IqnaXwkFSahoAOCyM1s5lyZt5lw21SaKE5AqnRds1V0VXqw8Ux4/zrZ7NDZKFcPtZm3Iy2N19OrFVhqdTocoyFRGLHqDWMU/zhU1DcIWzWF6FkqaUA8d9gzed6modfBjdV140AxSl8IofyLV42lXPmRlOXh9AcM2jXuDNM6dUNjE5+zZxcfKrVwL0fRha+0rMkKxGDZsGADg4MGDAIDWFqHkBkyFZ2Swa6V//wGsfe4kPILGBKtYfCdGjDgNAPCf/3wZkidadJ5DB6X6NXjI4KBjY0ddsa6trQUslcjoqB4NMxW71XhJlWPQVMWHC36dDGlpnRfPkSBiQbjnj/9AZmOZk5NK210zf/nLX3DDDTfg5ZdfxowZM6Lmb25uxq5du/DDH/6w09oUCzRRIwiCIAiCIAgiORLc+hjvWkVzc7NJ6aqqqsKXX36JXr16oV+/fpg/fz4OHjyIF154AeDbHWfNmoXHHnsMkydPNkwq0tPTje2Wd9xxBy6++GL0798fhw4dwsKFC2G323HNNdfE36EUQhM1ImGSUZT0Hh7hKxxx9Tmhpdtklnuj2bykxg4idUSLZSZey9tUczNbVbfbjhtpqlfI5ua20HJ0sx2TWrfw5Bj8WihpLrtUzNJsbKUvHXIPvTuQzqtQ7K2U1x6uEPlsUpnz+a1sFbl3Rch8tgCzf2s+zj5rbmJqYUEhKzMnJ423O5Zrhn3fhBdAj5fbyfF22W2sLOHRUqiHQlFzaWwc3JBjrWnMW5avg9nfOV1Rri/RTv6L3FDfIPtqY0pVmpPZ6nUE2HkMBJjCKBS2ALdVCwSYGqfx81hcXML7o3wHLLxrRmyeOCyGXOnpbFyEzVqwuiLsz6QdYler1Kw+4QVQKGsAsHMns1vz+SL3tLFJ2lUeOHAAANCnTx8lR2x9UuPlifH6+uuvYzpWraehod5IUW054yc15yJZ75Fmm+XEfw9VG1a7PfV2jwQRDzq0hLY+xvsV+Pzzz3H++ecb7+fNmwcAmDVrFpYvX47q6mrs27fP+PxPf/oTfD4fbr31Vtx6661GusgPfp+75pprcPToURQVFeGcc87Bv//9b5OdbXdAEzWCIAiCIAiCIJKCbX1MzEYtHqZOnRpxy7CYfAnWrFkTtcyXX345rjZ0FTRRixstJbZJJ4KilDobrOTK7q6x6nz1LF5CV0vjO0fcpijseKZKcQu/qmvZXpPnRYtYZorSpfFbVkuLPNzjbTVe+3yiLHlr0wyFS7VHc/HPFBVN8TgoFKV0W56RloNCAEC2Lt30ZnK7Nr/yg+HQZZkddta2Dof0ECfGX7VVk4qWtDER9m9ujSl5bp2pTm1HmVfJtlausBWw+pxOmxikELxepkzt38/sjpyOfF4fr9dm9mgpFLQ0sL6m6Ww8MqF4vORjfLydle1y+Uz9EwSf8wC/zhqb5HnLcDE7pgx7AWuvjak5vgCP98aPCQSYstbuY+qKEBMKCkpCOy3Oe6fELBQ2jkK5ik3JsPq2hraOpYiYgD5fB6+D2/E5LGLuRUH1Bjhq1CgAwJbNW4y0Dp/63Wev1WE7fJjZhra3S7tC1YNlrCqVOc6dFeHLaWhQ3XZ3vy2v2V13/O1IJqacyoABA5JqB0EQPZseqZMvXboUAwYMQFpaGiZPnoxPP/00bN6nnnoK5557LvLz85Gfn4+KioqQ/Ndffz00TTM9pk2b1gU9IQiCIAiCIIhTAJ2ranE+iPD0OEXtlVdewbx587Bs2TJMnjwZS5YsQWVlJbZv327yHiVYs2YNrrnmGpx99tlIS0vDgw8+iIsuugibN29G7969jXzTpk3Dc889Z7xP3OWnFpt6EjWmUIyxVjpRTUpIMesM5SiBsUr1uMQ8FlH7H+vaRzT1Kop6ZrQj/rUWTa1b9TwWZ1lRx8xyrFTFzBaSpnpeFEqaXUkTcbxUuxdd8SDnEMnK5SHsm6zUOuHdEIqKBgDpNqY45erynlMApmwVpcljeqWFjll1i6LmdfAxUMJQtWrHAAB+XXqxE4qW2y5X6dNtzAYsM8DqzdC5B8YAU/bam9mK/OH2Xaw8ex3rh5t7RFTsphqbhE1XL95upkDZ+E+AU+O2abyONP6cwW3mMuwsX6ZDjnu2k/XN017Kys5jHhChe4JGJGiM+BYXv1/eg4vc/Xm9TPlp5zZrHRprt09nz41+VofbwZSZ8j5MgXPy+Hq6Lq8F49LWYlSKO/GvhUjfFPGZn5+v3bvY+WwybMR0U8bsbHY9iFhpCPo+RMPOz2VJqVQhDxw4GNOxajDa3bt3G68HDRoc5ohgWCfU32bhOTMaAeV73sptLYVXzUQRtoYIiYsWHbO9XvykKo5eZ3rJI4h40fXEbNRoshaeHqeoPfLII5gzZw5mz56NkSNHYtmyZcjIyMCzzz5rmf/FF1/ET37yE4wbNw4jRozA008/jUAggNWrV5vyud1ulJaWGo/kjJEJgiAIgiAIgjDQNeiB+B9IxAHJKUKPUtS8Xi/Wr1+P+fPnG2k2mw0VFRVYt25dTGW0traio6MDvXr1MqWvWbMGxcXFyM/PxwUXXID7778fBQUFYcvxeDzweOTKsFxJtMW2DzxslvhWdzvTTsxEypSiROoWL6KMjbLk0qnjEnEsrMchtvaoeWJfAbdSz6zUKJNiFEGFNMXxUtUGIz0BtU+zGpfI+TRum6YpY6GqZ3auMjlsaiwzpqQ4NKlqBaB4T7OHjmsgEOpl0WZjtz5VwUqzS2+OWWD3BqGiAUB5JmvH4Cx5HQ7NZqpHpkPWsalelpnRyBaE0lplH+qczN7HC2mjJeK2ZejShiczwO3kuByXZhc2e/xzbgvn6BgKADjAm3CkYS/rt6LYpTnZ/bDEwbz/5eusXW4Rv4yfFxe3tXLz53SHxvvHnrOdsu/5TnaddLQzha/Gyfrj9UmPnAzh3ZPVFeC2V5lOqVaWBcqVnEArV9ZaNGaMeMj3FQCgoCCfjwErKz+fnScdwt7HKj6X+ToM/m5IdZ4d6+fe+FR7LOFNMi2NnUephkT+3sdzl9pTVQUAaGxqss7A73+Njcw2cf/+/cZH/fv3j7vGnJxc5V1sqpZafn19fcSckSgpkWqe+jtbV3c07DHqgrtQ804//XTLtsXK8OEjjNdbt24JaY8VZWVlgGIrmChq/EdxX7SKsWiFZukdlyC6Hz1BdYwEtfD0KEWtrq4Ofr/fdBMHv6mLmAfR+OUvf4ny8nJTxPFp06bhhRdewOrVq/Hggw/igw8+wPTp0yMG3Vy8eDFyc3ONR9++fZPoGUEQBEEQBEGcvDCbMy2BR3e3vOfSoxS1ZPnd736Hl19+GWvWrEFaWpqRfvXVVxuvR48ejTFjxmDw4MFYs2YNLrzwQsuy5s+fb8RlAFfU+vbtC02zJxc/JYK8a7K7sszW+V75ENYzX6xzeqt8saqI1mOjB9loJFR2VGL0qGgahyjjGLJKGn5hINyxaj02xTuiaIeqRqnHmPJyhK2WumqrQ7XpCf3cuj08zWQzZzN9AiXGlXq8eozG7WrsijqmqmfBHggBwA2mtDiVeGN+pQ82u/CIJ/vvD4SukAsPj2m2UBUNAAq44lSSLts2IJNdh2PypZ1O3wFM3UibKOOs9P7sgPG6cCuz38prkLY0h1rYvanFp7Sbj4vbLscn3cFVHK5mOcxhyNAuTpOHldfm78f6zu3mVBu4PI3ZBPW3sUWwsgw2Ppn8F4BXZdThtrNKMmwBno+1NccplcPiTGbT42tmY9XuZItZx/QO3k4eq43bAzqFZ0s/O0cDNLkg1z+DnU+Pn9V73MsadEhnAU3TeHv79mUe7kR8taDQbCZCvr/h7Dr5dV9Ty2z8amoO8zLV7yurICuLXX8DB7J2CHuvmLH47RAx2Boamy0OCM/Ro8eM18LmKx6Vx6HYG6qtSuzvpXi9MMp8/fr1M143NLDvU0eHVaxBidfLru3jx6V6m5/fK8IR1qh2YsIbZl1dnZFmtUAsFLVksSvqfym3F6yuro54jLDFHDFiRMR8BNFd6LqGQBe45z+V6FGKWmFhIex2O2pra03ptbW1KC0tjXjs73//e/zud7/D22+/jTFjxkTMO2jQIBQWFpqimgfjdruRk5NjehAEQRAEQRAEYQF5fUw5PWqi5nK5MGHCBJMjEOEYZMqUKWGPe+ihh3Dfffdh1apVOPPMM6PWc+DAARw9ejRlK2MEQRAEQRAEcSqjg7Y+ppoet/Vx3rx5mDVrFs4880xMmjQJS5YsQUtLC2bPng0AuO6669C7d28sXrwYAPDggw9iwYIFeOmllzBgwABjq0JWVhaysrLQ3NyMe++9F5dffjlKS0uxa9cu3HnnnRgyZAgqKyvjbp/NlhbGcYKZsEbBhrprsQ3O8hg1LYoDCnF8UtsU1W1uofXF0vd4McbKpHwr4xNxXOxR8lmQgOOLaGOhRVrzMLZndUQNK2Bs1zKVbQ+pTzjDsGnyK2wPE7xZEOBb0fwBGWhV3R6n82DCsbZRs6lbp9Rtl46QNLFdWG2vCDqtbmN0ajIwbzoPtpyuK27zwY5x6LJsv9LeZh6QucUmt0t6ba28X0qAab7dMlOXSnm+LoNbF3MX/CXpyhatDLaF0mGT9b27kW3bqgjI7Y6ued82Xp+94j0AQN+PZL931LPtlke9Mi3At304lbLT+GuHzXxd+/i2kiYfG4NsJ3ed3862fhV3sD6pW7SL0lkesX1TbG1s4OED0vn7srQO3n/mSCPTZQ5m7XTK72V2f9auCftY2Qc9zKlIq5OHH/CzMsS1mGFn7Uv3snFOz5VbzAp4uUc9rD27PGwboEdjziWGDWROUJx2dq34eNcCgRiCBmsiOLX4Honrkz0fO87acbi2iadzV/9KEWIbp3CZX1PDdn307l0uKompDVb4jGDT8f6lIvPv38+uv4EDB0bIbyYx9/DWbfT7WR/sFs58oiPHRrR/x9c7otTI2Ldvn/E6L09+fxP7nWLtKCyU25gLCgotWpGqLVqynNJStmis2s07eDR31TGadEBC28SInkmi7vnpmg5Pj5uoXXXVVThy5AgWLFiAmpoajBs3DqtWrTIcjOzbt8/0A/Pkk0/C6/Xie9/7nqmchQsX4p577oHdbsdXX32F559/HvX19SgvL8dFF12E++67L4lYagRBEARBEARBCHRoxsJjXMeRohaWHjdRA4C5c+di7ty5lp+tWbPG9H7Pnj0Ry0pPT8dbb72VsrY57Vlxr9bpFg4vTA4dIihG0dz1WpWtYqX0RHOlbjh+sHQgYe0OPl7MDi1iHZ/IYxZtLKwQ/bFy3mF2JR/bWEQaE3+g3VK1MjnYEMcrK/BChbJSzNQ0hyYd6MieKMGXeXt9Nul2vAPS0UYgwNQ1obyZ+qpZKGaqmge1HbxtCHU/bVfa49C5Qw9dBp1N12UfMrmr/gzF6YFwF2+3yfHxB+RYtnSwY5p9UoVr5+77fYpK69RZO7JsavBqWU9RGiu/JE1Z4dZYPSsOyBXuL3xMwd/++VAjbV67dLuvX8lU+77nHDLS+nzAXM1798qx97Xz60e5fDQHu55FTwNcQfO0snY2NLNxq2vjzx7Wp7YADz2gKHG901mbAlydfbeWHfNVO3Ne4AW7JtL9TIns7WAOQoZkszpHZDPlauyAw0aZmX1Znj7tbKxzDrAyMzXmlMUD5nTFwZ2I5Opssa0wjdVhy5Ru6BtbWf07eGDug9pmAEBZKQsqnJHG6hDXpjz7Ztf61r/24rvJzrUIpC6u47paFgJAfKd8AREaJbQsnSt4R7nDCbF93maL9Q8Tq/uxODbY2Unw/Ux8Htqu+nrmVEPX+/Myo9+bTU6x1NcJ/MXU1MTOdV5ecvFJMzP59zZG7yaqAiUDhKcuCHTouekcRD19+pB3aeIEJwAWFy1OyJlIeHrkRI0gCIIgCIIgiBOHROOoEeGhiVqcZKWVmexsgjG7dOZp0RQjWLhN568D0VQki/pUNAs37WK11RYuWHIE1+9mFckeUk40AoZSqLiFt1APzW7jQz8PWB0TZSyskHYrimIk3OHbVDUqNJ/VWFjh0NgWW6+vET6duTRXVStrlVJTjud2WYpiJtQq9dpqDchgsR1+oRJIpSvLzlb/e6GPzKdJGzWPozVs29R+C1XMqbuVNOVa4fZjGVCUMmFbpqzcO3lQ5TS7LDvLKT/PcYpgy/KuL2ypbEq//cpYtfpYO5p88ty1dLBjOhTlTShyIpAzAOS75OcFLnYtZdhlPZ/XM/u5T/1VRlpeIVOH9jnk2B/77V5Z5oNMUdPLy400XMNeq1aEoRaFFrRxu7EjLGB2r4NMzRuwn9mE+WrY534u6NmluR803s+V65gN0JZ0FixZz2YKmYPbKjZ5WCDhL9rYNfC1h63wN2rjAQB9WqTtX6+d7Ho8HmA2d+n8PLoC7Lz7NNYeB7dBdPIA3W5ue9OeLW2BquqZjVWVi6mN6W52HgvyWFBs4/rTxRP//nO11AgtYaFUC+VXKGl2Ox9tnV+zAa6w8e+KjZcVUMqSdrSsTH/AHBzb5orpDJoQ7XM4XKb30WxErdD5X0atrezkZ2Zmhc1raETKd9qh2JZ1+Kxc40du0+HD7DpKVlETypIa9sBntCdyG44ckWoveWkmCOJkgSZqBEEQBEEQBEEkha6TjVqqoYlairFUVqyCsSqrmbpQVExmAtyLVpT69ChBlLWoJYS2Rx5rZU9hEUg5EdswtRwRz9pqTKB6TVS89hn5ElDRYvTgqLbRSjVU+y2CKnu5kgVF1cpysxiAPr0NRbYhAIB2rQVW2PXQr6RQsNJ1KZG4uUpx3C4953U4ZQDc7AzmMdGnBFX2ttWzcvzSDqJEk57S2iPYz9mVG6+Nr3qn2VXFNfTGnOOUY9bLLY4J9WqY6ZDjmKd4Fcx3MZUnxy1tudxuEURZ1uPzyXq8QlHzSLWv3suUknZ/6HnPdEj1IN8t1cVMJ3vd4JEqpq2Vjf/wfBmnMTOXpR2zSRu0N/bIMb0hgl1R3KSztgT68fMnnnnkEtE7qzDG9r+/DwCo/5wpHgX5zKYpwNUmqcyydgqFJs3O7M3S/Sygck2GHA/Nw8a9lo9vC/fy2MGVND9XuxxBfRdn2MGvUQDIL2X1lHpZPTxuOZwOUR+zDQvwMgMBoaSJ51A71uC7pwgCLxRunSu/Isi638brEGX6A8qxYoeDwzQ+Qu1xxqiomYPEC0+orB3CuVV7Oxu/RK6YQ4fYdTh06LC4jsvMkjad9fUNcdcrlLxUeUc0e6SMbSQ8ntDA9okh6wsExPdB+e2JN8g5QZxCCPf88R9HNmrhoDtOnJx++lBjq0qsRJtMWG51idHVfCLORKwzWk3UQr84sU784sFqfGIdk2QciJgT1Yka3zIFdaIWOhbq1qgA3zrW4W8z0nwB9jrdxVw8b1i/Pu62EgRBEARBnAiQopZ6aKIWJ75AGxCw2sPf+STiZdHK/itMxpMas1oXOhaa0n/xUlcSjSPCeKv0+dlqrpicsbQ20zG6HkA594jnC0hbDlWNcvPYZJ6AooRxmxmnWy4QZOQyG5SSXsVGWodb2p4Z6oASZ6qtnal4/jo5FoXtagwz1k6Xcpm5bMJuRtLuY++O+2S7m5X5u80hlAppHzcun3n4G5AnVb+0DPY9SitQPCsWy/bYSridjdJHZHC7t3Zl9bxFjjmEvdtR6VFQb2De4ALH5ViI8HGqsGvLUq4RP+ujfZNMG+pm3h7PLJC2VbUd7Bb6ZbtU4/a2ybo1Qw1Gl6NeVxkdrKP2XLZokOtkCoidK2ouw9um+R7j5umZXNmq88lzWt/Eyj/qYeNaozGbueYAU3mNOGrcJk18n0S70l2yrPJsHq/KOxYA0ASm+PnA2unh6rTf8EzK6tTFvdjKNpjXJxRgsRgjbE8dNqYipduZjZ2Pl+UQ3z0lpp0vIDxwCiO5Dt5HP0/nySGtiI4Yj1LuQXLPHm4DacQKjH0xqqVFKPWiJbH9wZSTk2u8TkRRCwTEPU5R4yPEjotG1N8rC2y25BYRRdtVWzcRlzWg2LeOGTM6JfURxEkJxVFLOTRRIwiCIAiCIAgiKQJxLS1JTnKtICninqhVVVXhww8/xN69e9Ha2oqioiKMHz8eU6ZMQVpaaBynkw2XLQMOW/wevkJIIgZZp5PAamZK6KIxiXU7qGqXZtijmewIpbJqczB1wKnEBNOd7Jiz3ecAADIyslCewQrwKSu06YrdVhmP21Wj2FjtaGdlFw4pNdLc3K6m1SZt3dqU8fPrTHEK2KXSkO5ktlNZmQVGWlqLrCfnOIupdVa+XFH3BliZ645Je6IarjY5hsuxSLMpahVXN1rapd1LXQerc9IFMsZY4NtTEYlIV6Ep9pxyi3d9sREAYOtXIssZOoR3UHqCEzYw9gP7ZaFfS2+NdW8xFW63t8xIyy1mStrpvWR9eTz+2WGPPDd70lRbmXi1FjWmXpgsuukptARhQ6jcj3uXsH4MLWA2dZktLO6bw87yZjiEJ1gGP8Vo43ZabR3s+YhHKodNXO06ptUCABo7DgIA2jsaeDtYaU47U0aFwiU8f7rssoOZXF3L93N1y8uuoTofU9baAixOF2yi/g7LMTJbSIWqPFC8QDq5rZo7kykj7fXsfYDXIezhAMDO74ni26Tzvnm8LK/8dsSD+T6Ul8cUW5ttH6vfL2xGgwl/TQllSzzHqvpkZMj7liw9/j+dRL0AYLcnsAOEnyu/P/7foOzs8J4uw9cn69m2bRsAoK2tLcIRwKZNmwAAo0ePNtKSiSlKECcbCdmo0UwtLDFP1F588UU89thj+Pzzz1FSUoLy8nKkp6fj2LFj2LVrF9LS0vCDH/wAv/zlL9G/f//ObTVBEARBEARBED2GhG3UaOtjWGKaqI0fPx4ulwvXX389/va3v6Fv376mzz0eD9atW4eXX34ZZ555Jp544glcccUVndXmbsVty4HT5g77eaR4WmGP6QEXaGKxexKPWxbXMSkYH1uSTlACCPWIaI4FJ+xh5FeqwM9UHTdXDiaOH4O6NrYC71BWbV0t0nOjO4sdf3o/acNWrjElqNkvx6HB1yEaZmBX6vZrIhaUVAWEKpiuSe+RvfOkbUrfAnZdZ9sbjbS97SxvQDFcy047yuuQ6opdk+qZsHfKTJc6gyeDKSZ67XYjTcaNUgn1GqeqJkIJS2+Ubcxes8147WxgqkRmP2Vg+Eq7R4ll5uPjpxVJezNHtVQSd9v7sb4Uyn6dWczG8rThMmbaoBrWV78u7ej6Qr628/b6/Gq/Qr9rQvlwOOQ5dDhYmvQwyM+p8M6pm6U1oaS509h57F3e2ygrcyYbg8ptOwEA+5rZe5eNlZXLPWw6uOpV72G7Bna3srK2MYeh2OuXNoZ1ARZzrZ2rXh1+bgsYaOV94goVNwh08J+bTK7eFbjliQ24WF9dOqu3vYHl3d/C2nOonam9LsUzJwDk8+vX4bBQNIwlWv49FeqJsBnl35FexWwsmpqYOm3jUe3simKu2/ixogiuxjU0sGumsECq1KYm8OdY7mDCm2BGBrvmmpvENR6/rZqXK31paelR8yLoukuGYPUyXkS7VWUuVgrCnINI7Ny503gdTUkTCE+f6rHxetkMR0eHck/l14PNpl493f+3AkFEIlGvj7T3MTwx3Z1/97vfobKyMuznbrcbU6dOxdSpU/Hb3/4We/bsSWUbCYIgCIIgCILoweg6EEhg0kXztPDENFGLNEkLpqCgIKGVrROFbL1A8ZBmQZSrzSoelxWdqbLFqp4lEh8thsrDEuvYIIHx0eJY4VG9PRppvOHqmAS0UEXRFlCjWLE6d7QfN9L83GbMkSW/enpWP+P1MR76wafYd3QYVapx5LgdkibtJdMgX4suBJQVbi9X19RQA17ljtroZCv5Nnu6ksbtjNztRloOmNqXFpDKcpqi5rl4fLVslxyLEbmsnsLhUuVp5F4shee8YNwuVn7WFqnC7X+NldnilEqgL32E8To/nduH1cvV8YydzHObu1zam3kyWV/V68hul/3pV8D6M9QpV7iH/oCri+dcYqSV7GM2ble89x8jTS+WimVVFlNrGpukAqgHKWAAUM7blvv+Z0Za8wY25u6+7Lw1X34eAKCpmXmV7OiQdoFQbNKKipiiZ7LZyWWq7OCrDgAABvAxsRWwc62V5pvK8m9m8bhc/2L38q3HuMLVvNXIc7yFeSdMT2f9dYi4ebyDhkdGbr8jrlURU693hryenVz1cnpYn5sDTJ1r87Dz3NF2OgDgUBur3+tnql1LM1M3+/Rh7bQryprhvZUr3wH+LDxHdmge3n42Bo501h5fC7vGAso1bePfdaGs2ZHG62fnVVzDNnsY5V6MiXJvCb4jCW+UZWVM+d3Z0szHMf6dCyKmWKyKml1td0KuSnlMuIQ8Icp6Dh8+HJIWCVUJdLvjt5FvamqO+xirYwPKOUpkDPx+9l3ZvHmzkSbs3vLzZVzG3r15nEGK5Ub0UPQEvT4m5iny1CDhb/vhw4dx+PDhkC0KY8aMCXsMQRAEQRAEQRAnHzqAQAJCAylq4Yl7orZ+/XrMmjULW7duNfaja5oGXdehaVrY1fGThVxkwoXwq5SxakLRFKFkYtBEI5odQeyKW2ykakxMeeMcH1uU/AGLPqvjJBU19fPQvGq7xEuXLr9mVvWoCIWrLaCuvLOCPIonND8vJ90my05XVDgnt2vwKY1s5TGwWv1SiWnySw+F3hZ2fKNDXV0X9ciYV0UOdv3nuWV9GcohQtRQREOM78WUh6LvXmikufgKeIdXtcuQBRV8xjw4/u0v0ras1sM+7ydNx1CQIT1ful1sZdrTKtvr/5ypNOkHPpT19OXf4TypOqnXyPCz2Wq5/SrZ3kCmUqlI68fsdbXrpd2ueqX14crGgQMHjLT2Nq6UpUkFr+Bv6wAA7/1LxsJrD7CSMqvZPXXIli8AAIW/PYt9zmPJCVu2LK7eCYXI6jsS+OYU9tk32XtDdQrKp02ewMah9g02NhvZeNp2y/HSNNZWn5ud6DQulnYIey5umyauX3Gt5nPht2+GVGkz7Oy17+gR1k43M4orYyaHGJrJlLWvG1nfN7cz5aW6fQsA4OAhpqz16ydtDgXCs5+Ivebnz3bePqGA5HN18VCrh/dPXt/CU6x4tnFbW6+f9anuKKu/pLjYcjytEd9nsy1idjZTUBxcXe/wtsdRJsPr9caQS2JXVCBpVxn7jgqXi7XVbE8VG+rfDMeOHYuYN5gixcY0sd/MZP48lMeq6rbbHauiJo8X5iLmhW/2uq5O2jAfP852ZwwdOtRIEzaNBNET0MmDY8qJ26fsDTfcgGHDhuFf//oXdu/ejaqqKtMzQRAEQRAEQRCnFsLrY7yPeLc+rl27FhdffDHKy8uhaRpWrFgR9Zg1a9bgjDPOgNvtxpAhQ7B8+fKQPEuXLsWAAQOQlpaGyZMn49NPP42rXZ1B3Ira7t278be//Q1DhgzpnBb1cPKcLrgd8cVRi7bQF+tCYKyKU6yKWLRVj65aFUnV+Bj5k7Tvsxo/w8Ge8pFJHeMv/SYVTqSF1uFUVp6tXishpozjj7Y1GWk+B7f5ypC2Rflpct0lk3+zfQFZUF07e+1tl97sDmtHjNe1R1g8rAK/9FpYksskjV6KmjQ4h9UzKFOuImc75WuPn32uuuhNc7A63Qdr5DFjmN1Rh08eq9peuHRWzpRiaQvCF/tRXCzHwq2YxHrr2bgcPCBt2HY3cy96O2V7Mjxslfq0siojrXCMYnMnlDQLFS0e3G5WphqypL2dKSROh1T9HNcyD6EX5UjVz1/PPVNy2y9bMVMgvVw5EzZpwk7H6WTlpVKNb73hGwCAmc6XAQDfdcrz0/Q2U55e28JUjW17uOfTIUwh8fiYp0aNK0Zufm3nOtnnhRkypl5GJlNcjx/lce1aWJ7jbayP4prK5+pdfhtTnY7b2HNDI4s91t4ulaS0NHGfFvHUzLZqAe7VUShnWZnMS6lm46qeT/H6GGb/gN3G2ldby44pLi62zCe9P6rlmNdJxXkTCl8591K6bx9TW3RDZU+97bB6zaRnMJvDJsWuMhqDBg0UJcV4hLwpVldXG69j3ZEjzpmwx4yPnrHc39Ehr6/GxtjGWozP11/vMNLGjRvXCa0jiJ5NS0sLxo4dixtuuAGXXXZZ1PxVVVWYMWMGfvzjH+PFF1/E6tWrcdNNN6GsrMzww/HKK69g3rx5WLZsGSZPnowlS5agsrIS27dvD3tv7wrinqhdeOGF+M9//nPKTtQIgiAIgiAIgjCjQ+sSG7Xp06dj+vTpMedftmwZBg4ciD/84Q8AgNNOOw0fffQRHn30UWOi9sgjj2DOnDmYPXu2cczKlSvx7LPP4le/+lWcLUwdcU/Unn76acyaNQubNm3C6aefbqziCr773e+msn09jmynDWnO+HaMRtu2H7G0hBbHlYMiXP3R1mUTcbEaK/GYMsQ82ikTEoTXs9BPTBYEFp/7lDQPl8I6VFsPXnSm4p0u0ykb7uIv5Vor4OMV7avaZ6T5uYe6cSNzjLSydFlOoYutvLYrsdd0na3UH/PIug/Ufy1fH2CKWpMuPSY2HWdxos4aJhdmTueK2qgR0nbCkSfL9FSz9h4+LOOoNXqYspTzllw9t40dzYck1K4PALSJpwEABg+T6pleVsqee0klUTM8xQHufzKviYd3SjvSfx9h/d7acshIq69iNkUXlclb4Hd0WU7vWez4NEUhTUapUr3TCVsyE8Je7dpvG0l2L1caXeZ7rJ2vqov2CLu+VCppwlam5ghTinznfyMkT+Y57Lnyv94FAOzdztTXmjqmDmTmc4WIn18Hl4nTuefTjHRFSc3gV7yLqY1eP1OqjnmZKnaE2yYebWftagNT8wKGWsYOP1onY9z17sOuFRhquM/0LJQ1ceUKm7B0blzpOSpt6PQgVU7YvQn8/HvW2spUwkyuSkW8hRruP8Vbs52r8J5cU8Ou2/b24Dhf6vk212QP530yhthuZfw7Fl1RUxTqjIyIOYNRbbpUG6xYyczknkYdycXHTA7VY2z87WhpkTsF4o0/FzB5Ag2NPUkQ3UWiNmqdrXOvW7cOFRUVprTKykrcdtttALfrXb9+PebPn298brPZUFFRgXXr1nVy6yIT90Rt3bp1+Pjjj/HPf/4z5LNTwZkIQRAEQRAEQRBmWBy1xNzz+/3+kG3AbrfbMCFIhpqaGpSUlJjSSkpK0NjYiLa2Nhw/fhx+v98yz7Zt25KuPxninqj99Kc/xbXXXou77747pEOnAjkuIN0ZPV+0yzSqXVZcrQpPrKsUUe3VkmhDIn1JRBzozLVEoQCGUxlFeoey0N7CO1FvchXJntyKEVovxeQxw84ytCu2ZW1cpjs9UxbU4mM6QGaHvKkNULx/lXD7n3af/Iq3+JnCtbVW2gZ17JKxhya6mYLVJ1PW7ePKQR+PVPNGjmPHuK86V3ZLWVHP3MC8Neb9U8aP232Q2TFt3FxqpF3wPPMo6L30AiNNeI8DgAxuo4M+kTVVXdk7bh9cCACof0eucG/1MBVv/aFVRtrQdhZGZFyB7FfrRacbrw8fZkpS797S46SqinUFti++AgAEuAdGqQzppucQuBJne+9jmZbOfugC502JqW7hNTAW74G+gPCEyN7X1DE7s0F55niaIvafuPTV76vfy66zxsPs5nqklSmahz3s/THejIYOrhRrTF0S6pigUYltJSL2BduHCTVCxEQD9+Bo43ZP2dnse3SsTl6/gSAlzXjPy9R4zLUjh5k6lDmQ2yQGnyPVhlXTTWlakLJm455WhX3jjq+/5nVHt1FzOuOzo1bJ5HaZqr2o6LewiwSAAQMGKEfFd/fdu1d+74JD/MRCYWFhQvUiAfUqHKqHy0RipwXHQUwUtTud6CyaIGJEg57gX2MbN25Ebm6uKW3hwoW45557UtS2E5O4vT4ePXoUt99++yk5SSMIgiAIgiAIIhSmqMX/0AGMHj0aDQ0Npoe6FTEZSktLUVtba0qrra1FTk4O0tPTUVhYCLvdbpmntLQUsbBhwwbMnz/fCKNx1113paTtcS8RX3bZZXj//fcxePDglDTgRCPLAWTEO2pRbdRiW+GLtloW60JhVEPPrnCKlcCCS6zjlAhWY6smRVvREGvC3kBoQbVtSiwzHsOsV5q0oSpwye3C2dwjXrNPrtAe4WUOzJAxz/pns9hhAV2qaAN6yRXa3D5MgvBJgQGtXlbOp8f2Gmmz+8uLubadtbN/prSFGTaQKQTZZ8t4RZ7vfx8A4C4wKybGWPBYXenr3pR92M3q+cdO6WWyej8b1cp26VbXddpA43Xut9h+cpst9vUkfQDTUTx+aW9W087Chnga5PaJX0xmKlvWou8YaR3KGa/nN9q8vDzZnlxpD9gV7Pt/LJZYn8nsvVBSmpvZufdzr4TZ6zYAAJzH2fWx6UNmv/eferkyOamQ2fkNOy+2utvahGIV4TvHvdY1czuyeq7ktXewiy4QYDZrQm0K/o75fDKho52Vcaieqb61HnbMcX7NNnl5fEG+td6jMfsxERNNlinfh8Q2NPrCFUnD7sys6KSnZZg+BwA9YPYYKT/jdfBrp7lFfHfENRuLKYAoS+S1m94Lm8bMLNau5uYmU/+siNd2y2TlxJXFESOGG2niO2i2SU9cvonHo6Rsl6wvKys7Yt6uQLVLS8Q+NFUKvZ4iO1qCSAUBJL710W63Iyenc35np0yZgn/84x+mtHfeeQdTprC/V1wuFyZMmIDVq1dj5syZAFf7V69ejblz58ZUx80334xLL70Ul156Kd5880289957KWl73HeKYcOGYf78+fjoo48wevToEGciP/vZz1LSMIIgCIIgCIIgThQS2/oY7zJ8c3Mzdu7cabyvqqrCl19+iV69eqFfv36YP38+Dh48iBdeeAEA8OMf/xiPP/447rzzTtxwww1477338Oqrr2LlypVGGfPmzcOsWbNw5plnYtKkSViyZAlaWloML5DRSEtLw29+8xtcdNFFuPHGG1O2zTohr49ZWVn44IMP8MEHH5g+0zTtpJ+opdkDSLNH31Mf7TKN5vUwmXWxaJdGIMaLJ1X6VSJ9iccrZCpQq9O47YjNlMae7dBD0lTUoU3jdgubeDwsb4cXe+3bAQADAhONfH0zpILl5h7xHO3SFqTBxr6mx7zy61rYwRZISp0tRlpOb2mX4hrOlCCXYjRXWMMk/fNKpefFuiZpW9bEV3jT7FIFSBvIVCjV618Lt1uKtu6leoJs4qZE247IG2uGi62Kn/G+9PqWVyRL9XHFJp6Va71PH/5Kbl8Q2xDO4TZ4AJDzba6QmI82XgmnSMePHzPSElHUDv2MeUQs6i/Pk/Pnl8R0bJ//vtD0Xqga1dWHTG1sGj2U5W9nitrX/2B1/e3YVuPYRh/r+7AY2+3xsLIi3gMCwrMoOz+tupe3i6lduuFVkbVbnDkRF9DTIa/nVm6TdsTDrmGppLHP23zsTLWDK8Wal9dhVsVU+y3DqWLQJWMoaWH83jp4fDvNLnsf8FkraRD18/d+v9l+UDPnDvLPJ8oKVozNKpy45oU3xp07mkLKUktFnCp0OMwG/Km9ISfyB4zap2TUqJT98aS0IREhKxUOEhg9Iy4cQUDZ+hj3cXHm//zzz3H++ecb7+fNmwcAmDVrFpYvX47q6mrs2ydtYQcOHIiVK1fi9ttvx2OPPYY+ffrg6aefNlzzA8BVV12FI0eOYMGCBaipqcG4ceOwatWqmE290tPZ79jEiRMxffp03HLLLXH2ypq473ZVVVUx5EqOpUuX4uGHH0ZNTQ3Gjh2L//7v/8akSZPC5n/ttddw9913Y8+ePRg6dCgefPBBfPvb0s21rutYuHAhnnrqKdTX1+Mb3/gGnnzySQwdOrTT+0IQBEEQBEEQJzt6ws5E4jtm6tSpERddli9fbnnMF198EbHcuXPnxrzVMZj7778fPp8PDocDN954oxFiJVlS5sasuroaf/7zn3HnnXcmVU68kcH/9a9/4ZprrsHixYvxne98By+99BJmzpyJDRs24PTTmRe3hx56CH/84x/x/PPPY+DAgbj77rtRWVmJLVu2mLxYxYLbpsNti2/uH93DY+eviEX74qRokTFmespWequxF+u2qqonXts0md9hes1Wx9MVNWpiEYtBNvO7rMT16zfAls6+clkDNxv5BuvSDqp5F8vbdkR+NZ3c+1u9V64o72tmKzc5eVJFc+Qodinl3CtaplTMHI1MHdI2ynY3+UJvAWoftbTQz73e2LyV2TJle4Swl+uRtnmjCpjy4i6Snvt8Rb1kPR1MNXGnxb/y7LJJtcTWzGx8+mYo57o48g1UKCQiLlaiPLqZqXBD98v6bv55UkXitNOYOrZhA7NNa6hn11laKVv1O6/3Llb3PulSeJs+0KKk8Ph84pxECsTI4wRyG0ov2HXhD3A1ThceEc3qjrgXdfgVRY3bqzVy28xmn/B+yp49/NkHEQONx0SLGA1SD3oX201OePCzK83Wg23NgpQ0aedmVtJiQnjxFMfym2PwHyFitVYoOeL7oSLuq6mxVeqMm3TiPzSqotYTbLGSVS3NqmCw9ho7qVIICSIV6AnG4A3oJ34UwMmTJ5veC1u3ZIl7onbDDTdYpu/duxeffvpp0hO1eCODP/bYY5g2bRp+8YtfAADuu+8+vPPOO3j88cexbNky6LqOJUuW4K677sIll7AtRy+88AJKSkqwYsUKXH311Um1lyAIgiAIgiBOdRKOo3aCh2tfu3ZtQscNGDAA/fr1i5gn7omasPcQ+P1+7N69G1u3bsUTTzwRfysVEokMvm7dOmNvqqCyshIrVjBPclVVVaipqTFFJM/NzcXkyZOxbt26uCdqmhZZDYqmjsW6BpfMgqH1AptibxFjfYnGwjDKjHN1MHmrisRR+y9emhU11he7ojap9mpOrrJmuqTalDWYj/Q1M9jzsGJj7JtVe4sWuTLuqqlhz8cURYjX41Fufk3CLsivOPNRO8GVND1fqnUd45kS43ZvMdL80W6o9tDPg73kxXKsn8dKKnDLfpdmMrXKXigVM71YusEV8ZUS8Wqm+rzL6mCeMQNp8ljdFUMwxARjPKls0zcBAFzNo5MqxxI+LMIuS6h/A0TYtX9JFagZ8SmDgTiWRKX9VZC6FCXmoF/xkCpisfn5oX5+zv0Bs9oUThWTHhxjbra8roIvKQ2h6TFe8zF/N+LBiKvGxsiw2UxNGK4TBlWZTf3vYyLtSfL3sQeoggSRavRT1Gpy1qxZcR+jaRpuu+22qL494p6ovfHGG5bpv/3tb7FixQr86Ec/irdIg7q6urgjg4eLNl7D/+AVz5HyWOHxeAyDegAh0dIJgiAIgiAIgji16Uz/HSkTMa655hqsWbMmVcV1O4sXL0Zubq7x6Nu3b3c3iSAIgiAIgiB6JDo0BPT4H3oC2yVPFVLmTOQ///kPxo8fn1QZiUQGDxdtXOQXz7W1tSgrKzPlGTduXNi2zJ8/37SlsrGxEX379oWuR946YbVdUN3hYBX+1HKLYIq14+5wJhKpTqtdH7GEhk01xtgr/bdevYh8XoVDhRav3FInHIPk/OWfLGH9BsM5h1YigxH7Mnobr70t3FGAX7ZCBCh3K9susx1stDId0hGH6SS2sK1uyiHQPtsIAPB45Nde3cppiT+JC0M51sYHq65dtremhW3P7HtEqtXOWkXlHhSfAwxT1crrRlsjb4PcBqpxhyidvUVjhMYcGvXPStmtNip1nwunFHIDaBYyIhyRHHKnoMbrjXyvEVuK7YpTJgd/7eCXvZ2XIRx6GGWHuadoCaw5RmunqcwghyjhtkIGO05JCbRFjiCIEwQ9jHlNLMed6Lz66quYOXMmXC7m5O3AgQMoLy83tq23trYasdziIe6/HoLtwcAnPW+++SZmzJhh+vyRRx6Jq+xEIoNPmTIFq1evxm233WakqdHGBw4ciNLSUqxevdqYmDU2NuKTTz6JGOPA7XanMM4JQRAEQRAEQZy8MDGj8wNe90SuueYaVFdXGx7qR44ciS+//BKDBg0CADQ1NWH+/PmdP1ELF4Ng4sSJOHz4MA4fPgwkYSgbLTL4ddddh969e2Px4sUAgP/6r//Ceeedhz/84Q+YMWMGXn75ZXz++ef405/+ZLTjtttuw/3334+hQ4ca7vnLy8sTcp3pCWiwB6L3Lb6A1xZqTdwtk0QPeJ2acmKlZwe81pT/eYoIeK2qUUbAa0mH6RpnKyaNShDfnVVMwV29jrmhX78hB1UaC0L83eJvGvn+a6pUekTA61bFbT73VI48l2xQv0wWJDvDKRcTfI1SR7If4kGklYDXTWuYyqbeRLMVRa6Z16l6bNK5AmYen9hUg0CLbI+Tn9BavcFI+6qBuawffViW5645bLwWq1CJ3EtURbLJxsrc35ovMxw+yp6jqHbJuuC+fRRT89SA10ByOw8MjJARrI2Z3OZ27UG2i6AofYSRdUROfGFIbLF8AXke4UjHBSc/ltfF2xXsYEOo2E67vPYynex1jpPlbeSXvxBg3bwuR8DBq+bKdJCSFtnRU2zXkWyvzK/xb74RDoD3TdPN74WWq4eUEAHNWomUbvrZe+HYRgQ6V/sTa+iBExk9hmDmsZAqgTJZt/jkVp84GTmVFbXg73SqvuNxT9Tef//9lFQcjmiRwfft22f64+nss8/GSy+9hLvuugu//vWvMXToUKxYscKIoQYAd955J1paWnDzzTejvr4e55xzDlatWhV3DDWCIAiCIAiCIEJh7vkTO46wpusMJ+IgUmRwK4clV1xxBa644oqw5WmahkWLFmHRokVJt63db4t/lT3KCp4txrWEaCuBsV7ogWgN6oovTAKrmrGOUyJoFgpnqF4WHrGC5FXU1gbudT/DzpSGs8aegXFg22+H5WUa+fa3yvWnbCdbLW/2Se3Ow4WpXorr/0wne320TSpqjQfl61yNKVe+ZtnGeg+zhVt9UNY3OFN6NhVBh9v9su72KvZ55uqPjDTXVbEp0b56tV/s3PVOl95XB2SzPuR+I8dIs2dnyXqcMph3rGgHDvAXMi07OxsAsKZ2o5E25x8ssHbWWWHK4QVkZCRn21X+x4oYcllz4KerAQB9/vtCU/rWrUyVFfvgs9exwNf5NtbP4Tls28XlgdOMYyYVNsVVtwzGGyEQLw8MncZV4AyNtcduY9ehUF4DwnU+P0xEbXC7pKJmtzGFuNDFrrcWF6vfE2B1tPhYWWk+VodDd5nqMFReUzMj27OFs2sLcMUq4JfH27i9n/gDJJyyFqxsBY+auUXh7iri+2e22m1rY2Pj85tVO1N9on0p+atHLSNVWxwSL0cNlSH6150u7pMN3SGDyiOpH11y80/0JHRoCYZ2ous4HDFN1KZNm4Z77rkHZ50V5q8aTlNTE5544glkZWXh1ltvTVUbCYIgCIIgCILowehxmNcEH3cy8NZbbyE3lzmLEz42Nm1i8VTr6+sTKjOmidoVV1yByy+/HLm5ubj44otx5plnory8HGlpaTh+/Di2bNmCjz76CP/4xz8wY8YMPPzwwwk15kSg2Qf4Y5j4R8tipeDEc3ysxHrxR1uATeZLlNDaiuVB0by0dR7CZCfcDUikKyZhaBH2NVxCcKe7kWUcL1t71CsVrDZuW9WuKHMeHgV4d4tUmL5qYKrFqD5S8ak6Jm3dStuZPVq7Yuu2389UvJ0tB420NUdksO0Baaz8+g5Z5ufr+wEAhuyQHb8+8AHrwexKI01XlCfbBqZctdVLD5jFbqYCfG+09HB57jlMGfJdOt1Ic7tkHx1ObocUx4qxtof1zW2XYzqoF9sGvefQK0baQ/8eCQC449crjbS8OSNlH4YMBQDk5/eKue5U0+9adj7FJSVW8MvKygEAfr4in/nDKwEATu78aPQPWfrY9z6WhaW7TWVFQzhSiqCnAfz8ZLnYNZTnYteA08+2lEsbKx9/Nh/usCteHzNYGeW5zKavvYOpgx4eCLuFq70NHey8ugOsDrtmDlyu7nYIuWyMBKGYm9U4YQPl83OPoIqtpsbVQxsfwGBlTShpDruoSgT/thq4YESb7UHp3C6Oj19NdTV/H6lQ9lm8ao8ptjd/VuOIinF1Op1hjooP9Tsdq/qn9kmoUS5XAqp7ihQoVRFTuxBr8er4JgcpEUTPIVFF7WSZqAUHvg6OLZ3I/SemidqNN96Ia6+9Fq+99hpeeeUV/OlPf0JDQ4NR6ciRI1FZWYnPPvsMp512WtTyCIIgCIIgCII4eTiVbdSS3Q4djpht1NxuN6699lpce+21AICGhga0tbWhoKAgaJXt5KbRC3jjvKCiOVCLaP+U7GJZhLZGu6QS+bLFSjxeHWO2CEz1wqJF/9Uxsxofn5Lm8RvL7hIt6DMAx7yy4c18tUW1XujgpiqfH5XqV6uNeZLsax9gpO1tkTZqLVxJa1fk32NcuSvr199I+/f2V43XtR6miOxq72OkZWpMuWh3Fhhpu7Ywb5aZz68z0hx58iy1VbO+1TdlG2ll6ay9Z5wpvT76bvkBAMDrlSvL6gq5vZp5MbQ1SvsqvYx5NNR7SQ+O2mHpKdK/i3m7zHMWGmljs5kq2NRbKnfN1Uxx/Nd+GZ+x4tUtxuvShyexPmZ2XvyxaATGjzG9F94ds7KYMip+FIQ9mbFS52L348C0qQnXnZ6ebiozkurh4DJTgOfJTGPnJtiU18+/CFZfCxtX17KL2TVe1Mps1tq5otbKbdOa+DV8rJ23L+gnzOGQqpRou2Jpxttl55+bGxjgLfJ4fDy3LNvGFbKA8AgrjhEeGbnqlZnFr5dw46WspoaLOxesRDY3M0PTJv4ciwLl8yUelVIoi9u2bQ9JUx1wDRgg7z1paelx1ZGdLe1SGxsbIuaVbZD9bm5m94RevQoiHNG5CO+bCGpbrCvmZhu1xCEbNaIncapvfewMEnYmkpuba+zDJAiCIAiCIAji1EXn2x/j58RecBg4cGBCiya33XYbfvazn0XM0yO9PvZkmjoC8Opx7v+Pcu5iPbcxxwGKcW0iql1aFy1xpGp8jPxJfuGtxk96U5NpATUff+lXMohXfotxDCjXkKp6iXhjdqULPp7Vp3iB07j9zHGPLLy6XR7TyBU1n3KpHuV5OwKynByb9MLo11m6S5e3BacmbIRkPRsb2Oq5Z7NcRc92So+UHm5np8Zj65vN1IDMadJGLeo6+ufMhm3Xu6qywVS24mKpsrmVRXVvPWtncVqbkXZWIVM5ij1FRpru3gsAGFlWI8vpI+vRGrnRb+/yaK1MDUI1/N8PjSR/PRtTzcmVoBI+3t9JXCmLG64a2N7n9m5uuXui6W2mZL51kCmw9VwZ9Tm4QsqvI/E98fEvgrDDbG2TZbm4cuZtZmqXk3uS7MXt31q4F1QR66+mnanHNgTHarP4shlxyhymZ+HJ0bBR87N2O23Cxk5R5/h3T03jB7GnQIc5ObQVYdsl35rfR1fOErtBn9h/DhEE0ZM5Vbc+Ll++PKHj1J0J4aCJGkEQBEEQBEEQSXGqBrw+77zzOq1smqjFSX2HFy492DuXJFZ7qmiqT2fuO4+2UhurIhfrlzFVY2LKG+f42KKUHbBU0VR1jNuoqJ9b5NVMNii8bKUcox7FhERtm4i5lulUvNfxQ4oy5VZjjSsbtnRpQ1XXJutp4If7lLpbubyWliVjuE0cONl4XVO1HwCQly6VDqebqQu9SqQt155WVnhDQH4PRLsBwMHrzlLuLkXcRs02ZKCRls7tXRyKh0a7amPE2/FpnbRnqW5jY9X3qByLUTktsp4cptz1ypGKWnEBS/vmRCk57hftzRsi+3BUfp7/EbPPsQ8aLDvh6LzbZeCl9wEA734sFTyhtGY52Hkbkc9UvpKLrW2bUomwFdT/+20AwNNrmfL65fFWI89xTShmzNPmcbDrJy3Dw9vHYuLp/GL38GXWhg523JEWee26mpm9zt5aJo82tbM+C/WtmcdRO+4J8LrZWLT5jrM26Ex5y1bi8EmEd0fuudF45ufTiPfG2tnWwtUzqIqa9V3MH+DXjMbaVVxUZJkv2E7OiuD7srBB3LtnD/88druzjg5vDLmsaW1h59jvD7Wham2V53/Llq3G6zPOGM9fxXZN9u/fz3i9efNm43Wsxvh1dcwWtVcv1StrbHWn6nsTUGSDgLJLIdY4q6my7ScTNYI4uaGJGkEQBEEQBEEQSaHrmim0SczHdUprTg7inqjNmjULN954I775zW92Tot6OA1ogQuJe9SyxagvaQlc6LESu2LWOa5GwxHr2CCB8Yknv65ZqGuGoibHJKAp1wEv3qaorW6d2dF0aNJ+xc+vHYfy1cuEtPVycxu1dLscCy+37RkxRKo77Xz13asM2TFlFd1KzfNCeLOTY9EnTyoAfYeyNvVyKSqci3luPKwY2u33MeuyI03Sy2SaJvvj4gpZtqKOOWxMFRuw7j9Gmv6tb7Bn5Xo02QBexO4xV/f60kjb/AxTx5q9cjVavUo9XtaOvF5SHcscx5SbwHnfMNKKxBgo9bn/b43xeu9HTLFzbfzMSBvyfXaeAudIFdK2j6lI/vdkv+xlUgEMVLI+qB7e2ttZ25wO2Qf3j78LAKgsW22kNX3O1IvMwbyts2YAADo6OkxlCiVGrNBHUgxsa5mnTv9OpkjYCrj3xNJ8Uz598yEAwPFGFoOuup3Zo+3GJiNPfRuz8xO1OZzsfPcpEHaI3HshH+S2AGvvcX6ODrRJD4Iaj5O2u52NXU0jU0RrW9mxO9qZcnZQZ545vX6monp93LZPZypeQYH0WGrES+OKmY3HXBOx12waUw2FGufkCmBLUx0fV3llyXhpwsOlsE1j9Qpvk+kZ8Xg/NN/vxHkLcHu3Y8dYOzzedotjI6N6JIwF9TtYzeO1xXKUQChtGRmZEfJLVDWpsFB6aD2seHCNRAtX/VTvlo5OVLytkf1Xx9vhiE0py8yU6m8s3lVVhOdSfnRMxxBEV3Cqbn3sTGL/y5jT0NCAiooKDB06FA888AAOHjwYw1EEQRAEQRAEQZysCPf88T5OdGcinUncS1ArVqzAkSNH8Oc//xnPP/88Fi5ciIqKCtx444245JJLTvqYak3aUTg1d9jPQ7yCxUCyXgpTQawqm+mYOGwmBN01PjbEX6+KsF8xqz9KHB2ebrMpypKf2fUMTZNqxXEvUxXSFDuG/tmybYVczfIp9extZv1vd8vrzuNjq+7tulTRPJqMR+bnal9Ak0qOUAMzdLmS67ZLBWB4X2bv0T9druDv4arH0WOy7GYbU9SO6zKfUCkAwBVgx2S1S2XJ1sCUubYDx400EReqwyv7YFfs1YRK4Zow1kg7bSJXR44ckX198xPjdcteNlZp0qQO2liuRObmGWlpHtkfo75sORZH21kfqtrkmDc/z1SeEeveNNIaali+9w9Ib5ZNiofMa6eyeg4cOGCktbexcXOnybIHC1u4Sy400rIuYc9ild3XYY6r1d5uVnOysth5DY6BBgAar3/XK6zufc1sgFw8BlquiykUDq4m13MPmbVOdj0XFnJvmrWD5ICJ+Gk2pm6VlrPr3OniSpb4LnBlqh3sPB/zsH6rdl++AEs7DHad7GxiZe72M8XykIcpll6fvH6gaAl5eew4Nc6X+CzYNs1uY0qauI+L75CvnX3e5mXnWcRGU1/r3BYp2DatpKSc1xVm7dOI6Rb+Xibipgk7rUOHDvL0sIekDFXJUe3QYmX37ioAwOmnj1JSI9235WdlZWXG66NHjwIxKIJC7TxyRCpwZWWxemjt/t9bAHA65W9FTg67VzY0RPaFK+6PQ4cO7eTWEURi6KSOpZy4FTUAKCoqwrx58/Cf//wHn3zyCYYMGYIf/vCHKC8vx+23344dO3akvqUEQRAEQRAEQfRImHt+Le5HInZtpwpJbequrq7GO++8g3feeQd2ux3f/va3sXHjRowcORIPPfQQbr/99tS1tIfgCTTCH3AlX1C4ldeeQJxx4lJGF41JOA9uwag2c1b2erqy4u6HsBeSK8GN3BteuV/acw7NYcqTGmfEodjEZfD4UYfapbK0v4UpJw2Q3g2dOiun1SZXv9s0GVvMz212Ahb2lDbFnux4h1SRWnxMYchzSZu6UU5WZ5MvWxbQwNSYA7Y9RpInIOv2gL1W1cVBWez4o3bZ3sY6poqFWz1vbGxkY5IpvQPm5jLbsYx8qVI6bvi2/PyzLwAAumIf5+d5A37FvpCrFrb9+4003SWPGVLA7IMaaqU095961o72LTL23P52di9Yd0Sqix1Kf6buZ0pWY1OjrEfYFyo2hYe5MiBW1qEoYkJJa2pi49rUzJ6FrZpAfF5UVAwEeUDU32bj8vYhZsN1kHs2dNjZOcpwsH6IK16YJLZxT6H5RazPE9Pl9dIQYKv6bRmsb+0aO5/tHQ28/cI2jJXt4+pui0/Ye8nvV2sHS2vk7Whws7Fpb2dlCU96Dkc6H0P2eSa/Nvr06WOqk7/hL/h5FZ9pwgsk67tLY3ZV+6p3snb62vkYyPEVdmMiLcAVNaFwqHZWKvH86SGui+ZmNp4+4/zGfz8WXjtjRfW26I/R86KKl6viqidEmy223qsquvDieERRzCOh5istlcpc7J4d1Xzx6gBK/MuEdhLJ40UspY0bN8pP+XWany93AvTuzZR7u538wBE9l0QUNVLhwhP3t72jowP/+7//i+eeew5vv/02xowZg9tuuw3f//73jT8y3njjDdxwww0n5USNIAiCIAiCIAgzASQY8LozGnOSEPdEraysDIFAANdccw0+/fRTjBs3LiTP+eefj7y8PMvjT3S8gVZjdbWrCWv/EAN6d6lkPYRoY2epslkdY+EJDgB8fqZg+QJtShp7/S98BHDlaEw78xjY0CQVqMO10s4ii9vYZObJOGGuTKYipNmlTZOPK2UBSFXPG2g2XncYipr8XCiAWfYCI60sXZZZXc+O/+sReX2LkGrpGdKma3AmOybfO8xIq+uQipKfj0tfl/QAV8Lt2rb/rdZIc6/8G3suUDymFcv2BEqYCtdeIFWmeh4Dzq2sRuc5pHqQV8D7dlAqWB1fMKXEc1iqed4W1kebQ5bjyFHsC3uzcz+8Wf58fN7AVJvtzbKNB1rY59WaPIcZijdMYU8WMP1ysdeqXdChQ8zT3uHDUiEQtmeGjRr3cCdiNhnH86cOL+uTUDd6l0u7uSyubuzl8cq2BdiY2AJcVfIK2y7zNZ+ms/R8G1PnBhXKuFV2jY31UQ8rcx/YNXvczlREv597t9SETRpXCIWiqHgSbedqpyeNleXk1WQ3s2vAns4UPRdvpo+XnZ+XwcfK6vstlDOzuiK+B36uynXw+IP1zdw+KiBUM8VbK1fSpIrOjsninvuEKhTfHxvi/mE3va/mtmmBsMZp0Wtxu8PbUVthUrWNeuNRm7hX3ATiian1FBczNfjIkbqY6la9qXo88h6Ulhab901VdW5S7snxHmv2whg/QiEbNWpUSJpZmaTtYUTPhrw+pp64//J/9NFHcejQISxdutRykgYAeXl5qKqqSkX7CIIgCIIgCILo6XAPjvE+Ep2pLV26FAMGDEBaWhomT56MTz/9NGzeqVOnQtO0kMeMGTOMPNdff33I59OmTUuscSkibkXthz/8Yee05ATBYUuHwxbf/n89Stw1S4+LMSpgepS1C81YVY4yJ7f43MpDmZak90QrrMYn1jGJ1n8roqlnot9qX43YY8qQBJQ2avYI48vL3rjpK9RoTGVr1Zsts9pb+CrqMVlRdiZTKkYPHmOkpduYtOBXFLMWn1yF9vpY+aqakMZliiy/tDc7cEx6GduykzkB8vllmWIsnMqKcRaPlTRisPQAmKuoWjq3cWlvk338x0GmFHW0SlueNBsbv0yHPId5Tnkt5LuY4pHjVlQ4t4/3y0hCVUC9jbFxaeqQikKDl7WtPaCcTxv7PEupO98tVcNMbqfXoigN1S622r+5VbFHs/F8mvRGOAhyN4G094n8KySUCK9XtqcjnHBvFtKUdB6vjHuVPKCEThngZuUWuNkYtLQw9UhcJ8FxwgSZTm7vpo8GAJRnSFucojSuJrax8fXWM3u+Dhurv53bTDo0dk60gIgVxY73KrZQ9VyJrtOY3aPfzRTRfDdTU3vZmXKmcRtOn5+ro1qw+iXLFNeuVB65l0oez83Lv4P7qlnMuA6ugPu4N1O/unNCxE0LUtSEzWQyq8GifX7uyVV6XUx8F0S8NmqqMpUMsduGWSParapxqkoXCeExEgB69+4TMa9gyJAhxutt27YBANra2iIcIeO1qcemCqczBfbvBNGNBKAhkIDym8g99JVXXsG8efOwbNkyTJ48GUuWLEFlZSW2b99uqPMqr7/+urHjBPyeMXbsWFxxxRWmfNOmTcNzzz1nvI93h0KqIYvUONm0aYfJGUMsRHNjbzXZiHWrYrRJYKwTK6uJnNWEJhH3+tGwGp9YxyRa/62wGhPNNFETk1t1ohY6FqqDET8PfCsC8QJAB3+d5S4NOZYgCIIgCOKkIsGYaIlM1B555BHMmTMHs2fPBgAsW7YMK1euxLPPPotf/epXIfmFsyLByy+/jIyMjJCJmtvtRmlpz/m7jSZqKSaRSYeYbJjSxOovQtOi1adiNbEyvLEpkw/TREV4RVMmNMbnulqOPaScaIj+mGOQibTQMVHT1c8DVsckEddN7b/oj+q1UIyF1YQOAOxcoUm3yZWXdK5gObiNjtcXQK3OVCs1RpNmeR7kilRjE1OU6rdLO6heuUyZylNs2TSXVDuEpz01vpnNy5SwbdXbjbS6RmkT1co9N1q1TQsofW1m47Jr0z4jLdMt7dFcXF2ze5Qx9XAvi5A4+ap5mqJGZjnlNZfjZOOW6ZC2IOl2Hq9OuRD9yli1+tnrpg6Z1sI9CvqUa8XB7T4yFRu1fLesu4APW4ZDqmxHXWysDrqlcqlxBdCuy5Xw7/SR3jCBfogPNU5f0EdcKRMx5LSDNSzf/mOsfzVcCeKCjD9L9m1/LlOmertYfDR3G1NVWwPc82bAy+tkzxq/fjQnOzelaez9hHxp51eYwZSHbfVMQaxqYteFk8fR6wD7PFiZF0OertiVubxs7D0dbHHD62eKWlY6s4OzO1iZAeGJURPxzHTeXnEPtR5VdixX47j9psaVmvpGpsT4+GKLUNzUe1AgjKIW70qrulPAcPbKY7HV1zfwuhJX0oQSFbt9GKOtVapIyaiD8dYbjFDk7HZVUYtNlW5qst6lELk+Wc+IEacBQbHZampqeBtk3aeffnrIsQRBMLrKRs3r9WL9+vWYP3++kWaz2VBRUYF169bFVMYzzzyDq6++GpmZmab0NWvWoLi4GPn5+bjgggtw//33o6CgIGw5nQ1N1AiCIAiCIAiC6Db8fr8RlkfgdrstF8Tq6urg9/tRUlJiSi8pKTG2MUfi008/xaZNm/DMM8+Y0qdNm4bLLrsMAwcOxK5du/DrX/8a06dPx7p160yhRLoSmqjFSXN7ddwraVEVNcsV1FDFKNayVay3L4b3kKZ+Hm07ZKq8UMY+PlHUxSTs1cx9CU2LdSwijYk/0A5deOxTV9YVxcE4XrH1EFttPc3SK1lDK1PZnLXyBpaVIW2jsnmojIASq6upkXn6a++QK89eXdpbBbiqoipqVv0X7WlUbMMcPqkoOYSaB5km+mhTbjkOP/s8zSc9tKV70ozXmTYma2UoN8d0LsfYlZV7v7La3dLBxrdZsblp53Z8PkUhcfJ2ZCn2pr0URa05jZVfni6vqcFubsvU0d9I264xFWSse4CRln2ntG3y8qZphw4ZafoHX7HP9kq1ztfOrx81DBi3nxNXQsDHPvS0snY2NLNxq2tjqmqdh634tXH1U9gAAkCfTNamvF5MBZ1oGw4A2OJmx/g01pYMnStvdnYtDeILjUMymNLVt0iqDblnMKWz/l1uk+Zn58vL7TD9hjrH2tOhiVhkrF3Fbjm2Lg87N8dbRgAAdjo28LysXQ6NXyNiPMV3lJ9Hjcdos5LUhApmqHH8MtC5DZr4Pgg7N3H9mxX6QFD5XNmNZJsaBeMewMsU6k0i24YEcmU4vI2IVfENQX8chSLKs26cUNKStVEzarO8j0b2QhmrLVv4Oln5qm1LYSFToNXfm2Q9PBLEyUzC7vl1FkdQ2P0KFi5ciHvuuSd1DeQ888wzGD16NCZNmmRKv/rqq43Xo0ePxpgxYzB48GCsWbMGF154YcrbEQs0USMIgiAIgiAIImkSDXg9evRorF271pQebnt5YWEh7HY7amtrTem1tbVR7ctaWlrw8ssvY9GiRVHbNWjQIBQWFmLnzp00UTtR6PA3x6QkRXcGYmHLFkFZiwlxfMxKl3U+2b/ITjdShXW/Q23UzFikxWrbEUVRNLKZ8sXmgCQSut5h7c1SLdPwLqmWzer2qaoWt5/zKo5t2hul4lbfEnpzE17s/Kb4UFJxs1L7IrVRU1aW1f4Lxc1mGj/N9BnrA1OznJBtdWoZxut0ndlRpXfI/ePpHewYh1KfX2lvM5gNVYsmx8LL01TF1c5Vv0xdxmhrb5OKpI/bnKl9KHCzsZpasNtIG2Fnni8rx2wx0mqcI2WvX10FANj/kez3jnpmX3jUq9jh6MK7puyLUMQcNvP58HHviU1cYTvKT2FdO8vX1ME9Y6rxqXi8vCHcFqk4nyl8Z6Wx/mdwG7ACG3eAE2Cx0Jxt7L2DeyTcWyX70Zerto3tQ9mzzspu0Xk8Mh7rTNiENXBl1O5nz2lHlX5xW8l8rqzltjGFstnFxtrO1VsrP7QMfi1qVvHAxO4Erhgb79mxno7j5jJC7NHka/HdEGMrPADGjtXuAfbcbsQBC3cfi/7nT3l5eRxtUZTo5vjtu1QyMsT3NjWKmh6If3dE6jyzKbsZjBhmZI9GELGg64kHvLbb7cjJyYkhN/MQO2HCBKxevRozZ84EuD3r6tWrMXfu3IjHvvbaa/B4PLj22muj1nPgwAEcPXoUZWVlMfYk9fSou4+u61iwYAHKysqQnp6OiooK7NixI+IxixcvxsSJE5GdnY3i4mLMnDkT27dvN+Wxip3w4x//uJN7QxAEQRAEQRCnBjq6Lo7avHnz8NRTT+H555/H1q1bccstt6ClpcXwAnndddeZnI0InnnmGcycOTPEQUhzczN+8Ytf4N///jf27NmD1atX45JLLsGQIUNQWVmZ+KAkSY9S1B566CH88Y9/xPPPP4+BAwfi7rvvRmVlJbZs2YK0tDTLYz744APceuutmDhxInw+H37961/joosuwpYtW0yeXObMmWOSOeUKIEEQBEEQBEEQydBVXh8B4KqrrsKRI0ewYMEC1NTUYNy4cVi1apXhYGTfvn0hnmi3b9+Ojz76CG+//XZIeXa7HV999RWef/551NfXo7y8HBdddBHuu+++bo2l1mMmarquY8mSJbjrrrtwySWXAABeeOEFlJSUYMWKFSYDP5VVq1aZ3i9fvhzFxcVYv349vvnNbxrpGRkZKYmLEAi0J2cwHWF7XrQtZzFf/lHd1IsLN0w+3aJ/fAtYdEN3K5E21nZb54s8LgncEizHx6LdEcYBAHQ9siCtGWMWGpIgGlbOTWxKqAXhGEENoaBujezwtyIY6WI8XBiE0M+t28PTAsr4WGxztHS2ojpO4VsnvZriiEQJb+CxMQcHrZp0z+8CW2BRt0sGlD60oh4A0BaoN9JEjDsVO9926bNJZyp+ddtcO1tpcyhty3IwZxmF6XKb2LjhXwAAGgdLBwTtj6w0Xq/fyu45Gxtkew+1sHpaFIcnNn5Pcdvk+Aj39Wn8Wbi1N7bK8dN0zMPKqfEzxybHNLZtUd3Wmtfam+dl7SlvaeB9Ys92TYQ9CPB2sPcZfJwyedgENSB5XR07dqeb5T1qq2bt8tTzdvItmHzboggBIIK979opr4++fCuvx8/KsvNnZLJz32FnxzgcbBzjchzEB0yGQdFNzw7utMXjES7qRbvCOzQSTkQcDhn+IpY2wOK3w+cTW5ET9yIifpPiWYDUlZu5zx/rvcnaoYdVcNlEMIJ/x9weSVFRatpAEETiJLP1MRHmzp0bdqvjmjVrQtKGDx9uuveppKen46233kqwJZ1Hj9n6WFVVhZqaGlRUVBhpubm5mDx5cswxEQCgoYH98RAc2O7FF19EYWEhTj/9dMyfPx+traF/yBIEQRAEQRAEET96Eg/Cmh6jqAnXxFYxEcRn0QgEArjtttvwjW98wwhKCQDf//730b9/f5SXl+Orr77CL3/5S2zfvh2vv/562LI8Hg88HrkSL2I7MNUhGYPpWNWlzrxsLVYrlZVey5pjbk8yLpKjjE1XjQkfi+jjII8JDuobkhVxODsJVt94e/x6qEJlFVYBAAJW7YFQEtR2RA6DID9T38Uf8sEqn6YzlcYPqfz4bYrLev66wyaD8XptbDuzqnSp4QQ8PGi3xy+diYgAxqaWcQVHtyv9V16Ldtrb8o00EdTcrih8bZtYORnbpXvzjcf6GK+3NrJy9ra2GGl1GnOcIZycQAllkOGXZWf6WF/TwVSbNLtw0sLHh5+UBu604yiY6/3jbXv4uMhxbXNylYtfAw31bCHLxc+Rg28PcfFnN1eMhKqX6WDnKtspL4QDbez1PicLuH08l9Xv8wc7pmBl+P3sfLa3sf4faD9m5Ajo4wElCHQbvyY6ank7+nNVThMu/4WSHP5+E6LE68IRiHhm9O7NHHDs3rWDH2ddmkphIXMIY7PF+VtgFT5AOM5IItB1Xh67TuNx9mRaVU7y3pqdHZsDgGi0tnDHPzG2R41rlJ2dFTFvIsh2KOFUOsWhFiv/4MEDRppwVKMuOrtc4r6XGqctBJFqElbUaKYWlm6bqL344ov40Y9+ZLxfuXJlxPyxcOutt2LTpk346KOPTOk333yz8Xr06NEoKyvDhRdeiF27dmHw4MGWZS1evBj33ntv0m0iCIIgCIIgiJMdHRr0hBYSaPEhHN02Ufvud7+LyZMnG++FelVbW2tyg1lbW4tx48ZFLW/u3Ln4+9//jrVr16JPnz4R84p6d+7cGXaiNn/+fMybN89439jYiL59+3K1IYYLKkXLA9Ht1hLHpAJFbS9fuU5RQFMTCYxVqscl5rHQwtnRCcKvtprbHG31XCknSAmAyUbHFpwtBpS6dbXMWAsQgZgVFdbK/s7iWtGjqIKqzZywqVNtrYR65lVWtf26Em6AqzY+xUZPlGNSHPXItz4bV6/saliGFqYadPilmnfYE2oTVN0i+7Cfu34/jD1GWmvHsZB+Cdu8Nnu2zGdjK+mZAe5C38+CPjt4m4TqdAjbAAANbXt536WaaJTF7cNq+ClpcTBbNRGA3AnmrMnF6xBByDM8rF0ZfDyEsgYAdS5W2HY7d6Gfwfqq68E2gebvhNfH1MWmtmoj7VA620mRxm0Q2zV2/jq8TC3MqGZjXtCbqYuaYSAurtlISr75uxZ8lefmsjEXvzs1tWwHRyCgqiisr9nZLK+0d458P9RjyCWUk/jvaLLUvn0j/+ZZEVBd4Gux/hZYf2ZPIvC3WmZVVVWEWkLp16+f8Tp5pYvVWldXZ6RY7eaRu3WS/S2UvaypYd+Fw4cPh+Q6dOiQ8drpZNf/iBEjlDRXyDEE0V3oiQa87ozGnCR020QtOzvb+NEDl/5LS0uxevVqY2LW2NiITz75BLfcckvYcnRdx09/+lO88cYbWLNmDQYOHBi17i+//BJQfpitcLvd3erlhSAIgiAIgiBOFGjrY+rpMTZqmqbhtttuw/3334+hQ4ca7vnLy8uNYHYAcOGFF+LSSy81vLzceuuteOmll/Dmm28iOzvbWAHLzc1Feno6du3ahZdeegnf/va3UVBQgK+++gq33347vvnNb2LMmDEJtFRPydS/M5WyVLXByu6qO75NXTFWVnXE1X9jRTqSUhaPDYqFnVgUlS1Wwo9nfDYy4Wvm7bQYK5MqKFQ41Zulssqvcy+MqvolFDVVwVMDEwcCocGKZcBjNWA4e/b7parlhbQjM1bn1SHn5Xja5QLTcS9b4fYrfT2uSxutI2AqV2OHXBXv8DXz9si++mxpvH+KMsS7HdBYXzxgKlcbmMOkeg8r29PBFYAgVdMsknCPi+0HWRscTLFy2Fm9QtFz2lgdLm6HlwbW1zQ/s5fL5IobABz3sPNWm8HiVpYGrH9Ogq9RG/co6Q/IcTruY33JtBcBALz8Mx/32NnSwI4JOJjK2O5jNnfl5cKmOYL9ZZR7lhgmsXBXWMTsz9rbpUdQG/dQmpbm5u/jU28iKWsat3PLzWXKqXCIFY2CAmm7FH/gbcDvU79D1t4cYydedUnWsW/fPuO1t6MjTH7zMcJWKz8/P0L+6Kj3m61bWdB61Tbdiupqpn6VlcUTXDwU1bNlTU1tTMd08PHZtGmTkTZ+/BlJtYMgUkmijkG6/y/inkuPmagBwJ133omWlhbcfPPNqK+vxznnnINVq1aZYqjt2rXLtDXhySefBHhQa5XnnnsO119/PVwuF959910sWbIELS0t6Nu3Ly6//HLcddddXdgzgiAIgiAIgiCI2OlREzVN07Bo0SJTYOpg9uzZY3ofzTtU37598cEHH6SsjT1DC+saElLcUlR2TyBmlQ1hVu1Tbs9npbKpRFvlT9yrXHxEihWowmOrqeqYhRdKTVPThMqheNzUQm3lrO4LqrIT4DZbmuK1zx+Q4+f1txhHGWXbWDu8mlxxbw4whUlX2tisyRhubT5mt+XzSbXObxHjTuDzS3XRw5XGDo15vRSeLL0dIk4Za4dQU7KymPqVnp4eMgbCa21raxsv4xivjy2C2bmi12Fnn/vswuNmK28LU9jakRnSZk/gOH9VYNmn4DPhdITGcWz1ssU3zcU+6wiwdgQCTEEQSuOBam7fxz9PS2Ol5+fn8ZKs7S/jQcRGy8qKMUZaHFi3iF1jAwcOAgDs2rUTANDU1Gw6StrJMeWN2Uyby4iHxqZg75wCq/tIqA1gXl6eRb7YqK2VCpK68GpNaN8GDRoU9rN42L59m/E6mpImEIpaUVGRkRZzPD0Fr1eq+VaxKyNhvr+pr8khA9G9kI1a6ulREzWCIAiCIAiCIE5E9AQX4mmqFg6aqBEJcyKoYqlG7XNURVGsesalrMXiJy4cXaWYpQpuO2Zhewdl2HRdtVthK/tOxSZHxhYCWkS8MpM3S/GseJzkdQfUshUbNr+fVS7XvGVJwmYMADpsobGbPIrtlVCG/AF1td4qTh2ryaeoej6vUJVEK1i9InZXPo+dJWyrnC7uEdHieisoYHZXu3btAgC0t7Gydd4uoZfoxjkR48Pq9Nu5B05NsekLsLHOEmZrwQpWcDv45zYe+8rlkipEezsrq52rhQFDGe0Ies/Hnr/fv5/tsMjJGQUAsFvYjoW7SwWPUjJ3s1SUJezehg4dCgDwcRsyn4+NgYgZJtQbq/McC8IuK3p80tDrNCdHxkuTqlY8iHhhB+M+xm6X3/mMjFBvq4nQ1tYWQy5rDhyQMc8GDIjuxCwYk9fNJBBqOQDk5OSmpEyCSJQAORNJOTRRIwiCIAiCIAgiaUhPSy00USOIBIlLXYtSUmxpXWV/0BVe31TCxKYzBEnZHgdfVc/OkZ4XMzOl3ZTwGufxSI99sm2q/RJLU23ihD0UoJjpKKY5QksStmoqfkV7a/NJGzXDNs0qzpyCUIr8fqnGiVYL5UQoh2XlzNucsBGyBSkrVmdPqFf9+jG7pq+/3sHr5e0yvGnaeDvMWqKhaNmlmtjGY8SVZReG61S43gJB6kxbG4sf5QuYFQ7daJd4FmPPnn0drF1HuZ1TUXFxmDrDtSJRhJdJ4cHSHFtQxHmTpyae7wfLK2wPE/HoGExbq7SL3LGT2cD5fL4IR8A0QsV8XM0xSuP/zjc3h7OLi47wiplo3ammqUmNVxi/nZiIiZYsqt2+9GTd/eNDnJok7J6/MxpzkkATNYIgCIIgCIIgkkJPdBsjzdTCQhM1gkgBQl1LTlmLXoukM+pJ5k4Z7dj42yuUNFUxys5mSlphoVRxTDZqLUzBiubBzThfJo+TEsN8RDWf84f2UdigeX1ydd3vlx4egxWgcIgeqvG5RL96FTBvigX8OexKfMRfR1ZDRgZTH9287HZjnESsOa5c8fwi1JOMaSdVGH+gibezjB9j7ktI84LaonoNPFzLFDVpjycO4kqecbR5HEV67WHmRVDEQIMaCy+lsPqEbZOwtRLXnbA7svG607kt1YD+/QEALrdLKSv13+HgEkWsrm3bpHfDWL/lquIplbT42yxiG0KxkUyE3NzEvUyaSc1fhNE8TkfDrJSKcY2/TFUZ9fvZ9SfsGQmiq9ETtJaneVp4aKJGEARBEARBEERS0NbH1EMTNYLobMLGvDmVSMDmjo+bO10GvC8qZrGLRKwwBHm/y81lXs+OHj2mFBPrmKvx2tgqtckxGxdoOnwy0WfYlEnVwGHXQg7SdTXWmzkultru/Px8Iy0zi3mUlCvv4RQi8/plpLV5Uaeop1p4/uNtMrw98v5IUz3u9VGxXRPNsgV5WgxW1sKNvtstz6tolx5kyxdOSQsu1evtMD2z8t1hak6cVm7rtWMHs/ETilUwft4PYZO1ZcsWAMCwYcOMPBmZoTHpUoWI0SXaGd9dh+Xu3bu3kpa4+nf48GHjdbjxigVVOU+GVHmXC77u40X9/svrP7nGtbczpTczM9QbLUF0BYlufSSvj+GhiRpBEARBEARBEElBWx9TD03UCCKFWHmCFGl2u82wYUl25TS5eGs9hchjYOeSjYgTBkVJC2d/lJ7ObIJErDEA8FvYlkWN4Sa8+qlHBEQ21TNhh6ldADBgwADZhwhxvdQzJ+zONFN+87HB9o/yWuP5NKOBIXUGk8cVtRpuG2aofEG2agEIb4bsXAT8su+lJaUWPQntZzhURUIoCoGQtsf6k8+Oa2xsMFKKimL3ABkNYWclbKxiV4Z47D3erx07dxifjB7NPPQlq8yoiHbt2r0biGqrGfkMJe+VkJV/5MiRJMthqN/p5EjNn4Tqdz4xG1x5jN3OrgGfL7nYakLxJUWN6C50ndSxVEMTNYIgCIIgCIIgkoIUtdRDEzWC6CT0oFvPyJEjDQ9dqg3VYe6xLtW1n+gIz46q97lonvwcDjvPF+sKd5gYblylMnmFFK81eUwG9+rXn3v1Q/BKewqWFsN5Eg1WbOMhjdtvSeWQ12EErxPKGn82YszJ8SgoLIi73uhE+4mP3Fc1TldRURF/lbwSU1/PYuN1dHREzRsJVYlramoEUubNkI3LsWPsviLipulBn3clYvdA9HhtsRH7dzoyye9mYAgvrKkgVapqMjaABJEa9IS+Y6TChacz/BcTBEEQBEEQBEEQSUCKGkF0EU6nC04n81zWp49UXerrjxuvhbe22Dl5l6GKi5mNUTzxsCLnVT+LptwIGzalbP4sziEUJS2aipaAz0uLA4KOMOzKhLImfTQGlx9cv8btfbK4Z8nGpiZzvjCXVVaW9FSYbKwmNb5WqG1aYqRKLeGlGa+OHj2awnIZwnZLePxMhfJ37DhT1BJRWYNJVsESpyJ1XhZTExssVcqcqvQnS6ralCrPmASRKAFyz59yaKJGEARBEARBEETS0KQrtdBEjSAIgiAIgiCIpEg44DXN7sJCEzWC6BbkVpeRI0car3fvrgKC3IwnUqbLxVxr9+7dR/mc3QlVhwsNDbKe+Lddph7VqF4Geo6d2HcQiXpi908lXOf379fPSEtP40Gbw/zKRPrtsdpWGRHD0UeU3FqQYxDrTACAAQMHAgC2bNkMRHD8IFy1Dx06NN5Wh6WpSV6H0X+lY/sVz8rKVt6lLnRFZzhpaGtrT3mZgUBy7t1VknVwIdzpq+Wo211jRWwLFI6CkiXZbYZ5ecz5SyrDKqTqvGVkdF4QdYKIhQBo62OqoYkaQRAEQRAEQRBJk4iNbCrsak9WaKJGEN2MaiQ/ZMhgAEBrqwwsvH//PgBAW5tME44cxOouAJSUlBivpVF56OpxPg92DADl5eXG66+++gpIuUOG+HBzt/GMxFe+zX3grva10ODWelgHI6FhqQdwxyGpdCIQC+IHTAt2oR8NRTnQjP6aEarl6aePBgAc584oWlpaAKWvwoV8KpweiHNTfeiQTAvNFVeZol0FBb2Sbp9SqvFKhGEQAYVTgQh9kEqEy/hUtDPZcy2OL1TCOBw+fDjucsQ1mDoFS/leKH2M9b43kKvQPUexle1wu8mZCNG9dPXWx6VLl+Lhhx9GTU0Nxo4di//+7//GpEmTLPMuX74cs2fPNqW53W60t8vdDbquY+HChXjqqadQX1+Pb3zjG3jyySeDdpN0LeSenyAIgiAIgiCIpND5pCvuRwJ1vfLKK5g3bx4WLlyIDRs2YOzYsaisrIy4IJSTk4Pq6mrjsXfvXtPnDz30EP74xz9i2bJl+OSTT5CZmYnKykrTZK6rIUWNIHoUbHVUrOADwPDhw4GgFSe5EJzIqq48xm6XtwCxcq3arXUNsj3CXXznoKxLiaDVpmW80J8Ku10ek5cfW2DipPRI00kWiouNlxukrIXFwv6OXzBa0LKleCfUioKCQtNzauFBmbmre4/HY9GSxBBqsno9p5KysjIAQF1dXdAn4lzE3/5UuWRX21FYyIJ8C/s/NfRHomUme3zv3r2NFLEroImHg4iFzlCwBOLeCgB79uwBgmx1xfeiuFjuVognXEgkVBUtGRu17Gx5z0ztNUUQ8aNDRyChrY/x88gjj2DOnDmGSrZs2TKsXLkSzz77LH71q19ZHqNpGkpLS63boOtYsmQJ7rrrLlxyySUAgBdeeAElJSVYsWIFrr766gRamTykqBEEQRAEQRAEkRQJqWl6/DM1r9eL9evXo6Kiwkiz2WyoqKjAunXrwh7X3NyM/v37o2/fvrjkkkuwefNm47OqqirU1NSYyszNzcXkyZMjltnZkKJGED0eroZ08mKpUA0aGxuNtK6wV1P7pSqJiSAdIyp2KPzZZnMp+XhAa916O4Noh5WXwy6z4DM6Y15t12NeX7Owvwu6iIIVNllH6vG0MwVt//79vI7kaxE2jWVl5VHzJoMIci6CU4eqzvEra2Z7zNQgrvtBg5gK1djI7MN27twZcxniPpC6NsnrUHyfDh6U9ont7dL2VoyzateWqkDXVqheEoX33dTtXIhMqnYu9Oe2swxS1IjuRY/Ll7L5OL/fb/r7A/w+aXWvrKurg9/vN9nmg++u2LZtm2Udw4cPx7PPPosxY8agoaEBv//973H22Wdj8+bN6NOnD2pqaowygssUn3UHpKgRBEEQBEEQBJEUTCHT439Ax8aNG5Gbm2t6LF68OGVtmzJlCq677jqMGzcO5513Hl5//XUUFRXhf/7nf1JWR2dAihpBEACANB4TTHiURIS4WqlEVb/EinrisOVwdRXezxUpTQtdmVcFpl69pF1W//4iVlrnrVDHXHJI/LTg9cpY1tuC81grbKKuWNoWq3bk97NraNt2tsoZSMLbYbANjlBouso2Z9CgQQCAjRs3AgB8vmBvfbEra9nZIuZbZ7SdlZmTwxTAYcOkLZYwtFe9ThYVFRmvO9eraajdWs+hK3YuyOvi4MGDKSlRevgliO5HTzSOmg6MHj0aa9euNaWH23lQWFgIu92O2tpaU3ptbW1YG7RgnE4nxo8fb+w4EMfV1taadhbU1tZi3LhxcfcpVfQoRU3XdSxYsABlZWVIT09HRUUFduzYEfGYe+65B5qmmR4jRoww5Wlvb8ett96KgoICZGVl4fLLLw85uQRBEARBEARBdD12ux05OTmmR7iJmsvlwoQJE7B69WojLRAIYPXq1ZgyZUpM9fn9fmzcuNGYlA0cOBClpaWmMhsbG/HJJ5/EXGZn0KMUNeEW8/nnn8fAgQNx9913o7KyElu2bDFW+60YNWoU3n33XeO9iA0kuP3227Fy5Uq89tpryM3Nxdy5c3HZZZfh448/7tT+EMSJhFAlVM95Xa2oqV4Wk0FVBTs6QmOiCc+JqpfJfv36qq1KSTtSujgfzl5Q60SFLULd0bUj9skhHi8tuVhRDKlCMbpaTRD2VkLJ27aVqYSJWNt1rofT8HVlZWVGzEt2Tp2H6t2xo6MjRaXS+SJ6Dl3p9XHevHmYNWsWzjzzTEyaNAlLlixBS0uL4QXyuuuuQ+/evY3tk4sWLcJZZ52FIUOGoL6+Hg8//DD27t2Lm266CeB/i9x22224//77MXToUGMeUl5ejpkzZybQwtTQYyZqybjFdDgcYaXOhoYGPPPMM3jppZdwwQUXAACee+45nHbaafj3v/+Ns846q5N6RBAEQRAEQRCnCHr4NcVUc9VVV+HIkSNYsGABampqMG7cOKxatcpwBrJv3z4jxAYAHD9+HHPmzEFNTQ3y8/MxYcIE/Otf/zIcCQHAnXfeiZaWFtx8882or6/HOeecg1WrVkUUizqbHjNRi+YWM9JEbceOHSgvL0daWhqmTJmCxYsXo18/ZmOyfv16dHR0mModMWIE+vXrh3Xr1oWdqHk8HlOcn2BPNARx8sFWZm22E3+F1q7cnKViJ389NG7Dlp+fb6TZYoyPZPUbFNeIxW0EY92usPHUIpUf1stjGIUtuMwElLXm5pY4jwhPqArVPdeq2I4j/gjwJxAHK3jnR9dx4n+/T1T8/sTtMwniRCCQsKKW2Oxu7ty5mDt3ruVna9asMb1/9NFH8eijj0YsT9M0LFq0CIsWLUqoPZ1Bj5moJeoWc/LkyVi+fDmGDx+O6upq3HvvvTj33HOxadMmZGdno6amBi6XC3l5eXGVu3jxYtx7771J94sgBBs2bOjuJiRA5/9Rp/7xsn371ykpU53EaDa2EmbTnCH5DhyQbsL379sTU9lWPyjRg1CrmTt7ohZhwhnGkUdon8L8QRlhqTT6Dy131pBEmINDh6ojvu9qtKA+CWLp29at1i6kiVOF1NxbT8zfFeJkJhFFratUuBORbnMm8uKLLyIrK8t4JLpfe/r06bjiiiswZswYVFZW4h//+Afq6+vx6quvJtW++fPno6GhwXiI2D8EQXQ/WpR/0JSH7gN0H3z+JuXRAp+/hd8C2UPTHMYDmp0/tJCHptnkQ9QXD7rV3hDeBthDH5p4OKFpTthsbthsbmg2V9AjnT2Ufhj9Ef3UHPxhM03oQvthi/vnIdax0Pm/E5GQ6yyIE7lvBEEQyaIrqlo8D7prhqfbFLXvfve7mDx5svFebDNM1i1mXl4ehg0bZnK36fV6UV9fb1LVornwDBdkjyAIgiAIgiAIMwFdRyABeYymauHpNkUtOzsbQ4YMMR4jR45MiVvM5uZm7Nq1y5jsTZgwAU6n01Tu9u3bsW/fvm51t0kQROLoyj/rDLrx0OFnD119dIQ+TGUGQrf/KWVaq2KhbbP6Z1ker88yvx7gD6YM6iGPAH+Ivoj3Mo/sD3+IMoPaLAnqf4T+hi/j5CPmc0sQBHGKEu0+SffO+OgxcdRUt5j/+7//i40bN+K6664LcYt54YUX4vHHHzfe33HHHfjggw+wZ88e/Otf/8Kll14Ku92Oa665BuAOSW688UbMmzcP77//PtavX4/Zs2djypQp5PGRIAiCIAiCIFKAHrosGNODpmrh6THORBCjW8xdu3ahrq7OeH/gwAFcc801OHr0KIqKinDOOefg3//+N4qKiow8jz76KGw2Gy6//HJ4PB5UVlbiiSee6PL+EQSRetTVOEsbKaEEhcQbi1RobD8biawEimNMbY3QxmCPjFqIQ5D4PcmFbzd5pSMIgiASo6u9Pp4KaLpOvlZiobGxEbm5uQDs5N6YIHooEZ1ZxONtsRMnakZzrNpq2cagiVoK7j9xT9RiGA/6oSUIgghGB+BHQ0MDcnJyursxncqMGTOw+70O9HGPj/vY3e3/wrlXD8by5cs7pW0nMj1KUSMIgkgGS7XK+DC5iUSqJyKWSqDaRmPSFgg6LpU71hOfmBlZaYJGEARBKF4f4z+OfkfCQRM1giAIgiAIgiCSIvGtj0Q4aKJGEMRJR7JBqXvE6p5htxbc7mh2ZLYY80WoM5asPWGMCIIgCOIkhiZqBEEQBEEQBEEkiQ49IadUtPAXDpqoEQRBEARBEASRFDp5fUw5NFEjCOKUoCf/EMTlBCWq98rUhyEgCIIgiGgEEnYmQoSDJmoEQRAEQRAEQSQFU9RSGduToIkaQRBEDyFq8G50rwpGP6YEQRBEWDQdupbARE2j35Zw0ESNIAiCIAiCIIikIBu11EMTNYIgiB5IRLu1Lm4DQRAEQUQjQFsfUw5N1AiCIAiCIAiCSBJyz59qaKJGEATRg+kOZY1WNwmCIIh40bUAAonYqNFvTlhookYQBEEQBEEQRFLQ1sfUQxM1giCIE4BwP2SpUNroR5IgCIJIlkTd8yfigORUgSZqBEEQBEEQBEEkCdmopRqaqBEEQZzAkBpGEARB9AQCCCAAf9zHJTa5OzWwdXcDCIIgCIIgCIIgCDOkqBEEQRAEQRAEkSSJbX2knSHhoYkaQRAEQRAEQRBJoUNPzD2/RhO1cNDWR4IgCIIgCIIgkkLYqMX7SFRRW7p0KQYMGIC0tDRMnjwZn376adi8Tz31FM4991zk5+cjPz8fFRUVIfmvv/56aJpmekybNi2htqUKmqgRBEEQBEEQBJEkbOtjvI9EvD6+8sormDdvHhYuXIgNGzZg7NixqKysxOHDhy3zr1mzBtdccw3ef/99rFu3Dn379sVFF12EgwcPmvJNmzYN1dXVxuMvf/lLwqORCmiiRhAEQRAEQRBEUugIIKD7437oevzbJR955BHMmTMHs2fPxsiRI7Fs2TJkZGTg2Weftcz/4osv4ic/+QnGjRuHESNG4Omnn0YgEMDq1atN+dxuN0pLS41Hfn5+wuORCmiiRhAEQRAEQRBEUugJKmrxbn30er1Yv349KioqjDSbzYaKigqsW7cupjJaW1vR0dGBXr16mdLXrFmD4uJiDB8+HLfccguOHj0aV9tSDTkTIQiCIAiCIAgiKdikK/44aoAOv9+PxsZGU6rb7cb/b+/eg6I67z+OfxZwAUVIGw248Ua8JKOCeAulZqotVNIyKtPWmFRFq4nG0Y5M2nhpo6bVFmNsa2mNJm2j1tKQ6qixxtIi8VrRiMJPjcYxxGt1UZvIKt4a9vn9gW7cwHJZQHbh/XLOyD7n+5zzHOaZHb7zPec5wcHBlaIvX76s8vJyRUZGurVHRkbqww8/rNUZZ82aJZvN5pbsPfnkk/rOd76j6OhoFRcX6yc/+Ym+9a1vKT8/X4GBgV5cV/35VEXNGKN58+apQ4cOCg0NVVJSkk6cOFFtn65du1Z68M9isWjatGmumKFDh1ba//zzz9+HKwIAAACav4p6Wt3/GRkdPnxYERERbltGRkajjHPRokXKzs7Whg0bFBIS4mp/+umnNWLECMXExCg1NVWbN2/W/v37tX379kYZR234VEVt8eLFyszM1OrVqxUdHa25c+cqOTlZR48edftF3mv//v0qL/88ez9y5Ii++c1vatSoUW5xzz33nH7+85+7Prdu3boRrwQAAABoSbx/j1pMTIx27tzp1l5VNU2S2rVrp8DAQJWUlLi1l5SUKCoqqtpzLVmyRIsWLdLWrVsVGxtbbewjjzyidu3a6aOPPlJiYmKtr6ch+UxFzRijpUuX6qWXXtLIkSMVGxurP//5zzp//rw2btzosV/79u3dHvrbvHmzunXrpiFDhrjFtW7d2i0uPDz8PlwVAAAA0PwZ45Qx5XXeJKcCAwMVHh7utnlK1KxWqwYMGOC2EMjdhUESEhI8jm/x4sVasGCBcnJyNHDgwBqv59y5c/rvf/+rDh06ePkbqT+fSdROnjwpu93udq9oRESE4uPja/1g4O3bt/WXv/xFEydOlMVicduXlZWldu3aqU+fPpozZ46uX79e7bFu3bolh8PhtgEAAACorD63PtbVCy+8oD/84Q9avXq1jh07pqlTp6qsrEw/+MEPJElpaWmaM2eOK/6VV17R3Llz9eabb6pr166y2+2y2+26du2aJOnatWt68cUXtXfvXp06dUp5eXkaOXKkunfvruTk5Ab8LdWNz9z6aLfbpTsPAt4rMjLSta8mGzdu1JUrVzRhwgS39u9///vq0qWLbDabDh06pFmzZun48eNav369x2NlZGToZz/7mVfXAgAAALQk3i4m4k2iNnr0aF26dEnz5s2T3W5XXFyccnJyXHnEmTNnFBDweT1q+fLlun37tr73ve+5HWf+/Pl6+eWXFRgYqEOHDmn16tW6cuWKbDabhg0bpgULFnis7N0PFmOMd68Dr6esrCxNmTLF9fndd9/V0KFDdf78ebcS41NPPSWLxaK33367xmMmJyfLarXq73//e7Vx7733nhITE/XRRx+pW7duVcbcunVLt27dcn12OBzq1KmTpEBJlir7AAAAABWMpHKVlpY2+0duUlJStHvbCbUJttW579Wbp/Xd0UO0atWqRhmbP2uyitqIESMUHx/v+nw3KSopKXFL1EpKShQXF1fj8U6fPq2tW7dWWyW76+55q0vUPC0JCgAAAOALjPHq5dVqmpqRX2iyRK1t27Zq27at67MxRlFRUcrLy3MlZg6HQ/v27dPUqVNrPN7KlSv10EMPKSUlpcbYoqIiSWrShwMBAACA5uLuE2p170ei5onPLCZisViUnp6uhQsXatOmTTp8+LDS0tJks9mUmprqiktMTNTvf/97t75Op1MrV67U+PHjFRTknnsWFxdrwYIFOnDggE6dOqVNmzYpLS1NX/va12pclhMAAABAzYyMV6s+erOkf0vhM4uJSNLMmTNVVlamyZMn68qVK3riiSeUk5Pj9g614uJiXb582a3f1q1bdebMGU2cOLHSMa1Wq7Zu3aqlS5eqrKxMnTp10ne/+1299NJL9+WaAAAAgObOePkeNVFR86jJFhPxNw6HQxERESwmAgAAgFpoWYuJ7Mg7ohDrQ3Xue/3WeT31zDdZTKQKPlVRAwAAAOB/KipqdV+en4qaZyRqAAAAAOrJ6dWqjywm4hmJGgAAAIB6MV4vz89iIp6QqAEAAACoF3NngX5v+qFqJGoAAAAA6sXbihqJmmckagAAAADqySljvFhMhAXoPSJRAwAAAFAv3r5HjYqaZwFNPQAAAAAAgDsqagAAAADqxetVH6moeUSiBgAAAKCevHyPGs+oeUSiBgAAAKBevH1GjYqaZyRqAAAAAOqH5fkbHIkaAAAAgHrx+hk1bn30iEQNAAAAQD0ZiVsfGxSJGgAAAIB6MeLWx4ZGogYAAACgnpwsJtLASNQAAAAA1Iu3z6ixPL9nJGoAAAAA6skpqdzLfqgKiRoAAACAevJy1UduffSIRA0AAABAPbHqY0MjUQMAAABQP8bLRI1n1DwKaOoBAAAAAADcUVEDAAAAUC8V70Ore3WMeppnJGoAAAAA6oln1BqaT936uH79eg0bNkwPPvigLBaLioqKatVv7dq1euyxxxQSEqKYmBht2bLFbb8xRvPmzVOHDh0UGhqqpKQknThxopGuAgAAAGhpTMXzZnXdSNQ88qlEraysTE888YReeeWVWvfZs2ePnnnmGU2aNEmFhYVKTU1Vamqqjhw54opZvHixMjMztWLFCu3bt09t2rRRcnKybt682UhXAgAAALQMW7b8Q7pz+2Nd/0lGq1f/uakvwSdZjA++DvzUqVOKjo5WYWGh4uLiqo0dPXq0ysrKtHnzZlfbV77yFcXFxWnFihUyxshms+lHP/qRfvzjH0uSSktLFRkZqVWrVunpp5+u1ZgcDociIiIkBUqy1PMKAQAA0LwZSeUqLS1VeHh4Uw+mUVksgXdue6zr38kVv6PVq1crLS2tEUfon3yqouaN/Px8JSUlubUlJycrPz9fknTy5EnZ7Xa3mIiICMXHx7tiAAAAAHjnxo2yOz/Vtf5TET927NgGH1Nz4PeJmt1uV2RkpFtbZGSk7Ha7a//dNk8xVbl165YcDofbBgAAAMBdSEiIsrKy7lTVapusVSw+kpubq4AAv09JGkWT/VaysrIUFhbm2nbt2tVUQ6lSRkaGIiIiXFunTp2aekgAAACAT/r8caLaJmpOSZZKd8bhc02WqI0YMUJFRUWubeDAgV4dJyoqSiUlJW5tJSUlioqKcu2/2+Yppipz5sxRaWmpazt79qxX4wMAAACau4CAAG3btq2WVbWKRUQOHfq/+zQ6/9RkiVrbtm3VvXt31xYaGurVcRISEpSXl+fWlpubq4SEBElSdHS0oqKi3GIcDof27dvniqlKcHCwwsPD3TYAAAAAVRs6dOidxURqep9aRTUtJibmPo3MP/nUC68/+eQTnTlzRufPn5ckHT9+XLpTFbtb/UpLS9PDDz+sjIwMSdKMGTM0ZMgQ/epXv1JKSoqys7NVUFCgN954Q5JksViUnp6uhQsXqkePHoqOjtbcuXNls9mUmpraZNcKAAAANDcffHBEvXv3vlM1q2oFyIpq2rlz55pgdP7Fp57c27Rpk/r166eUlBTpzr2u/fr104oVK1wxZ86c0YULF1yfv/rVr+qvf/2r3njjDfXt21fr1q3Txo0b1adPH1fMzJkz9cMf/lCTJ0/WoEGDdO3aNeXk5CgkJOQ+XyEAAADQfPXq1auaqlrFcvySRQ8//HATjM6/+OR71HwR71EDAABA7bWc96h90YULF2Sz2ar4u9kpydkifyfe8KmKGgAAAAD/1qFDhzsJWvk9C4tULMe/bNkykrRaoqJWS1TUAAAAUHstt6ImSdeuXVPbtm3v1IUCXNW027dvq1WrVk09PL9ARQ0AAABAgwoLC9Prr79+z3L9Tm3YsIEkrQ6oqNUSFTUAAADUXsuuqEnSZ5995paYOZ1OWSz8HV1bPrU8vy/7PJ8lrwUAAEBNKv5mbMk1kaCgIG3atEkjRoxQfn4+SVodUVGrpXPnzqlTp05NPQwAAAD4kbNnz6pjx45NPQz4IRK1WnI6nTp//ryMMercubPOnj3bYsvYqDuHw6FOnToxb1BrzBnUFXMGdcWcaVzGGF29elU2m00BASwLgbrj1sdaCggIUMeOHeVwOCRJ4eHhfKmhzpg3qCvmDOqKOYO6Ys40nor1DQDvkN4DAAAAgI8hUQMAAAAAH0OiVkfBwcGaP3++goODm3oo8CPMG9QVcwZ1xZxBXTFnAN/GYiIAAAAA4GOoqAEAAACAjyFRAwAAAAAfQ6IGAAAAAD6GRE3SsmXL1LVrV4WEhCg+Pl7vv/9+tfFr167VY489ppCQEMXExGjLli1u+40xmjdvnjp06KDQ0FAlJSXpxIkTjXwVuF927typ4cOHy2azyWKxaOPGjTX22b59u/r376/g4GB1795dq1atqhRT13kI/5CRkaFBgwapbdu2euihh5Samqrjx4/X2I/vmZZr+fLlio2Ndb3bKiEhQf/4xz+q7cN8wb0WLVoki8Wi9PT0auOYN4Bva/GJ2ttvv60XXnhB8+fP18GDB9W3b18lJyfr4sWLVcbv2bNHzzzzjCZNmqTCwkKlpqYqNTVVR44cccUsXrxYmZmZWrFihfbt26c2bdooOTlZN2/evI9XhsZSVlamvn37atmyZbWKP3nypFJSUvT1r39dRUVFSk9P17PPPqt//vOfrpi6zkP4jx07dmjatGnau3evcnNz9b///U/Dhg1TWVmZxz58z7RsHTt21KJFi3TgwAEVFBToG9/4hkaOHKkPPvigynjmC+61f/9+vf7664qNja02jnkD+AHTwj3++ONm2rRprs/l5eXGZrOZjIyMKuOfeuopk5KS4tYWHx9vpkyZYowxxul0mqioKPPqq6+69l+5csUEBwebt956q9GuA01DktmwYUO1MTNnzjS9e/d2axs9erRJTk52fa7rPIT/unjxopFkduzY4TGG7xl80Ze+9CXzxz/+scp9zBfcdfXqVdOjRw+Tm5trhgwZYmbMmOExlnkD+L4WXVG7ffu2Dhw4oKSkJFdbQECAkpKSlJ+fX2Wf/Px8t3hJSk5OdsWfPHlSdrvdLSYiIkLx8fEej4nmraY54808hP8qLS2VJH35y1/2GMP3DO4qLy9Xdna2ysrKlJCQUGUM8wV3TZs2TSkpKZXmQ1WYN4DvC2rqATSly5cvq7y8XJGRkW7tkZGR+vDDD6vsY7fbq4y32+2u/XfbPMWgZfE0ZxwOh27cuKFPP/20zvMQ/snpdCo9PV2DBw9Wnz59PMbxPYPDhw8rISFBN2/eVFhYmDZs2KBevXpVGct8gSRlZ2fr4MGD2r9/f63imTeA72vRiRoA3E/Tpk3TkSNHtHv37qYeCnzco48+qqKiIpWWlmrdunUaP368duzY4TFZQ8t29uxZzZgxQ7m5uQoJCWnq4QBoIC361sd27dopMDBQJSUlbu0lJSWKioqqsk9UVFS18Xf/r8sx0bx5mjPh4eEKDQ31ah7C/0yfPl2bN2/Wtm3b1LFjx2pj+Z6B1WpV9+7dNWDAAGVkZKhv37767W9/W2Us8wUHDhzQxYsX1b9/fwUFBSkoKEg7duxQZmamgoKCVF5eXqkP8wbwfS06UbNarRowYIDy8vJcbU6nU3l5eR6fBUhISHCLl6Tc3FxXfHR0tKKiotxiHA6H9u3b5/GYaN5qmjPezEP4D2OMpk+frg0bNui9995TdHR0jX34nsEXOZ1O3bp1q8p9zBckJibq8OHDKioqcm0DBw7UmDFjVFRUpMDAwEp9mDeAH2jq1UyaWnZ2tgkODjarVq0yR48eNZMnTzYPPPCAsdvtxhhjxo0bZ2bPnu2K//e//22CgoLMkiVLzLFjx8z8+fNNq1atzOHDh10xixYtMg888IB55513zKFDh8zIkSNNdHS0uXHjRpNcIxrW1atXTWFhoSksLDSSzK9//WtTWFhoTp8+bYwxZvbs2WbcuHGu+I8//ti0bt3avPjii+bYsWNm2bJlJjAw0OTk5LhiapqH8F9Tp041ERERZvv27ebChQuu7fr1664Yvmdwr9mzZ5sdO3aYkydPmkOHDpnZs2cbi8Vi/vWvfxnDfEEtfXHVR+YN4H9afKJmjDG/+93vTOfOnY3VajWPP/642bt3r2vfkCFDzPjx493i//a3v5mePXsaq9Vqevfubd599123/U6n08ydO9dERkaa4OBgk5iYaI4fP37frgeNa9u2bUZSpe3uPBk/frwZMmRIpT5xcXHGarWaRx55xKxcubLScaubh/BfVc0VSW5zgO8Z3GvixImmS5cuxmq1mvbt25vExERXkmaYL6ilLyZqzBvA/1hMxR8SAAAAAAAf0aKfUQMAAAAAX0SiBgAAAAA+hkQNAAAAAHwMiRoAAAAA+BgSNQAAAADwMSRqAAAAAOBjSNQAAAAAwMeQqAEAAACAjyFRAwDU6E9/+pOGDRvW6OfJyclRXFycnE5no58LAABfRqIGAKjWzZs3NXfuXM2fP7/Rz/Xkk0+qVatWysrKavRzAQDgy0jUAADVWrduncLDwzV48OD7cr4JEyYoMzPzvpwLAABfRaIGAC3EpUuXFBUVpV/+8peutj179shqtSovL89jv+zsbA0fPtytbejQoUpPT3drS01N1YQJE1yfu3btqoULFyotLU1hYWHq0qWLNm3apEuXLmnkyJEKCwtTbGysCgoK3I4zfPhwFRQUqLi4uAGuGgAA/0SiBgAtRPv27fXmm2/q5ZdfVkFBga5evapx48Zp+vTpSkxM9Nhv9+7dGjhwoFfn/M1vfqPBgwersLBQKSkpGjdunNLS0jR27FgdPHhQ3bp1U1pamowxrj6dO3dWZGSkdu3a5dU5AQBoDkjUAKAF+fa3v63nnntOY8aM0fPPP682bdooIyPDY/yVK1dUWloqm83m9fmmTJmiHj16aN68eXI4HBo0aJBGjRqlnj17atasWTp27JhKSkrc+tlsNp0+fdqrcwIA0ByQqAFAC7NkyRJ99tlnWrt2rbKyshQcHOwx9saNG5KkkJAQr84VGxvr+jkyMlKSFBMTU6nt4sWLbv1CQ0N1/fp1r84JAEBzQKIGAC1McXGxzp8/L6fTqVOnTlUb++CDD8pisejTTz+t8bjl5eWV2lq1auX62WKxeGz74nL8n3zyidq3b1+LqwEAoHkiUQOAFuT27dsaO3asRo8erQULFujZZ5+tVM26l9VqVa9evXT06NFK+754u+LHH3/cIGO8efOmiouL1a9fvwY5HgAA/ohEDQBakJ/+9KcqLS1VZmamZs2apZ49e2rixInV9klOTtbu3bsrtb/zzjtav369iouL9Ytf/EJHjx7V6dOn9Z///KdeY9y7d6+Cg4OVkJBQr+MAAODPSNQAoIXYvn27li5dqjVr1ig8PFwBAQFas2aNdu3apeXLl3vsN2nSJG3ZskWlpaVu7SkpKVq8eLF69eqlnTt36rXXXtP777+vNWvW1Gucb731lsaMGaPWrVvX6zgAAPgzi7l3TWQAAKowatQo9e/fX3PmzJHuvEctLi5OS5cubdDzXL58WY8++qgKCgoUHR3doMcGAMCfUFEDANTo1VdfVVhYWKOf59SpU3rttddI0gAALR4VNQBAnTVWRQ0AAFQgUQMAAAAAH8OtjwAAAADgY0jUAAAAAMDHkKgBAAAAgI8hUQMAAAAAH0OiBgAAAAA+hkQNAAAAAHwMiRoAAAAA+BgSNQAAAADwMSRqAAAAAOBj/h8YqNsLb5XezgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1200x400 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "f, ax1 = plt.subplots(1, 1, figsize=(12, 4), tight_layout=True)\n",
    "sim_data_final.plot_field(\"field_xy\", \"E\", \"abs^2\", z=0, ax=ax1, f=freqs[0])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To conclude, we will calculate the final coupling efficiency and the cavity Purcell value. The coupling efficiency is above 80% along an extensive wavelength range, and we have confirmed the Purcell enhancement."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1000x400 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Coupling efficiency.\n",
    "mode_amps = sim_data_final[\"mode_monitor\"].amps.sel(direction=\"-\", mode_index=0)\n",
    "mode_power = np.abs(mode_amps) ** 2\n",
    "dip_power = np.zeros(n_wl)\n",
    "for i in range(len(field_monitor)):\n",
    "    field_mon = sim_data_final[f\"field_monitor_{i}\"]\n",
    "    dip_power += np.abs(field_mon.flux)\n",
    "coup_eff = mode_power / dip_power\n",
    "\n",
    "# Purcell factor.\n",
    "bulk_power = ((2 * np.pi * freqs) ** 2 / (12 * np.pi)) * (td.MU_0 * n_wg / td.C_0)\n",
    "bulk_power = bulk_power * 2 ** (2 * np.sum(np.abs(sim_final.symmetry)))\n",
    "purcell = dip_power / bulk_power\n",
    "\n",
    "f, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 4), tight_layout=True)\n",
    "ax1.plot(wl_range, coup_eff, \"-k\")\n",
    "ax1.set_xlabel(\"Wavelength (um)\")\n",
    "ax1.set_ylabel(\"Coupling Efficiency\")\n",
    "ax1.set_ylim(0, 1)\n",
    "ax1.set_xlim(wl - bw / 2, wl + bw / 2)\n",
    "ax2.plot(wl_range, purcell, \"-k\")\n",
    "ax2.set_xlabel(\"Wavelength (um)\")\n",
    "ax2.set_ylabel(\"Purcell Factor\")\n",
    "ax2.set_xlim(wl - bw / 2, wl + bw / 2)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.9685581762335904\n",
      "0.8529465434212032\n"
     ]
    }
   ],
   "source": [
    "print(np.max(coup_eff.values))\n",
    "print(np.min(coup_eff.values))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Export to GDS\n",
    "The `Simulation` object has the [.to_gds_file](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.Simulation.html#tidy3d.Simulation.to_gds_file) convenience function to export the final design to a `GDS` file. In addition to a file name, it is necessary to set a cross-sectional plane (`z = 0` in this case) on which to evaluate the geometry, a `frequency` to evaluate the permittivity, and a `permittivity_threshold` to define the shape boundaries in custom mediums. See the [GDS export](https://www.flexcompute.com/tidy3d/examples/notebooks/GDSExport/) notebook for a detailed example on using `.to_gds_file` and other GDS related functions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "# make the misc/ directory to store the GDS file if it doesn't exist already\n",
    "import os\n",
    "\n",
    "if not os.path.exists(\"./misc/\"):\n",
    "    os.mkdir(\"./misc/\")\n",
    "\n",
    "sim_final.to_gds_file(\n",
    "    fname=\"./misc/inv_des_light_extractor_autograd.gds\",\n",
    "    z=0,\n",
    "    permittivity_threshold=(eps_max + eps_min) / 2,\n",
    "    frequency=freq,\n",
    ")"
   ]
  }
 ],
 "metadata": {
  "applications": [
   "Passive photonic integrated circuit components",
   "Quantum emitters"
  ],
  "description": "This notebook demonstrates how to set up and run a quantum emitter light extractor optimization.",
  "feature_image": "./img/adjoint_12.png",
  "features": [
   "Adjoint inverse design",
   "Mode analysis"
  ],
  "kernelspec": {
   "display_name": ".venv",
   "language": "python",
   "name": "python3"
  },
  "keywords": "inverse design, adjointt optimization, quantum emitter, light extractor, single-photon source, nanocavity optimization, Tidy3D, FDTD",
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.5"
  },
  "title": "How to perform the inverse design of a quantum emitter light extractor in Tidy3D FDTD"
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
