Skip to content
Snippets Groups Projects
IOC_vs_XS_double.ipynb 548 KiB
Newer Older
mwyman's avatar
mwyman committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "0dc0eac1-8214-4d13-b3d6-55d28ed5d86a",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from scipy.optimize import root_scalar\n",
    "import xraylib\n",
    "import matplotlib.pyplot as plt\n",
    "import epics\n",
    "import time\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "07b6fc70-6c8a-44bb-a25d-afd559cd9817",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Beamline input block\n",
    "energy = 15000.0            # Energy in eV\n",
    "energy_keV = energy/1000.0  # Energy in keV\n",
    "wl = 1239.84 / (energy * 10**9)\n",
    "d_StoL1 = 51.9              # Source-to-CRL1 distance, in m\n",
    "d_StoL2 = 62.1              # Source-to-CRL2 distance, in m\n",
    "d_Stof  = 66.2              # Source-to-focus distance, in m\n",
    "\n",
    "#slit1_H = 500.0e-6          # H slit size before CRL 1\n",
    "#slit1_V = 300.0e-6          # V slit size before CRL 1\n",
    "#slit2_H = 500.0e-6          # H slit size before CRL 2\n",
    "#slit2_V = 300.0e-6          # V slit size before CRL 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "f7317f0f-e9f5-461c-8576-8f7d03113fd4",
   "metadata": {},
   "outputs": [],
   "source": [
    "# CRL input block\n",
    "d_min   = 3.0e-5            # Minimum thickness at the apex in m\n",
    "stack_d = 50.0e-3           # Stack thickness in m\n",
    "L1_n    = np.array([1,      1,      1,      1,      1,      1,      2,      4,      8,      16])                # CRL1 number of lenses in each stack\n",
    "L1_R    = np.array([2.0e-3, 1.0e-3, 5.0e-4, 3.0e-4, 2.0e-4, 1.0e-4, 1.0e-4, 1.0e-4, 1.0e-4, 1.0e-4])            # CRL1 lens radius in each stack\n",
    "L1_mater= np.array([\"Be\",   \"Be\",   \"Be\",   \"Be\",   \"Be\",   \"Be\",   \"Be\",   \"Be\",   \"Be\",   \"Be\"])              # CRL1 lens material in each stack\n",
    "L1_loc  = np.array([4.5,    3.5,    2.5,    1.5,    0.5,    -0.5,   -1.5,   -2.5,   -3.5,   -4.5])*stack_d      # CRL1 lens stack location relative to center stack, positive means upstream\n",
    "L1_HE   = np.array([1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.4e-6, 2.0e-6, 2.8e-6, 4.0e-6])            # CRL1 lens RMS thickness error\n",
    "L2_n    = np.array([1,      1,      1,      1,      1,      1,      2,      4,      8,      16])                # CRL2 number of lenses in each stack\n",
    "L2_R    = np.array([2.0e-3, 1.0e-3, 5.0e-4, 3.0e-4, 2.0e-4, 1.0e-4, 1.0e-4, 1.0e-4, 1.0e-4, 1.0e-4])            # CRL2 lens radius in each stack\n",
    "L2_mater= np.array([\"Be\",   \"Be\",   \"Be\",   \"Be\",   \"Be\",   \"Be\",   \"Be\",   \"Be\",   \"Be\",   \"Be\"])              # CRL2 lens material in each stack\n",
    "L2_loc  = np.array([4.5,    3.5,    2.5,    1.5,    0.5,    -0.5,   -1.5,   -2.5,   -3.5,   -4.5])*stack_d      # CRL2 lens stack location relative to center stack, positive means upstream\n",
    "L2_HE   = np.array([1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.4e-6, 2.0e-6, 2.8e-6, 4.0e-6])           # CRL2 lens RMS thickness error\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "c1d1228a-2bdd-47d4-ba9e-0d6e79c635a4",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Source size input block\n",
    "L_und = 4.7                 # undulator length\n",
    "sigmaH_e = 14.8e-6          # Sigma electron source size in H direction in m\n",
    "sigmaV_e = 3.7e-6           # Sigma electron source size in V direction in m\n",
    "sigmaHp_e = 2.8e-6          # Sigma electron divergence in H direction in rad\n",
    "sigmaVp_e = 1.5e-6          # Sigma electron divergence in V direction in rad\n",
    "sigmaH = (sigmaH_e**2 + wl*L_und/2/np.pi/np.pi)**0.5\n",
    "sigmaV = (sigmaV_e**2 + wl*L_und/2/np.pi/np.pi)**0.5\n",
    "sigmaHp = (sigmaHp_e**2 + wl/L_und/2)**0.5\n",
    "sigmaVp = (sigmaVp_e**2 + wl/L_und/2)**0.5\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "b6ff87f5-75b3-43bd-94fd-ec8fd880ab7f",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Lookup table where each entry is a tuple (column1, column2)\n",
    "Lens_diameter_table = [\n",
    "    (50, 450.0),\n",
    "    (100, 632.0),\n",
    "    (200, 894.0),\n",
    "    (300, 1095.0),\n",
    "    (500, 1414.0),\n",
    "    (1000, 2000.0),\n",
    "    (1500, 2450.0),\n",
    "]\n",
    "\n",
    "# Convert the lookup table to a dictionary for faster lookup\n",
    "Lens_diameter_dict = {int(col1): col2 for col1, col2 in Lens_diameter_table}\n",
    "\n",
    "def lookup_diameter(lens_radius):\n",
    "    # Convert the input float to an integer\n",
    "    input_int = int(round(lens_radius*1.0e6))\n",
    "    return Lens_diameter_dict.get(input_int, (lens_radius*1.0e6)**0.5*63.222+ 0.73)/1.0e6\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "401b6573-1cbb-4503-bbda-e864bd8c5969",
   "metadata": {},
   "outputs": [],
   "source": [
    "def index_to_binary_list(index, length):\n",
    "    \"\"\"\n",
    "    Converts an index number to its binary representation as a list of digits,\n",
    "    and pads the list with zeros in front to achieve the desired length.\n",
    "\n",
    "    Parameters:\n",
    "        index (int): The index number to be converted.\n",
    "        length (int): The desired length of the binary list.\n",
    "\n",
    "    Returns:\n",
    "        list: A list of digits representing the binary representation of the index.\n",
    "    \"\"\"\n",
    "    # Convert the index to a binary string and remove the '0b' prefix\n",
    "    binary_str = bin(index)[2:]\n",
    "\n",
    "    # Pad the binary string with zeros in front to achieve the desired length\n",
    "    #padded_binary_str = binary_str.zfill(length)\n",
    "\n",
    "    # Reverse the binary string\n",
    "    reversed_binary_str = binary_str[::-1]\n",
    "\n",
    "    # Convert the reversed binary string to a list of integers\n",
    "    binary_list = [int(digit) for digit in reversed_binary_str]\n",
    "\n",
    "    # Pad the list with zeros at the end to achieve the desired length\n",
    "    while len(binary_list) < length:\n",
    "        binary_list.append(0)\n",
    "    return binary_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "7c6792ad-6436-4864-bdb9-68ad571d13ba",
   "metadata": {},
   "outputs": [],
   "source": [
    "def binary_list_to_index(binary_list, length):\n",
    "    \"\"\"\n",
    "    Converts a list of binary digits in reverse order to its integer representation,\n",
    "    padding the list with zeros at the end to have a fixed number of elements.\n",
    "\n",
    "    Parameters:\n",
    "        binary_list (list): A list of digits representing the binary number in reverse order.\n",
    "        length (int): The fixed number of elements the list should have.\n",
    "\n",
    "    Returns:\n",
    "        int: The integer representation of the binary number.\n",
    "    \"\"\"\n",
    "    # Pad the list with zeros at the end to achieve the desired length\n",
    "    while len(binary_list) < length:\n",
    "        binary_list.append(0)\n",
    "\n",
    "    # Convert the binary list to an integer\n",
    "    index = 0\n",
    "    for i, digit in enumerate(binary_list):\n",
    "        index += digit * 2**i\n",
    "\n",
    "    return index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "620e8ed0-0098-463f-8035-0e69ee7bc216",
   "metadata": {},
   "outputs": [],
   "source": [
    "def materials_to_deltas(material_list, energy):\n",
    "    \"\"\"\n",
    "    Convert a list of material names to a list of delta values at a given energy.\n",
    "\n",
    "    Parameters:\n",
    "        material_list (list): A list of material names.\n",
    "        energy (float): The energy in keV.\n",
    "\n",
    "    Returns:\n",
    "        list: A list of delta values for the given materials at the given energy.\n",
    "    \"\"\"\n",
    "    # The list to store delta values\n",
    "    delta_list = []\n",
    "\n",
    "    # Iterate through each material in the input list\n",
    "    for material in material_list:\n",
    "        # Compute the delta value for the current material at the given energy\n",
    "        Z = xraylib.SymbolToAtomicNumber(material)\n",
    "        density = xraylib.ElementDensity(Z)\n",
    "        delta = 1.0-xraylib.Refractive_Index_Re(material, energy, density)\n",
    "\n",
    "        # Add the delta value to the delta list\n",
    "        delta_list.append(delta)\n",
    "\n",
    "    return delta_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "a5c53be6-af6f-485d-838f-3a0936060e6e",
   "metadata": {},
   "outputs": [],
   "source": [
    "def materials_to_linear_attenuation(material_list, energy):\n",
    "    \"\"\"\n",
    "    Convert a list of material names to a list of linear attenuation coefficients at a given energy.\n",
    "\n",
    "    Parameters:\n",
    "        material_list (list): A list of material names.\n",
    "        energy (float): The energy in keV.\n",
    "\n",
    "    Returns:\n",
    "        list: A list of linear attenuation coefficient values (in m^-1) for the given materials at the given energy.\n",
    "    \"\"\"\n",
    "    # The list to store linear attenuation coefficient values\n",
    "    mu_list = []\n",
    "\n",
    "    # Iterate through each material in the input list\n",
    "    for material in material_list:\n",
    "        # Compute the delta value for the current material at the given energy\n",
    "        Z = xraylib.SymbolToAtomicNumber(material)\n",
    "        density = xraylib.ElementDensity(Z)\n",
    "        # Compute the mass attenuation coefficient in cm^2/g\n",
    "        #mass_attenuation = xraylib.CS_Photo(Z, energy)\n",
    "        mass_attenuation = xraylib.CS_Total(Z, energy)\n",
    "        # Convert mass attenuation coefficient to linear attenuation coefficient in m^-1\n",
    "        mu = mass_attenuation * density * 100.0\n",
    "        # Add the linear attenuation coefficient value to the list\n",
    "        mu_list.append(mu)\n",
    "\n",
    "    return mu_list\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "3719d6b7-f3e1-439d-93fd-a7e546c5b747",
   "metadata": {},
   "outputs": [],
   "source": [
    "def absorptionaperture(x, n1mud, sigma, n1mur):\n",
    "    numerator = np.exp(-(x**2/(2*sigma**2))) * np.exp(-n1mur*(x**2) - n1mud)\n",
    "    denominator = np.exp(-n1mud)\n",
    "    return numerator / denominator - 0.5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "25851616-c4ae-4d00-b5de-bb2395c60074",
   "metadata": {},
   "outputs": [],
   "source": [
    "def find_levels(array, levels, direction='forward'):\n",
    "    \"\"\"\n",
    "    Find the first indices at which the array crosses specified levels and the corresponding crossed values.\n",
    "\n",
    "    Parameters:\n",
    "        array (numpy.ndarray): An array of numbers.\n",
    "        levels (float or numpy.ndarray): A number or an array of levels to find crossings.\n",
    "        direction (str, optional): The searching direction. Defaults to 'forward'.\n",
    "                                   Can be either 'forward' or 'backward'.\n",
    "\n",
    "    Returns:\n",
    "        tuple: A tuple containing two arrays:\n",
    "            - An array of first indices at which the array crosses the specified levels.\n",
    "            - An array of first crossed values at the corresponding indices.\n",
    "    \"\"\"\n",
    "\n",
    "    # Convert a single level to a numpy array\n",
    "    if isinstance(levels, (int, float)):\n",
    "        levels = np.array([levels])\n",
    "\n",
    "    indices = []\n",
    "    values = []\n",
    "\n",
    "    # Compute the max and min of the array ignoring NaNs\n",
    "    max_val = np.nanmax(array)\n",
    "    min_val = np.nanmin(array)\n",
    "\n",
    "    for level in levels:\n",
    "        # If level is out of bounds\n",
    "        if level > max_val or level < min_val:\n",
    "            indices.append(-1)\n",
    "            values.append(np.nan)\n",
    "            continue\n",
    "\n",
    "        crossings = []\n",
    "\n",
    "        if direction == 'forward':\n",
    "            for i in range(1, len(array)):\n",
    "                if np.isnan(array[i - 1]) or np.isnan(array[i]):\n",
    "                    continue\n",
    "                if (array[i - 1] < level <= array[i]) or (array[i - 1] > level >= array[i]):\n",
    "                    crossings.append(i - 1)\n",
    "                    break\n",
    "        elif direction == 'backward':\n",
    "            for i in range(len(array) - 2, -1, -1):\n",
    "                if np.isnan(array[i + 1]) or np.isnan(array[i]):\n",
    "                    continue\n",
    "                if (array[i + 1] < level <= array[i]) or (array[i + 1] > level >= array[i]):\n",
    "                    crossings.append(i)\n",
    "                    break\n",
    "        else:\n",
    "            raise ValueError(\"Invalid direction. It should be either 'forward' or 'backward'.\")\n",
    "\n",
    "        if len(crossings) > 0:\n",
    "            idx = crossings[0]\n",
    "            indices.append(idx)\n",
    "            values.append(array[idx])\n",
    "        else:\n",
    "            # In case no crossing is found within the range\n",
    "            indices.append(-1)\n",
    "            values.append(np.nan)\n",
    "\n",
    "    return np.array(indices), np.array(values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "a34dc832-bc2c-4cb8-8cf8-e4632a151b66",
   "metadata": {},
   "outputs": [],
   "source": [
    "def Zoom_CRL2D_control(fsize):\n",
    "\n",
    "    L1_D        = np.zeros(L1_R.size)                                   # CRL1 diameters for each stack\n",
    "    for i in range(L1_R.size):\n",
    "        L1_D[i] = lookup_diameter(L1_R[i])\n",
    "    L1_delta    = materials_to_deltas(L1_mater, energy_keV)             # delta values for CRL1 stacks\n",
    "    L1_mu       = materials_to_linear_attenuation(L1_mater, energy_keV) # mu values for CRL1 stacks\n",
    "    L1_Feq      = L1_R/(2*L1_n*L1_delta)+L1_loc                         # CRL1 equivalent f in m for each stack\n",
    "\n",
    "    L2_D        = np.zeros(L2_R.size)                                   # CRL2 diameters for each stack\n",
    "    for i in range(L2_R.size):\n",
    "        L2_D[i] = lookup_diameter(L2_R[i])\n",
    "    L2_delta    = materials_to_deltas(L2_mater, energy_keV)             # Delta values for CRL2 stacks\n",
    "    L2_mu       = materials_to_linear_attenuation(L2_mater, energy_keV) # mu values for CRL2 stacks\n",
    "    L2_Feq      = L2_R/(2*L2_n*L2_delta)+L2_loc                         # CRL2 equivalent f in m for each stack\n",
    "\n",
    "    L1_index_n   = 2**L1_Feq.size                                       # Total number of combinations for CRL1\n",
    "    L1_invF_list = np.zeros(L1_index_n)                                 # List of equivalent 1/f in m^-1 for CRL1\n",
    "    for i in range(L1_index_n):\n",
    "        L1_invF_list[i] = np.sum(index_to_binary_list(i, L1_Feq.size)/L1_Feq)\n",
    "    # Sort the L1_invF list (to avoid zigzagging)\n",
    "    L1_invF_list_sort_indices = np.argsort(L1_invF_list)\n",
    "    L1_invF_list_sorted       = L1_invF_list[L1_invF_list_sort_indices]\n",
    "\n",
    "    q1_list = 1/(L1_invF_list_sorted - 1/d_StoL1)                      # focal position of CRL1 for all configurations (sorted)\n",
    "    # may be limit to cases q1 beyond sample???\n",
    "\n",
    "    L2_index_n   = 2**L2_Feq.size                               # Total number of combinations for CRL2\n",
    "    L2_invF_list = np.zeros(L2_index_n)                         # List of equivalent 1/f in m^-1 for CRL2\n",
    "    for i in range(L2_index_n):\n",
    "        L2_invF_list[i] = np.sum(index_to_binary_list(i, L2_Feq.size)/L2_Feq)\n",
    "    # Sort the L2_invF list (to avoid zigzagging)\n",
    "    L2_invF_list_sort_indices = np.argsort(L2_invF_list)\n",
    "    L2_invF_list_sorted       = L2_invF_list[L2_invF_list_sort_indices]\n",
    "\n",
    "    # Start generating focal size list as a function of CRL1 setting\n",
    "    sigma1H         = (sigmaH**2 + (sigmaHp*d_StoL1)**2)**0.5   # sigma beam size before CRL1\n",
    "    sigma1V         = (sigmaV**2 + (sigmaVp*d_StoL1)**2)**0.5   # sigma beam size before CRL1\n",
    "    L1_n1mud_list   = np.zeros(L1_index_n)                      # List of n1*mu*d_min for all possible CRL1 configurations\n",
    "    L1_n1muR_list   = np.zeros(L1_index_n)                      # List of n1*mu/R for all possible CRL1 configurations\n",
    "    aperL1H_list    = np.zeros(L1_index_n)                      # absorption H aperture of CRL1 for all configurations\n",
    "    aperL1V_list    = np.zeros(L1_index_n)                      # absorption V aperture of CRL1 for all configurations\n",
    "    diameter1_list  = np.zeros(L1_index_n)                      # CRL1 diameter for all possible configurations\n",
    "    FWHM1H_list     = np.zeros(L1_index_n)                      # H focal size at the focus of CRL1\n",
    "    FWHM1V_list     = np.zeros(L1_index_n)                      # V focal size at the focus of CRL1\n",
    "    sigma2H_list    = np.zeros(L1_index_n)                      # sigma beam size before CRL2\n",
    "    sigma2V_list    = np.zeros(L1_index_n)                      # sigma beam size before CRL2\n",
    "    Strehl1_list    = np.zeros(L1_index_n)                     # Strehl ratio based on lens thickness error\n",
    "\n",
    "    for i in range(L1_index_n):\n",
    "        # absorption aperture is a function of CRL absorption/physical aperture, incident beam size, and physical slits\n",
    "        L1_n1mud_list[i] = np.sum(index_to_binary_list(L1_invF_list_sort_indices[i], L1_Feq.size)*np.array(L1_mu*L1_n*d_min))\n",
    "        L1_n1muR_list[i] = np.sum(index_to_binary_list(L1_invF_list_sort_indices[i], L1_Feq.size)*np.array(L1_mu*L1_n/L1_R))\n",
    "        solution         = root_scalar(absorptionaperture, args=(L1_n1mud_list[i], sigma1H, L1_n1muR_list[i]), bracket=[0.0, 2*sigma1H], method='bisect')\n",
    "        aperL1H_list[i]  = solution.root*2.0\n",
    "        solution         = root_scalar(absorptionaperture, args=(L1_n1mud_list[i], sigma1V, L1_n1muR_list[i]), bracket=[0.0, 2*sigma1V], method='bisect')\n",
    "        aperL1V_list[i]  = solution.root*2.0\n",
    "        mask = (np.array(index_to_binary_list(L1_invF_list_sort_indices[i], L1_Feq.size)) == 1)\n",
    "        if np.all(mask == False):\n",
    "            diameter1_list[i] = np.inf\n",
    "        else:\n",
    "            diameter1_list[i] = np.min(L1_D[mask])\n",
    "        aperL1H_list[i] = min(aperL1H_list[i], diameter1_list[i], slit1_H)\n",
    "        aperL1V_list[i] = min(aperL1V_list[i], diameter1_list[i], slit1_V)\n",
    "        phase_error_tmp = np.linalg.norm(index_to_binary_list(L1_invF_list_sort_indices[i], L1_Feq.size)*np.array(L1_HE*L1_delta)*2*np.pi/wl)   # RMS phase error of the lens stack\n",
    "        Strehl1_list[i] = np.exp(-phase_error_tmp**2)\n",
    "\n",
    "    # FWHMbeam size at CRL1 focus\n",
    "    FWHM1H_list  = ((0.88*wl*q1_list/aperL1H_list)**2 + (2.355*sigmaH*q1_list/d_StoL1)**2)**0.5\n",
    "    FWHM1V_list  = ((0.88*wl*q1_list/aperL1V_list)**2 + (2.355*sigmaV*q1_list/d_StoL1)**2)**0.5\n",
    "    if flag_HE:\n",
    "        FWHM1H_list *= (Strehl1_list)**(-0.5)\n",
    "        FWHM1V_list *= (Strehl1_list)**(-0.5)\n",
    "    # Sigma beam size before CRL2\n",
    "    sigma2H_list = (((0.88*wl*(d_StoL2-d_StoL1))/aperL1H_list)**2 + (aperL1H_list*(1-(d_StoL2-d_StoL1)/q1_list))**2)**0.5/2.355\n",
    "    sigma2V_list = (((0.88*wl*(d_StoL2-d_StoL1))/aperL1V_list)**2 + (aperL1V_list*(1-(d_StoL2-d_StoL1)/q1_list))**2)**0.5/2.355\n",
    "\n",
    "    p2_list      = d_StoL2 - d_StoL1 - q1_list           # p2 for CRL2 for all possible CRL1 configurations\n",
    "    invf2_list   = 1.0/p2_list + 1/(d_Stof - d_StoL2)    # f2^-1 for CRL2 to match CRL1 for all possible CRL1 configurations\n",
    "    #L2_config_index   = np.zeros(L1_index_n)            # CRL2 configueration index to match CRL1\n",
    "\n",
    "    #invf2_indices, invf2_values = find_closest_values_auto(L2_invF_list_sorted, invf2_list)\n",
    "    #invf2_indices, invf2_values = find_levels_left(L2_invF_list_sorted, invf2_list)\n",
    "    invf2_indices, invf2_values = find_levels(L2_invF_list_sorted, invf2_list, direction = 'forward')\n",
    "\n",
    "    nan_positions = np.where(invf2_indices == -1)\n",
    "    invf2_values[nan_positions] = np.nan                # only f2^-1 values that can be matched with CRL1\n",
    "    q2_list  = 1/(invf2_values - 1/p2_list)\n",
    "    dq2_list = q2_list - (d_Stof - d_StoL2)\n",
    "\n",
    "    L2_n2mud_list   = np.zeros(L1_index_n)              # List of n2*mu*d_min for all possible CRL1 configurations\n",
    "    L2_n2muR_list   = np.zeros(L1_index_n)              # List of n2*mu/R for all possible CRL1 configurations\n",
    "    aperL2H_list    = np.zeros(L1_index_n)              # absorption H aperture of CRL2 for all CRL1 configurations\n",
    "    aperL2V_list    = np.zeros(L1_index_n)              # absorption V aperture of CRL2 for all CRL1 configurations\n",
    "    diameter2_list  = np.zeros(L1_index_n)              # CRL2 diameter for all possible CRL1 configurations\n",
    "    FWHM2H_list     = np.zeros(L1_index_n)              # H focal size at the focus of CRL2 matching all possible CRL1 configurations\n",
    "    FWHM2V_list     = np.zeros(L1_index_n)              # V focal size at the focus of CRL2 matching all possible CRL1 configurations\n",
    "    FWHM_list       = np.zeros(L1_index_n)              # Focal size sqrt(H*V) at the focus of CRL2 matching all possible CRL1 configurations\n",
    "    Strehl2_list     = np.zeros(L1_index_n)                      # Strehl ratio based on lens thickness error\n",
    "\n",
    "    for i in range(L1_index_n):\n",
    "        if invf2_indices[i] != -1:\n",
    "            # absorption aperture is a function of CRL absorption/physical aperture, incident beam size, and physical slits\n",
    "            L2_n2mud_list[i] = np.sum(index_to_binary_list(L2_invF_list_sort_indices[invf2_indices[i]], L2_Feq.size)*np.array(L2_mu*L2_n*d_min))\n",
    "            L2_n2muR_list[i] = np.sum(index_to_binary_list(L2_invF_list_sort_indices[invf2_indices[i]], L2_Feq.size)*np.array(L2_mu*L2_n/L2_R))\n",
    "            solution = root_scalar(absorptionaperture, args=(L2_n2mud_list[i], sigma2H_list[i], L2_n2muR_list[i]), bracket=[0.0, 2*sigma2H_list[i]], method='bisect')\n",
    "            aperL2H_list[i] = solution.root*2.0\n",
    "            solution = root_scalar(absorptionaperture, args=(L2_n2mud_list[i], sigma2V_list[i], L2_n2muR_list[i]), bracket=[0.0, 2*sigma2V_list[i]], method='bisect')\n",
    "            aperL2V_list[i] = solution.root*2.0\n",
    "            mask = (np.array(index_to_binary_list(L2_invF_list_sort_indices[invf2_indices[i]], L2_Feq.size)) == 1)\n",
    "            if np.all(mask == False):\n",
    "                diameter2_list[i] = np.inf\n",
    "            else:\n",
    "                diameter2_list[i] = np.min(L2_D[mask])\n",
    "            aperL2H_list[i] = min(aperL2H_list[i], diameter2_list[i], slit2_H)\n",
    "            aperL2V_list[i] = min(aperL2V_list[i], diameter2_list[i], slit2_V)\n",
    "            phase_error_tmp = np.linalg.norm(index_to_binary_list(L2_invF_list_sort_indices[invf2_indices[i]], L2_Feq.size)*np.array(L2_HE*L2_delta)*2*np.pi/wl)\n",
    "            Strehl2_list[i] = np.exp(-phase_error_tmp**2)\n",
    "    aperL2H_list[nan_positions] = np.nan\n",
    "    aperL2V_list[nan_positions] = np.nan\n",
    "    Strehl2_list[nan_positions] = np.nan\n",
    "\n",
    "    # FWHMbeam size at focus\n",
    "    FWHM2H_list = ((0.88*wl*q2_list/aperL2H_list)**2 + (FWHM1H_list*q2_list/p2_list)**2)**0.5\n",
    "    FWHM2V_list = ((0.88*wl*q2_list/aperL2V_list)**2 + (FWHM1V_list*q2_list/p2_list)**2)**0.5\n",
    "    if flag_HE:\n",
    "        FWHM2H_list *= (Strehl2_list)**(-0.5)\n",
    "        FWHM2V_list *= (Strehl2_list)**(-0.5)\n",
    "    FWHM_list   = (FWHM2H_list*FWHM2V_list)**0.5\n",
    "\n",
    "    #index, value = find_closest_values_auto(FWHM_list, fsize)\n",
    "    #indices, values = find_levels_left(FWHM_list, fsize)\n",
    "    indices, values = find_levels(FWHM_list, fsize, direction = 'forward')\n",
    "    index = indices[0]\n",
    "    if index == -1:\n",
    "        print(f\"Cannot achieve the focal size {fsize*1.0e6:.2f} μm\")\n",
    "        return\n",
    "\n",
    "    # Print results\n",
    "    print(\"======== Find size at focus ========================================\")\n",
    "    print(f\"Energy: {energy_keV} keV\")\n",
    "    print(f\"CRL1 configuration index in sorted list is {index}\")\n",
    "    print(f\"CRL1 configuration index is {L1_invF_list_sort_indices[index]} or {index_to_binary_list(L1_invF_list_sort_indices[index], L1_Feq.size)}\")\n",
    "    print(f\"CRL1 f is {1/L1_invF_list_sorted[index]:.2f} m, focus at q1 = {q1_list[index]:.2f} m ({q1_list[index]-(d_Stof-d_StoL1):.2f} m from sample)\")\n",
    "    #print(f\"CRL1 f is {1/L1_invF_list[L1_invF_list_sort_indices[index]]} m\")\n",
    "    print(f\"CRL2 configuration index in sorted list is {invf2_indices[index]}\")\n",
    "    print(f\"CRL2 configuration index is {L2_invF_list_sort_indices[invf2_indices[index]]} or {index_to_binary_list(L2_invF_list_sort_indices[invf2_indices[index]], L2_Feq.size)}\")\n",
    "    print(f\"CRL2 f is {1/invf2_values[index]:.2f} m\")\n",
    "    print(f\"Focal size is {FWHM2H_list[index]*1.0e6:.2f} μm x {FWHM2V_list[index]*1.0e6:.2f} μm at the focal point ({dq2_list[index]*1e3:.1f} mm from sample)\")\n",
    "\n",
    "    FWHM2H_atsample_list = (FWHM2H_list**2 + (aperL2H_list*dq2_list/q2_list)**2)**0.5\n",
    "    FWHM2V_atsample_list = (FWHM2V_list**2 + (aperL2V_list*dq2_list/q2_list)**2)**0.5\n",
    "    FWHM_atsample_list   = (FWHM2H_atsample_list*FWHM2V_atsample_list)**0.5\n",
    "    #indices, values = find_levels_left(FWHM_atsample_list, fsize)\n",
    "    indices, values = find_levels(FWHM_atsample_list, fsize, direction = 'forward')\n",
    "    index2 = indices[0]\n",
    "    if index2 == -1:\n",
    "        print(f\"Cannot achieve the bame size {fsize*1.0e6:.2f} μm at sample\")\n",
    "        return\n",
    "    print(\"======== Find size at sample =======================================\")\n",
    "    print(f\"CRL1 configuration index in sorted list is {index2}\")\n",
    "    print(f\"CRL1 configuration index is {L1_invF_list_sort_indices[index2]} or {index_to_binary_list(L1_invF_list_sort_indices[index2], L1_Feq.size)}\")\n",
    "    print(f\"CRL1 f is {1/L1_invF_list_sorted[index2]:.2f} m, focus at q1 = {q1_list[index2]:.2f} m ({q1_list[index2]-(d_Stof-d_StoL1):.2f} m from sample)\")\n",
    "    print(f\"CRL2 configuration index in sorted list is {invf2_indices[index2]}\")\n",
    "    print(f\"CRL2 configuration index is {L2_invF_list_sort_indices[invf2_indices[index2]]} or {index_to_binary_list(L2_invF_list_sort_indices[invf2_indices[index2]], L2_Feq.size)}\")\n",
    "    print(f\"CRL2 f is {1/invf2_values[index2]:.2f} m\")\n",
    "    print(f\"Beam size is {FWHM2H_atsample_list[index2]*1.0e6:.2f} μm x {FWHM2V_atsample_list[index2]*1.0e6:.2f} μm at the sample position)\")\n",
    "\n",
    "    return"
   ]
  },
  {
   "cell_type": "code",
mwyman's avatar
mwyman committed
   "execution_count": 43,
mwyman's avatar
mwyman committed
   "id": "07e34dff-84dd-48d7-bc91-6ed16507ccf5",
   "metadata": {},
   "outputs": [],
   "source": [
    "def Zoom_CRL2D_focuscal(index1, index2):\n",
    "    # Preparation block\n",
    "    L1_D        = np.zeros(L1_R.size)                                   # CRL1 diameters for each stack\n",
    "    for i in range(L1_R.size):\n",
    "        L1_D[i] = lookup_diameter(L1_R[i])\n",
    "    L1_delta    = materials_to_deltas(L1_mater, energy_keV)             # delta values for CRL1 stacks\n",
    "    L1_mu       = materials_to_linear_attenuation(L1_mater, energy_keV) # mu values for CRL1 stacks\n",
    "    L1_Feq      = L1_R/(2*L1_n*L1_delta) + L1_loc                       # CRL1 equivalent f in m for each stack\n",
    "    L2_D        = np.zeros(L2_R.size)                                   # CRL2 diameters for each stack\n",
    "    for i in range(L2_R.size):\n",
    "        L2_D[i] = lookup_diameter(L2_R[i])\n",
    "    L2_delta    = materials_to_deltas(L2_mater, energy_keV)             # Delta values for CRL2 stacks\n",
    "    L2_mu       = materials_to_linear_attenuation(L2_mater, energy_keV) # mu values for CRL2 stacks\n",
    "    L2_Feq      = L2_R/(2*L2_n*L2_delta) + L2_loc                       # CRL2 equivalent f in m for each stack\n",
    "\n",
    "    # Calculation block\n",
    "    L1_invF = np.sum(index_to_binary_list(index1, L1_Feq.size)/L1_Feq)  # f^-1 for CRL1\n",
    "    L2_invF = np.sum(index_to_binary_list(index2, L2_Feq.size)/L2_Feq)  # f^-1 for CRL1\n",
    "    q1      = 1/(L1_invF - 1/d_StoL1)                                   # focal position of CRL1\n",
    "    sigma1H = (sigmaH**2 + (sigmaHp*d_StoL1)**2)**0.5                   # sigma beam size before CRL1\n",
    "    sigma1V = (sigmaV**2 + (sigmaVp*d_StoL1)**2)**0.5                   # sigma beam size before CRL1\n",
    "\n",
    "    # absorption aperture is a function of CRL absorption/physical aperture, incident beam size, and physical slits\n",
    "    L1_n1mud = np.sum(index_to_binary_list(index1, L1_Feq.size)*np.array(L1_mu*L1_n*d_min))\n",
    "    L1_n1muR = np.sum(index_to_binary_list(index1, L1_Feq.size)*np.array(L1_mu*L1_n/L1_R))\n",
    "    solution = root_scalar(absorptionaperture, args=(L1_n1mud, sigma1H, L1_n1muR), bracket=[0.0, 2*sigma1H], method='bisect')\n",
    "    aperL1H  = solution.root*2.0\n",
    "    solution = root_scalar(absorptionaperture, args=(L1_n1mud, sigma1V, L1_n1muR), bracket=[0.0, 2*sigma1V], method='bisect')\n",
    "    aperL1V  = solution.root*2.0\n",
    "    mask     = (np.array(index_to_binary_list(index1, L1_Feq.size)) == 1)\n",
    "    if np.all(mask == False):\n",
    "        diameter1 = np.inf\n",
    "    else:\n",
    "        diameter1 = np.min(L1_D[mask])\n",
    "    aperL1H = min(aperL1H, diameter1, slit1_H)\n",
    "    aperL1V = min(aperL1V, diameter1, slit1_V)\n",
    "    phase_error_tmp1 = np.linalg.norm(index_to_binary_list(index1, L1_Feq.size)*np.array(L1_HE*L1_delta)*2*np.pi/wl)\n",
    "    Strehl1 = np.exp(-phase_error_tmp1**2)\n",
    "\n",
    "    # FWHMbeam size at CRL1 focus\n",
    "    FWHM1H  = ((0.88*wl*q1/aperL1H)**2 + (2.355*sigmaH*q1/d_StoL1)**2)**0.5\n",
    "    FWHM1V  = ((0.88*wl*q1/aperL1V)**2 + (2.355*sigmaV*q1/d_StoL1)**2)**0.5\n",
    "    if flag_HE:\n",
    "        FWHM1H *= (Strehl1)**(-0.5)\n",
    "        FWHM1V *= (Strehl1)**(-0.5)\n",
    "\n",
    "    # Sigma beam size before CRL2\n",
    "    sigma2H = (((0.88*wl*(d_StoL2-d_StoL1))/aperL1H)**2 + (aperL1H*(1-(d_StoL2-d_StoL1)/q1))**2)**0.5/2.355\n",
    "    sigma2V = (((0.88*wl*(d_StoL2-d_StoL1))/aperL1V)**2 + (aperL1V*(1-(d_StoL2-d_StoL1)/q1))**2)**0.5/2.355\n",
    "\n",
    "    p2      = d_StoL2 - d_StoL1 - q1    # p2 for CRL2\n",
    "    q2      = 1/(L2_invF - 1/p2)        # q2 for CRL2 calculated from CRL2 index and p2\n",
    "    dq2     = q2 - (d_Stof - d_StoL2)   # off focus distance\n",
    "\n",
    "    L2_n2mud = np.sum(index_to_binary_list(index2, L2_Feq.size)*np.array(L2_mu*L2_n*d_min))\n",
    "    L2_n2muR = np.sum(index_to_binary_list(index2, L2_Feq.size)*np.array(L2_mu*L2_n/L2_R))\n",
    "    solution = root_scalar(absorptionaperture, args=(L2_n2mud, sigma2H, L2_n2muR), bracket=[0.0, 2*sigma2H], method='bisect')\n",
    "\n",
    "    aperL2H = solution.root*2.0\n",
    "    solution = root_scalar(absorptionaperture, args=(L2_n2mud, sigma2V, L2_n2muR), bracket=[0.0, 2*sigma2V], method='bisect')\n",
    "    aperL2V = solution.root*2.0\n",
    "    mask = (np.array(index_to_binary_list(index2, L2_Feq.size)) == 1)\n",
    "    if np.all(mask == False):\n",
    "        diameter2 = np.inf\n",
    "    else:\n",
    "        diameter2 = np.min(L2_D[mask])\n",
    "    aperL2H = min(aperL2H, diameter2, slit2_H)\n",
    "    aperL2V = min(aperL2V, diameter2, slit2_V)\n",
    "    phase_error_tmp2 = np.linalg.norm(index_to_binary_list(index2, L2_Feq.size)*np.array(L2_HE*L2_delta)*2*np.pi/wl)\n",
    "    Strehl2 = np.exp(-phase_error_tmp2**2)\n",
    "\n",
    "    FWHM2H = ((0.88*wl*q2/aperL2H)**2 + (FWHM1H*q2/p2)**2)**0.5\n",
    "    FWHM2V = ((0.88*wl*q2/aperL2V)**2 + (FWHM1V*q2/p2)**2)**0.5\n",
    "    if flag_HE:\n",
    "        FWHM2H *= (Strehl2)**(-0.5)\n",
    "        FWHM2V *= (Strehl2)**(-0.5)\n",
    "\n",
    "    FWHM2H_atsample = (FWHM2H**2 + (aperL2H*dq2/q2)**2)**0.5\n",
    "    FWHM2V_atsample = (FWHM2V**2 + (aperL2V*dq2/q2)**2)**0.5\n",
    "\n",
mwyman's avatar
mwyman committed
    "   # print(\"====================================================================\")\n",
    "   # print(f\"Energy: {energy_keV} keV\")\n",
    "   # print(f\"CRL1 configuration index is {index1} or {index_to_binary_list(index1, L1_Feq.size)}\")\n",
    "   # print(f\"CRL1 f is {1/L1_invF:.2f} m, focus at q1 = {q1:.2f} m ({q1-(d_Stof-d_StoL1):.2f} m from sample)\")\n",
    "   # print(f\"CRL2 configuration index is {index2} or {index_to_binary_list(index2, L2_Feq.size)}\")\n",
    "   # print(f\"CRL2 f is {1/L2_invF:.2f} m\")\n",
    "   # print(f\"Focal size is {FWHM2H*1.0e6:.2f} μm x {FWHM2V*1.0e6:.2f} μm at the focal point ({dq2*1e3:.1f} mm from sample)\")\n",
    "   # print(f\"Beam size is {FWHM2H_atsample*1.0e6:.2f} μm x {FWHM2V_atsample*1.0e6:.2f} μm at sample position\")\n",
    "\n",
    "    return (FWHM2H_atsample*FWHM2V_atsample)**0.5\n"
mwyman's avatar
mwyman committed
606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fc2652f3-e27a-4710-a35c-cf4abe05afd9",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "353a4c4c-3b5a-4944-b4a8-ce3ae8f70480",
   "metadata": {},
   "outputs": [],
   "source": [
    "def Zoom_CRL2D_lookup():\n",
    "\n",
    "    L1_D        = np.zeros(L1_R.size)                                   # CRL1 diameters for each stack\n",
    "    for i in range(L1_R.size):\n",
    "        L1_D[i] = lookup_diameter(L1_R[i])\n",
    "    L1_delta    = materials_to_deltas(L1_mater, energy_keV)             # delta values for CRL1 stacks\n",
    "    L1_mu       = materials_to_linear_attenuation(L1_mater, energy_keV) # mu values for CRL1 stacks\n",
    "    L1_Feq      = L1_R/(2*L1_n*L1_delta)+L1_loc                         # CRL1 equivalent f in m for each stack\n",
    "\n",
    "    L2_D        = np.zeros(L2_R.size)                                   # CRL2 diameters for each stack\n",
    "    for i in range(L2_R.size):\n",
    "        L2_D[i] = lookup_diameter(L2_R[i])\n",
    "    L2_delta    = materials_to_deltas(L2_mater, energy_keV)             # Delta values for CRL2 stacks\n",
    "    L2_mu       = materials_to_linear_attenuation(L2_mater, energy_keV) # mu values for CRL2 stacks\n",
    "    L2_Feq      = L2_R/(2*L2_n*L2_delta)+L2_loc                         # CRL2 equivalent f in m for each stack\n",
    "\n",
    "    L1_index_n   = 2**L1_Feq.size                                       # Total number of combinations for CRL1\n",
    "    L1_invF_list = np.zeros(L1_index_n)                                 # List of equivalent 1/f in m^-1 for CRL1\n",
    "    for i in range(L1_index_n):\n",
    "        L1_invF_list[i] = np.sum(index_to_binary_list(i, L1_Feq.size)/L1_Feq)\n",
    "    # Sort the L1_invF list (to avoid zigzagging)\n",
    "    L1_invF_list_sort_indices = np.argsort(L1_invF_list)\n",
    "    L1_invF_list_sorted       = L1_invF_list[L1_invF_list_sort_indices]\n",
    "\n",
    "    q1_list = 1/(L1_invF_list_sorted - 1/d_StoL1)                      # focal position of CRL1 for all configurations (sorted)\n",
    "    # may be limit to cases q1 beyond sample???\n",
    "\n",
    "    L2_index_n   = 2**L2_Feq.size                               # Total number of combinations for CRL2\n",
    "    L2_invF_list = np.zeros(L2_index_n)                         # List of equivalent 1/f in m^-1 for CRL2\n",
    "    for i in range(L2_index_n):\n",
    "        L2_invF_list[i] = np.sum(index_to_binary_list(i, L2_Feq.size)/L2_Feq)\n",
    "    # Sort the L2_invF list (to avoid zigzagging)\n",
    "    L2_invF_list_sort_indices = np.argsort(L2_invF_list)\n",
    "    L2_invF_list_sorted       = L2_invF_list[L2_invF_list_sort_indices]\n",
    "\n",
    "    # Start generating focal size list as a function of CRL1 setting\n",
    "    sigma1H         = (sigmaH**2 + (sigmaHp*d_StoL1)**2)**0.5   # sigma beam size before CRL1\n",
    "    sigma1V         = (sigmaV**2 + (sigmaVp*d_StoL1)**2)**0.5   # sigma beam size before CRL1\n",
    "    L1_n1mud_list   = np.zeros(L1_index_n)                      # List of n1*mu*d_min for all possible CRL1 configurations\n",
    "    L1_n1muR_list   = np.zeros(L1_index_n)                      # List of n1*mu/R for all possible CRL1 configurations\n",
    "    aperL1H_list    = np.zeros(L1_index_n)                      # absorption H aperture of CRL1 for all configurations\n",
    "    aperL1V_list    = np.zeros(L1_index_n)                      # absorption V aperture of CRL1 for all configurations\n",
    "    diameter1_list  = np.zeros(L1_index_n)                      # CRL1 diameter for all possible configurations\n",
    "    FWHM1H_list     = np.zeros(L1_index_n)                      # H focal size at the focus of CRL1\n",
    "    FWHM1V_list     = np.zeros(L1_index_n)                      # V focal size at the focus of CRL1\n",
    "    sigma2H_list    = np.zeros(L1_index_n)                      # sigma beam size before CRL2\n",
    "    sigma2V_list    = np.zeros(L1_index_n)                      # sigma beam size before CRL2\n",
    "    Strehl1_list    = np.zeros(L1_index_n)                     # Strehl ratio based on lens thickness error\n",
    "\n",
    "    for i in range(L1_index_n):\n",
    "        # absorption aperture is a function of CRL absorption/physical aperture, incident beam size, and physical slits\n",
    "        L1_n1mud_list[i] = np.sum(index_to_binary_list(L1_invF_list_sort_indices[i], L1_Feq.size)*np.array(L1_mu*L1_n*d_min))\n",
    "        L1_n1muR_list[i] = np.sum(index_to_binary_list(L1_invF_list_sort_indices[i], L1_Feq.size)*np.array(L1_mu*L1_n/L1_R))\n",
    "        solution         = root_scalar(absorptionaperture, args=(L1_n1mud_list[i], sigma1H, L1_n1muR_list[i]), bracket=[0.0, 2*sigma1H], method='bisect')\n",
    "        aperL1H_list[i]  = solution.root*2.0\n",
    "        solution         = root_scalar(absorptionaperture, args=(L1_n1mud_list[i], sigma1V, L1_n1muR_list[i]), bracket=[0.0, 2*sigma1V], method='bisect')\n",
    "        aperL1V_list[i]  = solution.root*2.0\n",
    "        mask = (np.array(index_to_binary_list(L1_invF_list_sort_indices[i], L1_Feq.size)) == 1)\n",
    "        if np.all(mask == False):\n",
    "            diameter1_list[i] = np.inf\n",
    "        else:\n",
    "            diameter1_list[i] = np.min(L1_D[mask])\n",
    "        aperL1H_list[i] = min(aperL1H_list[i], diameter1_list[i], slit1_H)\n",
    "        aperL1V_list[i] = min(aperL1V_list[i], diameter1_list[i], slit1_V)\n",
    "        phase_error_tmp = np.linalg.norm(index_to_binary_list(L1_invF_list_sort_indices[i], L1_Feq.size)*np.array(L1_HE*L1_delta)*2*np.pi/wl)   # RMS phase error of the lens stack\n",
    "        Strehl1_list[i] = np.exp(-phase_error_tmp**2)\n",
    "\n",
    "    # FWHMbeam size at CRL1 focus\n",
    "    FWHM1H_list  = ((0.88*wl*q1_list/aperL1H_list)**2 + (2.355*sigmaH*q1_list/d_StoL1)**2)**0.5\n",
    "    FWHM1V_list  = ((0.88*wl*q1_list/aperL1V_list)**2 + (2.355*sigmaV*q1_list/d_StoL1)**2)**0.5\n",
    "    if flag_HE:\n",
    "        FWHM1H_list *= (Strehl1_list)**(-0.5)\n",
    "        FWHM1V_list *= (Strehl1_list)**(-0.5)\n",
    "    # Sigma beam size before CRL2\n",
    "    sigma2H_list = (((0.88*wl*(d_StoL2-d_StoL1))/aperL1H_list)**2 + (aperL1H_list*(1-(d_StoL2-d_StoL1)/q1_list))**2)**0.5/2.355\n",
    "    sigma2V_list = (((0.88*wl*(d_StoL2-d_StoL1))/aperL1V_list)**2 + (aperL1V_list*(1-(d_StoL2-d_StoL1)/q1_list))**2)**0.5/2.355\n",
    "\n",
    "    p2_list      = d_StoL2 - d_StoL1 - q1_list           # p2 for CRL2 for all possible CRL1 configurations\n",
    "    invf2_list   = 1.0/p2_list + 1/(d_Stof - d_StoL2)    # f2^-1 for CRL2 to match CRL1 for all possible CRL1 configurations\n",
    "    #L2_config_index   = np.zeros(L1_index_n)            # CRL2 configueration index to match CRL1\n",
    "\n",
    "    #invf2_indices, invf2_values = find_closest_values_auto(L2_invF_list_sorted, invf2_list)\n",
    "    #invf2_indices, invf2_values = find_levels_left(L2_invF_list_sorted, invf2_list)\n",
    "    invf2_indices, invf2_values = find_levels(L2_invF_list_sorted, invf2_list, direction = 'forward')\n",
    "\n",
    "    nan_positions = np.where(invf2_indices == -1)\n",
    "    invf2_values[nan_positions] = np.nan                # only f2^-1 values that can be matched with CRL1\n",
    "    q2_list  = 1/(invf2_values - 1/p2_list)\n",
    "    dq2_list = q2_list - (d_Stof - d_StoL2)\n",
    "\n",
    "    L2_n2mud_list   = np.zeros(L1_index_n)              # List of n2*mu*d_min for all possible CRL1 configurations\n",
    "    L2_n2muR_list   = np.zeros(L1_index_n)              # List of n2*mu/R for all possible CRL1 configurations\n",
    "    aperL2H_list    = np.zeros(L1_index_n)              # absorption H aperture of CRL2 for all CRL1 configurations\n",
    "    aperL2V_list    = np.zeros(L1_index_n)              # absorption V aperture of CRL2 for all CRL1 configurations\n",
    "    diameter2_list  = np.zeros(L1_index_n)              # CRL2 diameter for all possible CRL1 configurations\n",
    "    FWHM2H_list     = np.zeros(L1_index_n)              # H focal size at the focus of CRL2 matching all possible CRL1 configurations\n",
    "    FWHM2V_list     = np.zeros(L1_index_n)              # V focal size at the focus of CRL2 matching all possible CRL1 configurations\n",
    "    FWHM_list       = np.zeros(L1_index_n)              # Focal size sqrt(H*V) at the focus of CRL2 matching all possible CRL1 configurations\n",
    "    Strehl2_list     = np.zeros(L1_index_n)                      # Strehl ratio based on lens thickness error\n",
    "\n",
    "    for i in range(L1_index_n):\n",
    "        if invf2_indices[i] != -1:\n",
    "            # absorption aperture is a function of CRL absorption/physical aperture, incident beam size, and physical slits\n",
    "            L2_n2mud_list[i] = np.sum(index_to_binary_list(L2_invF_list_sort_indices[invf2_indices[i]], L2_Feq.size)*np.array(L2_mu*L2_n*d_min))\n",
    "            L2_n2muR_list[i] = np.sum(index_to_binary_list(L2_invF_list_sort_indices[invf2_indices[i]], L2_Feq.size)*np.array(L2_mu*L2_n/L2_R))\n",
    "            solution = root_scalar(absorptionaperture, args=(L2_n2mud_list[i], sigma2H_list[i], L2_n2muR_list[i]), bracket=[0.0, 2*sigma2H_list[i]], method='bisect')\n",
    "            aperL2H_list[i] = solution.root*2.0\n",
    "            solution = root_scalar(absorptionaperture, args=(L2_n2mud_list[i], sigma2V_list[i], L2_n2muR_list[i]), bracket=[0.0, 2*sigma2V_list[i]], method='bisect')\n",
    "            aperL2V_list[i] = solution.root*2.0\n",
    "            mask = (np.array(index_to_binary_list(L2_invF_list_sort_indices[invf2_indices[i]], L2_Feq.size)) == 1)\n",
    "            if np.all(mask == False):\n",
    "                diameter2_list[i] = np.inf\n",
    "            else:\n",
    "                diameter2_list[i] = np.min(L2_D[mask])\n",
    "            aperL2H_list[i] = min(aperL2H_list[i], diameter2_list[i], slit2_H)\n",
    "            aperL2V_list[i] = min(aperL2V_list[i], diameter2_list[i], slit2_V)\n",
    "            phase_error_tmp = np.linalg.norm(index_to_binary_list(L2_invF_list_sort_indices[invf2_indices[i]], L2_Feq.size)*np.array(L2_HE*L2_delta)*2*np.pi/wl)\n",
    "            Strehl2_list[i] = np.exp(-phase_error_tmp**2)\n",
    "    aperL2H_list[nan_positions] = np.nan\n",
    "    aperL2V_list[nan_positions] = np.nan\n",
    "    Strehl2_list[nan_positions] = np.nan\n",
    "\n",
    "    # FWHMbeam size at focus\n",
    "    FWHM2H_list = ((0.88*wl*q2_list/aperL2H_list)**2 + (FWHM1H_list*q2_list/p2_list)**2)**0.5\n",
    "    FWHM2V_list = ((0.88*wl*q2_list/aperL2V_list)**2 + (FWHM1V_list*q2_list/p2_list)**2)**0.5\n",
    "    if flag_HE:\n",
    "        FWHM2H_list *= (Strehl2_list)**(-0.5)\n",
    "        FWHM2V_list *= (Strehl2_list)**(-0.5)\n",
    "    FWHM_list   = (FWHM2H_list*FWHM2V_list)**0.5\n",
    "\n",
    "    FWHM2H_atsample_list = (FWHM2H_list**2 + (aperL2H_list*dq2_list/q2_list)**2)**0.5\n",
    "    FWHM2V_atsample_list = (FWHM2V_list**2 + (aperL2V_list*dq2_list/q2_list)**2)**0.5\n",
    "    FWHM_atsample_list   = (FWHM2H_atsample_list*FWHM2V_atsample_list)**0.5\n",
    "\n",
    "    return FWHM_atsample_list, L1_invF_list_sort_indices, invf2_indices"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "546e0e8f-0659-440a-acc1-a98018f48312",
   "metadata": {},
   "source": [
    "# Testing XS lookup table function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "f930757a-7c93-4600-99aa-2bcf08572338",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi8AAAGxCAYAAACqUFbqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAABc+ElEQVR4nO3de3xT9f0/8NfJvff7hUIpd7AgdxDwAqjDu1PndSo49Tvd6tShmzq36dxXcc453azX735u88q8X+ZEREAcIOV+KfdbKbT03vSWtEk+vz+Sc5q0SZpbT5rwej4ePGiTk5NPTiF59f25SUIIASIiIqIYoYl2A4iIiIiCwfBCREREMYXhhYiIiGIKwwsRERHFFIYXIiIiiikML0RERBRTGF6IiIgopjC8EBERUUxheCEiIqKYwvBCpIItW7bgiiuuQEFBARITEzFu3Dg89thjaG9vD+jxNTU1uOWWW5CdnY3ExETMnj0bK1asCOix8+bNw4QJE8JpPgDg5z//OSRJwp49e3we8/DDD0OSJGzevNnnMbfccguGDRsWdnv8idRrjoT29nY8+uijWLVqVcjnWLVqFSRJwnvvvdfnsY8++igkSQr5uYhiAcMLUT8rLy/HnDlzcOTIETz77LP47LPPcP311+Oxxx7DDTfc0OfjrVYrzjvvPKxYsQLPPfccPv74Y+Tl5eHCCy/E6tWrVXgFTrfddhsA4P/9v//n9X6Hw4F//vOfmDx5MqZOnapauwa69vZ2/O53vwsrvBCRJ120G0AU79566y1YLBa8//77GDlyJADg3HPPRVVVFV555RU0NjYiIyPD5+P/9re/YefOnVi7di1mz54NAJg/fz4mTZqEX/7yl/juu+9UeR0TJkzAzJkz8frrr+OJJ56ATuf59vHll1+isrISDzzwgCrtIaJTFysvRP1Mr9cDANLS0jxuT09Ph0ajgcFg8Pv4Dz/8EGPHjlWCCwDodDrcdNNN2LBhA44fPx50mz788EMkJibi9ttvh81mAwBs3LgRl19+OTIzM2EymTBlyhT861//8njcbbfdhurqavznP//pdc7XXnsNRqMRN954Y9DtsVgseOihhzB8+HAYDAYMHjwYJSUlaGpq8jjO4XDgqaeewrhx42A0GpGbm4uFCxeisrIy6Nfsq/vKW7eLJEm466678PLLL2PMmDEwGo0oLi7GO++84/c5jxw5gpycHADA7373O0iSBEmScMsttwAADhw4gB/96EcYPXo0EhMTMXjwYFx22WXYsWOHz+u0ePFi5OfnIyEhAXPnzsWWLVv6fO0AsHTpUsyePRtJSUlITk7GBRdcEPBjiQYcQUT96vDhwyI9PV1cffXV4uDBg8JsNotPP/1UpKWliZ/97Gd9Pj4/P19cc801vW7/7LPPBACxbNkyv4+fO3euGD9+vPL9M888I7Rarfj973+v3Pb1118Lg8Egzj77bLF06VLxxRdfiFtuuUUAEK+99ppynNlsFomJieKKK67weI6GhgZhNBrF9ddf3+frWbRokSgqKlK+dzgc4oILLhA6nU785je/EV9++aV4+umnRVJSkpgyZYqwWCzKsT/+8Y8FAHHXXXeJL774Qrz00ksiJydHFBYWitra2qBec892yB555BHR860RgCgsLBTFxcXi7bffFp988om48MILBQDx7rvv+nytFotFfPHFFwKAuO2228S6devEunXrxIEDB4QQQqxevVrcd9994r333hOrV68WH374objiiitEQkKC2LNnj3KelStXKm34/ve/Lz799FPxxhtviFGjRonU1FRx8OBBv+1//PHHhSRJ4tZbbxWfffaZ+OCDD8Ts2bNFUlKS2LVrl8/2Ew1UDC9EKti9e7cYN26cAKD8ufvuu4XD4ejzsXq9Xtxxxx29bl+7dq0AIN566y2/j5c/yO12u7jrrruEwWAQb7zxhscx48aNE1OmTBFdXV0et1966aVi0KBBwm63K7ctWrRI6PV6cfLkSeW2v/71rwKAWL58eZ+vp2dokD/cn3rqKY/jli5dKgCIV155RQjhvIYAxE9/+lOP47777jsBQPzqV78K6jUHG14SEhJEdXW1cpvNZhPjxo0To0aN8vt6a2trBQDxyCOP+D1OPmdnZ6cYPXq0+PnPf67cLoeXqVOnevybOXLkiNDr9eL222/32f6Kigqh0+l6BeWWlhaRn58vrr322j7bRTTQsNuIqJ8dOXIEl112GbKysvDee+9h9erVeOqpp/D3v/8dt99+e0Dn8Dd7JJCZJRaLBVdccQXefPNNfPnllx5dOwcOHMCePXuU22w2m/Ln4osvRlVVFfbu3ascf9ttt6Grqwuvv/66cttrr72GoqIinHfeeQG9Hndff/01AChdKbJrrrkGSUlJyqyqlStX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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Beamline input block\n",
    "energy = 8000.0            # Energy in eV\n",
    "energy_keV = energy/1000.0  # Energy in keV\n",
    "wl = 1239.84 / (energy * 10**9)\n",
    "sigmaH = (sigmaH_e**2 + wl*L_und/2/np.pi/np.pi)**0.5\n",
    "sigmaV = (sigmaV_e**2 + wl*L_und/2/np.pi/np.pi)**0.5\n",
    "sigmaHp = (sigmaHp_e**2 + wl/L_und/2)**0.5\n",
    "sigmaVp = (sigmaVp_e**2 + wl/L_und/2)**0.5\n",
    "\n",
    "flag_HE = True\n",
    "slit1_H = 500.0e-6          # H slit size before CRL 1\n",
    "slit1_V = 300.0e-6          # V slit size before CRL 1\n",
    "slit2_H = 500.0e-6          # H slit size before CRL 2\n",
    "slit2_V = 300.0e-6          # V slit size before CRL 2\n",
    "\n",
    "lookup_table, L1_inF_list_sort_indices, index1to2 = Zoom_CRL2D_lookup()\n",
    "\n",
    "plt.plot(np.linspace(0,1023,1024), lookup_table)\n",
    "plt.title(str(energy_keV)+' keV lookup table')\n",
    "plt.yscale('log')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "8dd42de5-a353-41a7-b375-19ecb8051aae",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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z89H7auvvsL06dNRXFzs8v05c+agpaUFK1euVI4rKytTptzUxwkhlGyWL885ENdcc43L15MnT0ZJSQmWLl0a8GPu2bMHV199NQoKCmA0GmE2m3HGGWcAALZt29bjGK6++moA8DqGTz/9FCNGjMCYMWNcfr4/+clPXKawiKIVgxeiCKqtrcU555yDw4cPY/HixRg0aFCP95HrR44fP+52W01NDbKzs3069+LFi3Hs2DHcdNNNyMrKcrnt2LFjEEIgPz8fZrPZ5b9Vq1ahurra5fgbb7wRXV1deOONNwDYC3UlScL111/v01i0jh8/jn79+rl9v7CwULndn+N8ec6BKCgo0P2e3s/GF01NTTjttNPw/fff47HHHsPXX3+NNWvW4MMPPwQAt5VoJpPJrZ5IHpO3MRw7dgybNm1y+9mmp6dDCOH28yWKNlxtRBQhtbW1OPvss7F37158+eWXPfZCkY0YMQIAsHnzZsycOdPlts2bNyu39+S+++7D7t27cd1116GrqwvXXXedcltubi4kScI333wDq9Xqdl/t9yZPnozhw4fjtddewz333IM333wTZ511FkpLS30ai1ZOTg4qKircvn/kyBFlfP4cJ/P2nOXnpbfU3FMgcPToUd3vDR48WPf4nnz11Vc4cuQIvv76ayXbAsBjDU1XVxeOHz/uEsDIY/JWJJ2bm4vk5GS8+uqrHm8nimbMvBBFgBy47NmzB4sWLcLYsWN9vm///v1xyimn4M0330R3d7fy/VWrVuHHH3/EpZde6tPjGAwGvPzyy7jnnnswZ84cvPjii8ptF1xwAYQQOHz4MMaPH+/238iRI90e74YbbkB5eTkeeughVFVV4YYbbvD5OWlNnz5duZCr/eMf/0BKSorSGG/69OkoLy/H+vXr3Y6TJAlnnnmmz88ZsK8q2rRpk8v3vvrqKzQ1NemO86233nL5esWKFdi/fz+mTZvm9fnJwZ82kyJP+WmDw5dfftnjY2nH8PbbbwOA1zFccMEF2L17N3JycnR/vgMHDvQ6fqKIi2jFDVGcWbhwoXjvvffEq6++KgCIyy+/XLz33nvivffeE83NzUIIIVpaWsSECROEJEni+eefFytXrnT5b9euXS6PaTQaxVlnneXyvaVLlwqTySQuueQSsXjxYvHWW2+J4uJiMWLECNHW1uZ1jOriVdnDDz8sAIinn35a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e+CBB8TUqVM93s7XuHfOP/98ccMNN7h879JLLxXXXnutEIKvb29og5dgvZbl5eUCgFi1apVyzMqVKwUAsX379hA/KydOG/Wgo6MD69atw7nnnuvy/XPPPRcrVqyI0KhiV319PQAgOzsbALB3714cPXrU5fW1Wq0444wzlNd33bp16OzsdDmmsLAQI0aM4M8AwB133IHzzz8fZ599tsv3+dr23scff4zx48fj8ssvR15eHsaOHYtXXnlFuZ2vce9MnToVX375JXbs2AEA+OGHH/Dtt99i5syZAPj6BlOwXsuVK1ciMzMTp556qnLMxIkTkZmZGdbXO+52lQ626upqdHd3Iz8/3+X7+fn5OHr0aIRGFZuEELj33nsxdepUjBgxAgCU11Dv9d2/f79yjMViQZ8+fdyOSfSfwTvvvIP169djzZo1brfxte29PXv24MUXX8S9996L3/zmN1i9ejXuvvtuWK1WXHfddXyNe+mBBx5AfX09hg0bBqPRiO7ubjz++OO46qqrAPB3OJiC9VoePXoUeXl5bo+fl5cX1tebwYuPJEly+VoI4fY98u7OO+/Epk2b8O2337rdFsjrm+g/g4MHD+Kee+7BokWLkJSU5PE4vraBs9lsGD9+PJ544gkAwNixY7F161a8+OKLuO6665Tj+BoH5t1338Wbb76Jt99+GyeddBI2btyIuXPnorCwELNnz1aO4+sbPMF4LfWOD/frzWmjHuTm5sJoNLpFlJWVlW4RLHl211134eOPP8bSpUtRVFSkfL+goAAAvL6+BQUF6OjoQG1trcdjEtG6detQWVmJcePGwWQywWQyYdmyZXjhhRdgMpmU14avbeD69euHsrIyl+8NHz4cBw4cAMDf396677778OCDD+LKK6/EyJEjMWvWLPzyl7/Ek08+CYCvbzAF67UsKCjAsWPH3B6/qqoqrK83g5ceWCwWjBs3DosXL3b5/uLFizF58uQIjSp2CCFw55134sMPP8RXX32F0tJSl9tLS0tRUFDg8vp2dHRg2bJlyus7btw4mM1ml2MqKiqwZcuWhP4ZTJ8+HZs3b8bGjRuV/8aPH49rrrkGGzduxKBBg/ja9tKUKVPclvbv2LEDJSUlAPj721stLS0wGFwvQ0ajUVkqzdc3eIL1Wk6aNAn19fVYvXq1csz333+P+vr68L7eYSsNjmHyUum//e1vory8XMydO1ekpqaKffv2RXpoUe+2224TmZmZ4uuvvxYVFRXKfy0tLcoxTz31lMjMzBQffvih2Lx5s7jqqqt0l+8VFRWJJUuWiPXr14uzzjorIZdC9kS92kgIvra9tXr1amEymcTjjz8udu7cKd566y2RkpIi3nzzTeUYvsaBmz17tujfv7+yVPrDDz8Uubm54v7771eO4evru8bGRrFhwwaxYcMGAUD86U9/Ehs2bFDaegTrtTzvvPPEqFGjxMqVK8XKlSvFyJEjuVQ6Ws2bN0+UlJQIi8UiTj75ZGWpL3kHQPe/1157TTnGZrOJhx9+WBQUFAir1SpOP/10sXnzZpfHaW1tFXfeeafIzs4WycnJ4oILLhAHDhwI87OJftrgha9t733yySdixIgRwmq1imHDhokFCxa43M7XOHANDQ3innvuEQMGDBBJSUli0KBB4re//a1ob29XjuHr67ulS5fqvt/Onj1bCBG81/L48ePimmuuEenp6SI9PV1cc801ora2NkzP0k4SQojw5XmIiIiIeoc1L0RERBRTGLwQERFRTGHwQkRERDGFwQsRERHFFAYvREREFFMYvBAREVFMYfBCREREMYXBCxEREcUUBi9EREQUUxi8EBERUUxh8EJEREQx5f8D8SCKF3ltorgAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Beamline input block\n",
    "energy = 12000.0            # Energy in eV\n",
    "energy_keV = energy/1000.0  # Energy in keV\n",
    "wl = 1239.84 / (energy * 10**9)\n",
    "sigmaH = (sigmaH_e**2 + wl*L_und/2/np.pi/np.pi)**0.5\n",
    "sigmaV = (sigmaV_e**2 + wl*L_und/2/np.pi/np.pi)**0.5\n",
    "sigmaHp = (sigmaHp_e**2 + wl/L_und/2)**0.5\n",
    "sigmaVp = (sigmaVp_e**2 + wl/L_und/2)**0.5\n",
    "\n",
    "flag_HE = True\n",
    "slit1_H = 500.0e-6          # H slit size before CRL 1\n",
    "slit1_V = 300.0e-6          # V slit size before CRL 1\n",
    "slit2_H = 500.0e-6          # H slit size before CRL 2\n",
    "slit2_V = 300.0e-6          # V slit size before CRL 2\n",
    "\n",
    "lookup_table, L1_inF_list_sort_indices, index1to2 = Zoom_CRL2D_lookup()\n",
    "\n",
    "plt.plot(np.linspace(0,1023,1024), lookup_table)\n",
    "plt.title(str(energy_keV)+' keV lookup table')\n",
    "plt.yscale('log')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "5accb0db-239b-4791-8900-d15989aacdad",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi8AAAGxCAYAAACqUFbqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB7RElEQVR4nO3dd3gc1dUG8Hd2V1r13ixbtuVuuYJtXDAYAzGYGpKQ0E37AgQIhATSAyEk5EshQGJIgAD5AiRAIITiAAYXDC4Yd1vuVbYkq1i9a/d+f8zO7OzszBZpi3b1/p7HD/bu7OzdkdAcnXvuuZIQQoCIiIgoRliiPQAiIiKiYDB4ISIiopjC4IWIiIhiCoMXIiIiiikMXoiIiCimMHghIiKimMLghYiIiGIKgxciIiKKKQxeiIiIKKYweCEKkZaWFjzwwANYtGgR8vPzIUkSHnroIdPje3p68Nhjj2HKlClITk5GVlYW5s2bh7Vr1wb0fh999BHmzp2LlJQU5OXl4cYbb0RNTY3f1x05cgSSJOF3v/tdoB/NdPyFhYWYM2eO6TFOpxPDhw/H1KlTfZ7L37Xqr1B95lBZu3YtHnroITQ2Nvb5HDfeeCPS0tICOnbkyJG48cYb+/xeRAMNgxeiEKmvr8czzzyDrq4ufPnLX/Z5rMPhwBVXXIGHH34YV199Nf773//i5ZdfxoUXXoi2tja/77V69WosXrwYhYWF+M9//oMnnngCH330Ec477zx0dXWF6BP5lpCQgOuvvx4bNmxAeXm54TEfffQRKioqcMstt0RkTLFi7dq1+PnPf96v4IVoMLNFewBE8WLEiBFoaGiAJEmoq6vDc889Z3rsH//4R/z3v//FZ5995pG5uPjiiwN6r/vvvx/jxo3Dv/71L9hs8v/GpaWlOPPMM/H888/jjjvu6N+HCdAtt9yC3//+93j++ecNsxrPP/88EhMTcd1110VkPEQ0ODDzQhQikiRBkqSAjn3iiSdw9tln+5xyMXPixAls3LgR119/vRq4AMC8efMwbtw4/Pvf/w76nD09PViyZAnS0tLw7rvvAgCEEHjqqacwffp0JCcnIzs7G1/72tdw6NAh9XUTJ07E3Llz8fe//x29vb0e52xsbMR//vMfXH755cjNzQ16TDt37sTll1+O7OxsJCUlYfr06fjb3/7mddyxY8dw3XXXoaCgAHa7HRMnTsTvf/97OJ3OoD+z2fSVftrlxRdfhCRJWL58OW666Sbk5OQgNTUVl156qcf1MfLQQw/h/vvvByAHnMr3zapVqwAAr776KhYtWoQhQ4YgOTkZEydOxA9+8APTjNyuXbtw3nnnITU1Ffn5+bjrrrvQ3t7ucwwA0NzcjO9973soLS1FYmIihg4dinvvvTegzB9RtDF4IYqwiooKHDlyBFOmTMGPfvQjFBYWwmazYdKkSYY3Z72dO3cCgGEdydSpU9XnA9XY2IgLLrgAH374IVavXo1LLrkEAHDbbbfh3nvvxfnnn4+33noLTz31FHbt2oV58+bh5MmT6utvueUW1NTU4L333vM47yuvvILOzs4+TRnt3bsX8+bNw65du/Dkk0/izTffRFlZGW688Ub85je/UY+rra3FvHnz8OGHH+IXv/gF3n77bZx//vn43ve+h7vuuivozxysW265BRaLBa+88goef/xxfP755zjnnHN8TgfdeuutuPvuuwEAb775JtatW4d169bh9NNPBwDs378fF110Ef7617/i/fffx7333ovXXnsNl156qde5enp6cNFFF+G8887DW2+9hbvuugt/+ctf8I1vfMPnuNvb27FgwQL87W9/w7e//W3897//xfe//328+OKLuOyyyyCE6NP1IIoYQUQhV1tbKwCIBx980Ou5devWCQAiIyNDlJWViddee0188MEH4mtf+5oAIJ555hmf53755ZcFALFu3Tqv5775zW+KxMREn68/fPiwACB++9vfisOHD4uysjJRVlYmjhw54jXG3//+9x6vraioEMnJyeKBBx5QH2tpaRFpaWnisssu8zh2xowZoqSkRDgcDp/jEUJ4XaurrrpK2O12cezYMY/jFi9eLFJSUkRjY6MQQogf/OAHAoDYsGGDx3F33HGHkCRJ7N27N+DPbDQOxYgRI8SSJUvUf7/wwgsCgLjiiis8jvvss88EAPHII4/4/Ly//e1vBQBx+PBhn8c5nU7R09MjVq9eLQCIbdu2qc8tWbJEABBPPPGEx2t++ctfCgDi008/NR3/o48+KiwWi9i4caPHa//1r38JAGLZsmU+x0UUbcy8EEWYMp3R2dmJZcuW4corr8SiRYvw2muv4fTTT8fDDz8c0HnMpqgCnbravHkz5syZg8LCQnz22WcYMWKE+ty7774LSZJw3XXXobe3V/1TVFSEadOmqVMcAJCWloavf/3rWLZsmZqR2blzJzZt2oQbb7wRFkvwP2ZWrFiB8847DyUlJR6P33jjjWhvb8e6devU48rKynDGGWd4HSeEwIoVKwL+zH1x7bXXevx73rx5GDFiBFauXNnncx46dAjXXHMNioqKYLVakZCQgAULFgAAdu/e7XcM11xzDQD4HMO7776LyZMnY/r06R5f3wsuuMBjCotooGLwQhRhSv3HhAkTPG6ekiThggsuwPHjx30ueVZeX19f7/XcqVOnkJOTE9A4li9fjpMnT+LWW29FVlaWx3MnT56EEAKFhYVISEjw+LN+/XrU1dV5HH/LLbegt7cXf//73wHIhbqSJOGmm24KaCx69fX1GDJkiNfjxcXF6vPBHBfIZ+6LoqIiw8eMvjaBaG1txVlnnYUNGzbgkUcewapVq7Bx40a8+eabAICOjg6P4202m1c9kTImX2M4efIktm/f7vW1TU9PhxDC6+tLNNBwtRFRhI0ePRopKSmGzwlXrYGvbMXkyZMBADt27MBFF13k8dyOHTvU5/25//77cfDgQdxwww3o7e3FDTfcoD6Xl5cHSZKwZs0a2O12r9fqH5s3bx4mTpyIF154Affccw9eeuklnHvuuSgtLQ1oLHq5ubmoqqryeryyslIdXzDHKXx9ZuVzGS01NwsEqqurDR8bM2aM4fH+rFixApWVlVi1apWabQFgWkPT29uL+vp6jwBGGZOvIum8vDwkJyfj+eefN32eaCBj5oUowmw2Gy6//HLs3r0bR44cUR8XQuD999/H6NGjfd48hg4dijPOOAMvvfQSHA6H+vj69euxd+9efOUrXwloHBaLBX/5y19wzz334MYbb8TTTz+tPnfJJZdACIETJ05g5syZXn+mTJnidb6bb74Z5eXl+MlPfoLa2lrcfPPNAY3DyHnnnafeyLX+7//+DykpKeoqrfPOOw/l5eXYvHmz13GSJGHhwoUBf2ZAXlW0fft2j8dWrFiB1tZWw3G+/PLLHv9eu3Ytjh49inPOOcfn51OCP30mRZny0weHf/nLX0zPpR/DK6+8AgA+x3DJJZfg4MGDyM3NNfz6jhw50uf4iaIumgU3RPFm2bJl4vXXXxfPP/+8ACCuvPJK8frrr4vXX39dtLW1qccdOHBAZGVlifHjx4t//OMf4r333hNXXHGFkCRJvP766x7ntFqt4txzz/V4bOXKlcJms4krrrhCLF++XLz88suipKRETJ48WXR2dvoco7Z4VfHggw8KAOI3v/mN+tg3v/lNkZKSIu6//37xzjvviBUrVoiXX35Z3HHHHeKpp57yOu/JkydFQkKCkCRJZGVliY6OjoCvG3SFsnv27BHp6eli3Lhx4qWXXhLLli0T1157rdcYa2pqxNChQ0VRUZF45plnxAcffCC+/e1vC0mSxLe+9a2gP/MjjzwiJEkSP/3pT8VHH30knnzySTFu3DiRmZlpWLBbUlIibrnlFvH++++LZ599VhQUFIihQ4eK+vp6n5935cqVAoC47bbbxNq1a8XGjRtFc3OzqKurE9nZ2WLatGnizTffFO+884646qqrxNixYwUA8cILL6jnWLJkiUhMTBTDhw8Xv/zlL8WHH34oHnroIWGz2cTixYs93k9fsNva2ipOO+00MWzYMPH73/9eLF++XHzwwQfi2WefFVdeeaVYv369vy8ZUVQxeCEKoREjRggAhn/0K0t27NghLr74YpGeni6SkpLEnDlzxDvvvON1TgBiwYIFXo9/+OGHYs6cOSIpKUnk5OSIG264QZw8edLvGI1u5EK4V8D87Gc/Ux97/vnnxezZs0VqaqpITk4Wo0ePFjfccIP44osvDM99xRVXCAAegUMg9MGLEPL1ufTSS0VmZqZITEwU06ZN87h5K44ePSquueYakZubKxISEsT48ePFb3/7W49VToF+5q6uLvHAAw+IkpISkZycLBYsWCC2bt1qutroww8/FNdff73IysoSycnJ4qKLLhL79+8P6DP/8Ic/FMXFxcJisQgAYuXKlUIIIdauXSvmzp0rUlJSRH5+vrj11lvF5s2bDYOX1NRUsX37dnHOOeeI5ORkkZOTI+644w7R2trq8V768QshBzA/+clPxPjx40ViYqLIzMwUU6ZMEd/5zndEdXV1QJ+BKFokIbign4goGC+++CJuuukmbNy4ETNnzoz2cIgGHda8EBERUUxh8EJEREQxhdNGREREFFOYeSEiIqKYwuCFiIiIYgqDFyIiIoopcbc9gNPpRGVlJdLT0wPeoI6IiIiiSwiBlpYWFBcX+93QNe6Cl8rKSq+daImIiCg2VFRUYNiwYT6PibvgJT09HYD84TMyMqI8GiIiIgpEc3MzSkpK1Pu4L3EXvChTRRkZGQxe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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Beamline input block\n",
    "energy = 16000.0            # Energy in eV\n",
    "energy_keV = energy/1000.0  # Energy in keV\n",
    "wl = 1239.84 / (energy * 10**9)\n",
    "sigmaH = (sigmaH_e**2 + wl*L_und/2/np.pi/np.pi)**0.5\n",
    "sigmaV = (sigmaV_e**2 + wl*L_und/2/np.pi/np.pi)**0.5\n",
    "sigmaHp = (sigmaHp_e**2 + wl/L_und/2)**0.5\n",
    "sigmaVp = (sigmaVp_e**2 + wl/L_und/2)**0.5\n",
    "\n",
    "flag_HE = True\n",
    "slit1_H = 500.0e-6          # H slit size before CRL 1\n",
    "slit1_V = 300.0e-6          # V slit size before CRL 1\n",
    "slit2_H = 500.0e-6          # H slit size before CRL 2\n",
    "slit2_V = 300.0e-6          # V slit size before CRL 2\n",
    "\n",
    "lookup_table, L1_inF_list_sort_indices, index1to2 = Zoom_CRL2D_lookup()\n",
    "\n",
    "plt.plot(np.linspace(0,1023,1024), lookup_table)\n",
    "plt.title(str(energy_keV)+' keV lookup table')\n",
    "plt.yscale('log')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "4dc3c27b-a0a4-4910-ba35-2e6b24cfc0a1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi8AAAGxCAYAAACqUFbqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAABx1ElEQVR4nO3dd3gc1dk28HtWq96LJVmy3KvcsU2xAduY3ksIhGZTvgQCAUIggSRvIAktobwkbwwhECAJkEYcQoCA7dgYg40xNu64F8lFvWul1Zbz/bE7s2dmZ4vqaKX7d11clnZnZ8+OjOfRc57zHEUIIUBEREQUI2xWD4CIiIioMxi8EBERUUxh8EJEREQxhcELERERxRQGL0RERBRTGLwQERFRTGHwQkRERDGFwQsRERHFFAYvREREFFMYvBD1kFWrVuGWW27BxIkTkZqaiuLiYlx22WXYtGmT6fGbN2/G2WefjbS0NGRlZeHKK6/EwYMHo36/lStX4rTTTkNKSgry8vKwZMkSVFVVRXzd4cOHoSgKnn766ajfy4zL5UJBQQFOPfXUkMd4vV4MHz4c06ZNC3suRVHwyCOPdGs84fTUZ+4p69atwyOPPIKGhoYun2PJkiVIS0uL6tiRI0diyZIlXX4vov6GwQtRD3nhhRdw+PBh3HPPPXj//ffxq1/9ClVVVTj11FOxatUq3bG7d+/GggUL0NHRgb/97W945ZVXsHfvXpxxxhmorq6O+F5r1qzBBRdcgIKCAvzrX//Cr371K6xcuRKLFi2C0+nsrY+oEx8fjxtvvBEbNmzArl27TI9ZuXIlysvLceutt/bJmGLFunXr8NOf/rRbwQvRYGa3egBEA8XSpUuRn5+ve+z888/H2LFj8fjjj+Oss87SHv/JT36CxMREvPvuu8jIyAAAzJo1C+PGjcPTTz+NX/ziF2Hf64EHHsD48ePx1ltvwW73/W88atQozJs3D6+88gruuOOOHv505m699VY888wzeOWVV0yzGq+88goSEhJwww039Ml4iGhwYOaFqIcYAxcASEtLQ2lpKcrLy7XH3G433n33XVx11VVa4AIAI0aMwMKFC/HPf/4z7PscO3YMGzduxI033qgFLgAwd+5cjB8/PuLrzbhcLixevBhpaWl49913AQBCCDz//POYMWMGkpOTkZ2dja997Wu6qa1JkybhtNNOw5/+9Ce43W7dORsaGvCvf/0Ll112GXJzczs9ph07duCyyy5DdnY2kpKSMGPGDPzhD38IOq6srAw33HAD8vPzkZiYiEmTJuGZZ56B1+vt9GcONX1lnHZ57bXXoCgKVqxYgZtvvhk5OTlITU3FJZdcEnHq75FHHsEDDzwAwBdwKooCRVHw0UcfAQD++te/4txzz8XQoUORnJyMSZMm4cEHH0Rra6vp+Xbu3IlFixYhNTUVQ4YMwV133QWHwxF2DADQ1NSE+++/H6NGjUJCQgKKi4tx7733hnwfov6EwQtRL2psbMTmzZsxefJk7bEDBw6gra3NtA5k2rRp2L9/P9rb20Oec8eOHdqxZq9Xn49WQ0MDzjvvPCxfvhxr1qzBxRdfDAD41re+hXvvvRdnn3023n77bTz//PPYuXMn5s6di8rKSu31t956K6qqqvDee+/pzvvmm2+ivb29S1NGe/bswdy5c7Fz5078+te/xrJly1BaWoolS5bgl7/8pXZcdXU15s6di+XLl+PnP/853nnnHZx99tm4//77cdddd3X6M3fWrbfeCpvNhjfffBPPPfccPv/8cyxYsCDsdNBtt92G73znOwCAZcuWYf369Vi/fj1OOukkAMC+fftw4YUX4ve//z0++OAD3Hvvvfjb3/6GSy65JOhcLpcLF154IRYtWoS3334bd911F1588UVcc801YcftcDgwf/58/OEPf8Ddd9+N//znP/jBD36A1157DZdeeimEEF26HkR9RhBRr7n++uuF3W4XX3zxhfbYp59+KgCIP//5z0HHP/744wKAOH78eMhzvvHGGwKAWL9+fdBz3/zmN0VCQkLYMR06dEgAEE899ZQ4dOiQKC0tFaWlpeLw4cPaMevXrxcAxDPPPKN7bXl5uUhOThbf//73tceam5tFWlqauPTSS3XHzpo1S5SUlAiPxxN2PEIIAUA8/PDD2vfXXnutSExMFGVlZbrjLrjgApGSkiIaGhqEEEI8+OCDAoDYsGGD7rg77rhDKIoi9uzZE/VnNhuHasSIEWLx4sXa96+++qoAIK644grdcerP9tFHHw37eZ966ikBQBw6dCjscV6vV7hcLrFmzRoBQGzdulV7bvHixQKA+NWvfqV7zWOPPSYAiE8++STk+J944glhs9nExo0bda996623BADx/vvvhx0XkdWYeSHqJf/zP/+DN954A//7v/+LWbNmBT2vKErI14Z7LtIx0bwW8K12OvXUU1FQUIBPP/0UI0aM0J579913oSgKbrjhBrjdbu2/wsJCTJ8+XZviAHxTY1//+tfx/vvvaxmZHTt2YNOmTViyZAlsts7/M7Nq1SosWrQIJSUluseXLFkCh8OB9evXa8eVlpbi5JNPDjpOCBFUKB3uM3fF9ddfr/t+7ty5GDFiBFavXt3lcx48eBDXXXcdCgsLERcXh/j4eMyfPx8A8NVXX0Ucw3XXXQcAYcfw7rvvYsqUKZgxY4bu53veeefpprCI+isGL0S94Kc//SkeffRRPPbYY0HTF2r9R21tbdDr6urqoCgKsrKyQp470utzcnKiGuOKFStQWVmJ2267Lej9KisrIYRAQUEB4uPjdf999tlnqKmp0R1/6623wu12409/+hMAX6Guoii4+eaboxqLUW1tLYYOHRr0eFFRkfZ8Z46L5jN3RWFhoeljZj+baLS0tOCMM87Ahg0b8Oijj+Kjjz7Cxo0bsWzZMgBAW1ub7ni73R5UT6SOKdwYKisrsW3btqCfbXp6OoQQQT9fov6Gq42IethPf/pTPPLII3jkkUfwwx/+MOj5MWPGIDk5Gdu3bw96bvv27Rg7diySkpJCnn/KlCnasRdeeGHQ69XnI3nggQdw4MAB3HTTTXC73bjpppu05/Ly8qAoCtauXYvExMSg1xofmzt3LiZNmoRXX30V99xzD15//XWcddZZGDVqVFRjMcrNzcWJEyeCHj9+/Lg2vs4cpwr3mdXPZbbUPFQgUFFRYfrY2LFjTY+PZNWqVTh+/Dg++ugjLdsCIGQNjdvtRm1trS6AUccUrkg6Ly8PycnJeOWVV0I+T9SfMfNC1IN+/vOf45FHHsGPf/xjPPzww6bH2O12XHLJJVi2bBmam5u1x8vKyrB69WpceeWVYd+juLgYJ598Ml5//XV4PB7t8c8++wx79uyJ+HqVzWbDiy++iHvuuQdLlizBCy+8oD138cUXQwiBY8eOYfbs2UH/TZ06Neh8t9xyC3bt2oUf//jHqK6uxi233BLVOMwsWrRIu5HL/vjHPyIlJUVrjLdo0SLs2rULmzdvDjpOURQsXLgw6s8M+FYVbdu2TffYqlWr0NLSYjrON954Q/f9unXrcOTIESxYsCDs51ODP2MmRZ3yMwaHL774YshzGcfw5ptvAkDYMVx88cU4cOAAcnNzTX++I0eODDt+IstZW3JDNHA8/fTTAoA4//zzxfr164P+k3311VciLS1NnHnmmeL9998Xy5YtE1OmTBFFRUWiqqpKd2xcXJw466yzdI+tXr1a2O12ccUVV4gVK1aIN954Q5SUlIgpU6aI9vb2sOOUi1dVDz/8sAAgfvnLX2qPffOb3xQpKSnigQceEP/+97/FqlWrxBtvvCHuuOMO8fzzzwedt7KyUsTHxwtFUURWVpZoa2uL+trBUCi7e/dukZ6eLsaPHy9ef/118f7774vrr78+aIxVVVWiuLhYFBYWit/97nfiww8/FHfffbdQFEV8+9vf7vRnfvTRR4WiKOJ//ud/xMqVK8Wvf/1rMX78eJGZmWlasFtSUiJuvfVW8cEHH4iXXnpJ5Ofni+LiYlFbWxv2865evVoAEN/61rfEunXrxMaNG0VTU5OoqakR2dnZYvr06WLZsmXi3//+t7j22mvFuHHjBADx6quvaudYvHixSEhIEMOHDxePPfaYWL58uXjkkUeE3W4XF1xwge79jAW7LS0tYubMmWLYsGHimWeeEStWrBAffviheOmll8TVV18tPvvss0g/MiJLMXgh6iHz588XAEL+Z/TFF1+IRYsWiZSUFJGRkSEuv/xysX///qDjAIj58+cHPb58+XJx6qmniqSkJJGTkyNuuukmUVlZGXGcZjdyIQIrYH7yk59oj73yyivilFNOEampqSI5OVmMGTNG3HTTTbrVU7IrrrhCANAFDtEwBi9CCLF9+3ZxySWXiMzMTJGQkCCmT5+uu3mrjhw5Iq677jqRm5sr4uPjxYQJE8RTTz2lW+UU7Wd2Op3i+9//vigpKRHJycli/vz5YsuWLSFXGy1fvlzceOONIisrSyQnJ4sLL7xQ7Nu3L6rP/NBDD4mioiJhs9kEALF69WohhBDr1q0Tp512mkhJSRFDhgwRt912m9i8ebNp8JKamiq2bdsmFixYIJKTk0VOTo644447REtLi+69jOMXwhfA/PjHPxYTJkwQCQkJIjMzU0ydOlV897vfFRUVFVF9BiKrKEJwQT8RUWe89tpruPnmm7Fx40bMnj3b6uEQDTqseSEiIqKYwuCFiIiIYgqnjYiIiCimMPNCREREMYXBCxEREcUUBi9EREQUUwbc9gBerxfHjx9Henp61BvUERERkbWEEGhubkZRUVHEDV0HXPBy/PjxoJ1oiYiIKDaUl5dj2LBhYY8ZcMFLeno6AN+Hz8jIsHg0REREFI2mpiaUlJRo9/FwBlzwok4VZWRkMHghIiKKMdGUfAyYgt2lS5eitLQUc+bMsXooRERE1IsGXJO6pqYmZGZmorGxkZkXIiKiGNGZ+/eAybwQERHR4MDghYiIiGIKgxciIiKKKQxeiIiIKKYweCEiIqKYwuCFiIiIYgqDFyIiIoopDF6IiIgopjB4ISIiopjC4IWIiIhiCoMX6hFN7S688NEBHGtos3ooREQ0wDF4oR7x18/L8YsPdmPek6vQ1uGxejhERDSAMXihHrH1aIP29YHqFusGQkREAx6DF+oRLU43AOC+c8ZjSnGmxaMhIqKBjMEL9YiyWgcAYEZJlrUDISKiAY/BC3XbpiP1OFjTCgAYPSTV4tEQEdFAx+CFum2bv97lzPFDMCw7xdrBEBHRgMfghbrtRGM7AGBcfprFIyEiosGAwQt128Fq35TR0Mwki0dCRESDAYMX6paKxnas/KoSADA0M9ni0RAR0WAwYIKXpUuXorS0FHPmzLF6KIPKlvJ67et5Y3MtHAkREQ0WAyZ4ufPOO7Fr1y5s3LjR6qEMKmV1viXSl04vQlZKgsWjISKiwWDABC9kjcP+/i7Dc7jKiIiI+gaDF+qyDrcXy3f66l0mFKZbPBoiIhosGLxQlx2saUFNixPpiXacN7nQ6uEQEdEgweCFuqy8rg0AMDIvFQl2/lUiIqK+wTsOdVm5v1h3WDaXSBMRUd9h8EJdpvZ3GZHL/YyIiKjvMHihLml3ebDuQC0A4MqTii0eDRERDSYMXqhLqpqcAICkeBv3NCIioj7F4IW6pLLZtxljfnoSFEWxeDRERDSYMHihLlEzLwUZiRaPhIiIBhsGL9QllU2BzAsREVFfYvBCXVLV7Mu85DPzQkREfYzBC3VJFTMvRERkEQYv1CVq5oU1L0RE1NcYvFCXqDUvBRnMvBARUd9i8EKd1uH24kgttwYgIiJrMHihTttb2YwOjxcZSXYMz0mxejhERDTIMHihTvvsoG9bgOklWWxQR0REfY7BC3Xamr3VAIAFE/ItHgkREQ1GDF6o03ZXNAMAZo3ItngkREQ0GDF4oU5pcHSg2r9Meiw3ZCQiIgsweKFO2V/VAgAoykxCWqLd4tEQEdFgNGCCl6VLl6K0tBRz5syxeigDmhq8jC1It3gkREQ0WA2Y4OXOO+/Erl27sHHjRquHMqDtU4OXIZwyIiIiawyY4IX6RlmdrzndqDz2dyEiImsweKFOCexpxG0BiIjIGgxeqFOquKcRERFZjMELRe14QxtONDJ4ISIiazF4oai9tu6w9nVeWoJ1AyEiokGNwQtFTZ0ymj9+COxxg+uvTlVTO+54fROuemGd1UMhIhr02GWMoqYW614xs9jikfS9tCQ7PthZASGAmhYn8tISrR4SEdGgNbh+faZuUYOX/PTBd+NOSbBjZG4qAGD3iWaLR0NENLgxeKGonGhs07rrDhmEwQsATCz0dRXeXdFk8UiIiAY3Bi8UlX9vPQ4AKMlJxuhB2l13VJ4v86I26iMiImsweKGoHK713bAvn1GMOJti8WisUZLj6ypczuCFiMhSDF4oonaXB29uKAMAre5jMCrJ9gcv9W0Wj4SIaHBj8EIRLd9VqX09uTjDwpFYqyQnGQBwtN4BIYTFoyEiGrwYvFBEO483AgDG5adhYuHgDV6GZiZDUYB2lxfVLU6rh0NENGgxeKGINh6qAwDcPG+UxSOxVoLdhqH+bRHK6zh1RERkFQYvFFZZrQObyxoQZ1OwaFK+1cOx3DB/0e7RehbtEhFZhcELhbXtWAMAYEpxJjdjRKBo9yiLdomILMPghcLacczXkG1y0eCtdZGpRbtPfbgHHi+LdomIrMDghUISQmDFrgoAwKzh2RaPpn8YmhnIPq07UGPhSIiIBi8GLxRSXWsHDlS3AgDOmVxg8Wj6h3lj87Sv1e0SiIiobzF4oZCON7QD8G3EmJEUb/Fo+odh2Sn45pmjAQAHqhm8EBFZgcELhXSswbeipjg72eKR9C8TCnwbNB6oarV4JEREgxODFwrpmD/zUpTF4EU2Nt+3MeV+Zl6IiCzB4IVC2l/VDAAYmZti8Uj6l9FDfPs7VTc70ehwWTwaIqLBh8ELhbTrhC94mTSUy6Rl6UnxGO5vVrflaIO1gyEiGoQYvJApR4cbX53w9XgpZfASZPZI39LxLw7XWTwSIqLBh8ELmVp/oBYdbi+GZSdjVF6q1cPpd+aMzAEAbGTwQkTU5xi8kKmNh+sBAGeMy4OiKBaPpv+Z48+8bClvQIfba/FoiIgGlwETvCxduhSlpaWYM2eO1UMZEL4s8wUvM9lZ19SYIWnITolHu8uLnccbrR4OEdGgMmCClzvvvBO7du3Cxo0brR5KzPN6BXYe99W7TBuWafFo+idFUTDbP3W07kCtxaMhIhpcBkzwQj2nrM6BFqcbCXYbxgxJs3o4/dbCCfkAgOU7KyweCRHR4MLghYKoWZeJhemIj+NfkVDOKS2AogBbjzbiP9tPWD0cIqJBg3cmCqLWcEwu4hLpcIakJ2Jioe8a/W7tQYtHQ0Q0eDB4oSC7K3zN6djfJbIfXTgJAHCwmvscERH1FQYvFKSszrch40j2d4nopBFZAIDGNheO1jusHQwR0SDB4IV0hBAo9wcvagt8Ci0lwY68tEQAwOm/WI12l8fiERERDXwMXkhnf1ULnG4vbAp3k46WXNO8xz/lRkREvYfBC+k8/M5OAMAZ44ZwpVGUfnRRqfb1/qoWC0dCRDQ48O5EmpoWJ9YdqIWiAI9ePsXq4cSMS6YN1bYL2FvFzAsRUW9j8EIadRfpUbmpKGG9S9QURcGl04sAAPsrmXkhIuptDF5I89lBX5v7SVwi3WnjCtIBAPs4bURE1OsYvBAAwNHhxhsbygAAF00bavFoYs+4fN82CuX1DrQ63RaPhohoYGPwQgCAj/ZUo8HhQklOMs6bXGj1cGJObloi8tMTIUSgyR8REfUOBi8EADhY7ZvuOHlkLuJsisWjiU3qdNvj738FIYTFoyEiGrgYvBAA4EitrzHdiFwW6naVGrxsOlKPFbsqLR4NEdHAxeCFAACHanx787CrbtcVZwea+m072mjhSIiIBjYGL4R2lwfbjvlutlOKMy0eTey6aGqg0Lm62WnhSIiIBjYGL4QPdlSgw+1FYUYSxgzhZoxdlZOagF9dOwMAcKiWu0wTEfUWBi+DnNcrsHT1fgDAjaeNgKKwWLc7hmb6po4qm9otHgkR0cDF4GWQK6tzYF9VCxLtNtx42girhxPzhmYmAQBONLZzxRERUS9h8DLIHfZPb4zKS0VGUrzFo4l9+RmJAIAOtxcVzL4QEfUKBi+DnLpEmquMekaiPQ4lOb6poz+tP2LxaIiIBiYGL4OcGryMzGOhbk+5cuYwAMAu/0aXRETUsxi8DHJHatnfpafNGpENADje0GbxSIiIBiYGL4OY2+PFf3dXAQBG5jLz0lPUZnUHqlvh9bJol4iopzF4GcTe3XZC+3pkHjMvPaU4KxnJ8XHweAXe+LzM6uEQEQ04DF4GMbUmIy3RjmHZDF56SlJ8HL555mgAwM/f3YVNR+osHhER0cDC4GUQ+2iPb8roe+eOt3gkA8+1J5cA8C2ZvuqF9dhxjHsdERH1FAYvg9TW8gbsrWwBAJQw69LjhmYm6/Y6emvTUQtHQ0Q0sDB4GaS2Hm3Qvp4xPMuycQxkRVlJ2tevrTuM5naXhaMhIho4GLwMUodrfP1dlswdiby0RItHMzBNKMzQfa9muoiIqHsYvAxSB2t8N9JxBWkWj2TgumJmMW6eN1L7/hj7vhAR9QgGL4NQu8uDDQd9K2CmFWdZO5gBLM6m4OFLJuPKmcUAgKP1DotHREQ0MAyY4GXp0qUoLS3FnDlzrB5Kv7fyq0q0uTwozkrGlOKMyC+gblGb1h2rZ+aFiKgnDJjg5c4778SuXbuwceNGq4fSr7W7PHjg79sAAFeeVAxFUSwe0cBXnOULXo4yeCEi6hEDJnih6Ly89iDaXB4AwJUnDbN4NIOD2gCQNS9ERD2Dwcsg8/HeGgDA7BHZGMWdpPuEOm20v6oFVc3tFo+GiCj2MXgZRDxegS3+/i6/+No0awcziJRkJ2NEri/7cvJj/0W7P/NFRERdw+BlECmrc6DD7UVSvI27SPche5wND10wSfv+yf/stnA0RESxj8HLILKvshkAMGZIGuJsLNTtS+eUFuCUUTkAgLX7qi0eDRFRbGPwMogs31UJACgdyuXRfS3OpuCX/qm6Yw1tEEJYPCIiotjF4GWQ2FfZrG0OeNbEfItHMzgNzUyGogDtLi9qWzusHg4RUcxi8DJIPPb+VwB8PUfOnVxo8WgGpwS7DQXpvs0a2bCOiKjrGLwMAkfrHfhoj6/O4to5Jax3sZC6bJoN64iIuo7ByyCw63iT9vUFU4daOBJSu+0ea+A+R0REXcXgZRA4WNMKALhsRhHG5nMXaStxnyMiou5j8DII7D7hy7yMGcLAxWqj/P11dkrZMCIi6hwGL4PA5rIGAMCMkixLx0HAaWNyAQBfHKnHmxvKLB4NEVFsYvAywO2paEZZnQNxNgUzhmdZPZxBryQnBdP9QeSP3t4Op5tbBRARdRaDlwHuPztOAAAWTcxHRlK8xaMhAPjVNTMAAEIAh2tYuEtE1FkMXgYwIQT+urEcAHCyvzU9WW9kXqo2hfeDf2xDi9Nt7YCIiGIMg5cBbO2+GpxobAcAjC9It3g0JJs9IhsAsKW8AQ8t227xaIiIYguDlwFKCIFPD9Ro37PepX/5zqJxmD4sEwCwfGcF2l2sfSEiihaDlwHqV//dhxfXHAQAfO+c8ax36Wcyk+Px9p3zUJiRBKfbiw2H6qweEhFRzGDwMkA9t3Kf9vU4Thn1S4qiYP74IQCANf7tG4iIKDIGL4OAeoOk/mf+BN/PZtmXR/HBjhNwe7wWj4iIqP9j8DIAeb0C8XG+zRc/un8BkhPiLB4RhTJvbB4UBWhwuHD765vx5udsXEdEFAmDlwGosrkdLo+AogT20qH+KTM5XtsyAAD+teW4haMhIooNDF4GoJVfVQEAphRlIj6OP+L+brS051RSPH9eRESR8F/KAWijf+XKuaUFFo+EonHh1ELta7dHWDgSIqLYwOBlgCmrdeCdrb6ph8nFGRaPhqJx5UnD8J2zxgKA1lSQiIhCY/AygJTVOvDAW1u17ycWMniJFdeePBwAcKKxDV4vsy9EROHYrR4A9YyyWgfOfGq19v2Np45AURaLdWNFQXoi4mwKXB6BqmYnCjOTrB4SEVG/xczLALFmb5X29elj8/Dzy6dYOBrqLHucDYUZvoBlS3kDalqcFo+IiKj/YvAyQNhsivZ1ZjK3AohFEwt9nZBvf30Tzvvfj9HhZsM6IiIzDF4GiAaHS/taUcIcSP2W2m0XAGpbO3Csoc3C0RAR9V8MXgaIqqbAKpUJ3MsoJk0tztR9f6CqxaKREBH1bwxeBoiDNa0AgDibgv935miLR0NdMd4QdN72xy+w83ijRaMhIuq/GLwMAG0dHnxxuB4A8N7dpyMpnnsZxaLURDvOmpive+zZ5XstGg0RUf/F4GUAeHXdIbS5PCjOSsb4fE4ZxbJXlszBjy6cZPUwiIj6NQYvMU4Igb9/cRQAcM/Z43Srjig25aUnaF/H8edJRBSETepiVFVzO5bvrMTI3FQcqmlFcnwcLpo61OphUQ8YIe0yXdHUDq9XMCglIpIweIlRt/3hC2w7GijmPHdyAVIT+eMcCE4ano0rTyrGss3HsO1oI55avgc/OH+i1cMiIuo3OG0Ug/ZVNusCFwBYIPUIodj3zNXTUezf3uGtTUchBPc7IiJSMXiJQZf85pOgx+aNzbNgJNRbFEXBivvOBABUNzvxw3/usHhERET9B4OXGOP2eNHu0reNn1yUgfx0buQ30KQk2BEf56t1+fPnZahobGcGhogIDF5iTmObK+ix+84Zb8FIqC+4PIFg5dQn/osfv80MDBERg5cY02ASvMwfz3qXgSorRb/J5hsbyiwaCRFR/8HgJUYIIfD0h3vw0scHdY//9oZZsMfxxzhQLb3uJKuHQETU7wyYu97SpUtRWlqKOXPmWD2UXrH9WCN+s3o//rKxXPf4vLG5Fo2I+sK8sXl47poZVg+DiKhfGTDBy5133oldu3Zh48aNVg+lV7Q43UGPXT1rGNKT4k2OpoHEuAze7fGGOJKIaHAYMMHLQGdT9B1WX7/1FDx19XSLRkN9KSslAb+9YZb2fVN7cCBLRDSYMHiJEW0dHt33nC4aXM6fUqh9/ZtV+y0cCRGR9dhPPkY4DMGLonCvm8HqlU8Poa7VifOnFOK8yYX8u0BEgw4zLzGitSMwVZCdwjqXwejxK6ZqX7+95Thuf30zPtxZaeGIiIisweAlRjikgt1bTx9l4UjIKpfNKAp67LODtRaMhIjIWgxeYkSrf9oo0W7DHQvGWjwaskJqoh3GGaLX1h3mlgFENOgweIkRasHuN04ejjgbaxwGqw/vPTPosU1H6i0YCRGRdRi8xIhjDW0AgOSEOItHQlYaX5COMw3bQdS1dlg0GiIiazB4iQGrdlfin18eAwCcNDzb4tGQ1Z7+2jTd9+pmnR1uL5rag/e+IiIaaBi89GOHalqxYlclXl57CABw9qR8nD0p3+JRkdXyM5Lwrzvnad9XtzgBANe//BnO+MVqVDS2WzU0IqI+weCln2pud2Hh0x/h//3xC6w74FtR8pOLJ7OnBwEAppdk4aqThgEAfvnBHni9AhsP16OxzYXfrjlg8eiIiHoXg5d+6kitQ/f97BHZGJ6bYtFoqD86b3KB9vW+qhbt669ONFkxHCKiPsPgpZ+qbNKn/i+fWWzRSKi/OndyIYqzkgEAGw/XaY8frW+zakhERH2CwUs/VWEIXs6ayFoXCrbIXwO1aneV9tjxxjYcrXeEegkRUcxj8NJPVRqKLov8v2ETyc4p9U0dycGLEMB/tldYNSQiol7HjRn7gQ92VGDdgRoAQEZSPO4/bwIO1LQCAE4bnYvHrphi5fCoHzt1dC6S4+PQ5tJv3FnjX4FERDQQMXjpB25/fZPu+5vnjcR7204AAL45fzRGD0mzYlgUA+LjbBiZlxpUpFvvYOM6Ihq4OG3UDz24bLv2denQDAtHQrHg0csnBz3W4GCzOiIauBi89EMrdlUCAMblp6EgI8ni0VB/N21YVtBjDF6IaCBj8NKPLZk30uohUAyIjwv+3/jzw3Vwe7wWjIaIqPcxeLGYECLkcxMK0vtwJBTLvnPWWIzNT8PvbpylPSavQAICO5MTEcU6Bi8Wc7rNfzv+xsklmD0yp49HQ7Hqe+dOwMr75uOc0gKk+nce31vZDADweAXu++sWTPrJB3jp44NWDpOIqEcweLGY0xUcvPz6GzPxxJXTTI4mCk9RFHxr/hgAgS0m/vZFOZb5dyV/7P2vLBsbEVFPYfBiMWN/jrMm5uPS6UUWjYYGghH+PbAO1rRCCIHPDtZaPCIiop7F4MVi7YbgJdmf8ifqqpkl2QCATUfqcdoTqxCmrIqIKCYxeLHY0tX7dd/H2xSLRkIDxfDcFOSmJgDw7ZH1/vYTFo+IiKhnMXix0NbyBvx901HdY/ns60I9IMEe+F/b7WXqhYgGFgYvFqpt1e8/c+/Z43Aze7tQDwhXN9URYoUbEVGsYPBioQ534Dfi7JR43Hv2eAzN5O7R1H3fO3cCzp5UYPrcGxuO9PFoiIh6FoMXCzVIm+dlpyRYOBIaaBLsNry8eDb+c88ZQc89/9EBtDrd+NvGctRy92kiikEMXvrQ5rJ6rNhVqaXt66X9Z86dXGjVsGgAG5KeGPTYScOz8Mg7O/H9f2zDLX/4woJRERF1j93qAQwWXq/ATb//HC1ONwBg+XfPRL2Uebn37HFWDY0GMDmjNyovFYdqWtHY5sLqPdUAfEXjRo0OF9KT7LBx5RsR9VMMXvpIu9ujBS4AcO7/foxE/4qQH144EUnx7O9CPS9OCkDUv2/Vzc6QRbs7jjXi4v/7BJdOL8KvvzGzT8ZIRNRZnDbqIw6TTfGcbi9G5qbga7NKLBgRDTbpSb7fVQ5Ut4Y85rdrDgAA3tl6vE/GRETUFQxe+ojZjr4v3jgLH9x7JnJSWaxLveeuhWORk5qAhy6cFPFY7jxNRLGA00Z9xLgNwMTCdJzHIl3qA/efNwH3nTM+4nFtHR58vK+6D0ZERNQ9DF76iHHaKFQPDqLeEE3x7Xf+/CVcHnbjJaL+j9NGXdTc7sJDy7Zh3YGaqI5Xd49OsNvw8CWluOussb05PKJOW/lVpdVDICKKCoOXLnp2xV78+fNyXPfShqiOV4OXCQXpuHneKK4uIku8umQOxgxJ1T1W1dRu0WiIiLqGwUsXHa4JvWID8HXPffhfO7DjWCOAQCFkMoMWstDCifl46/a5usfOe+5ji0ZDRNQ1DF66KNJGvT/853b8Yf0RXP3b9QACwUtSAoMXslZKov7vYL3DZdqsTgjfX/L61g48/eGeiAE7EVFfYfDSRV4RPnpZuasKgG+6yOMVeHbFXgBAcjwvOVkr0R4cQF/7u8+CHjv3fz9Gh9uLH/5zO36zej8uW/ppXwyPiCgi3kl7SYcn0MH0j+sP41hDGwAgK5k9Xaj/aXMF93fZV9WCTw/UYOPhOgBAY5sr6BgiIisweOmicIkXYXjyhY98XUtnDs/CnQu5yois99dvnopnrp6OfJONG2X7K1tgt/GfCSLqX/ivUheFmzY60ahfvVHV7ERxVjL++s3TMDw3pbeHRhTRKaNzcdWsYahqdoY9rrKpHfY4btBIRP0Lg5cuChe8HKhu0X0fH6fgqaunIcHOy02xxeHyID4uur+3QghsKW9AUzunl4iod/Fu2kkvrz2Ipz/cYzptdKS2FW6PF1VN+t9mr50zHHPH5PXRCImi9+SVU5GVEh/y+bYOD+xRdOcFgBW7KnH50k9xyf990lPDIyIyxe0BOsHrFXj0va9Mn/twZwW+9adNOG9yQVAvl1kjsvtieESddu3Jw/H12SUY/cP3AQAXTRuK97ad0J53dLhhj5B5OVLbiuKsZLy3/YT/e0fvDZiICAxeOsXp9oZ87ncfHwQAfLhT32I9Ly0RZ5dyHyPqv2w2BU99bRqON7TjnrPH4b1t72nPOTo8iA9T8/LO1uO4+89f4qKpQ5HIaVEi6iMMXjrBbDmpyrjCCABuOm0EfnjhJG4FQP3e1bNLTB+vbnZid0Wz9r3L49XVwCxdtR8A8N72E7jqpGG9O0giIj/+qtQJ7SGCl6Wr96PeEVyk2Or0MHChmCPXuMiBCwD8Z0eF1rPouZV7sacy8HyUdb1ERN3GzEsnhMq8PPXhHtPHb543shdHQ9Q7xgxJ0wUlsrv//CUA4PCTF+G5lft0z9kULqkmor7B35U6IVTmxcwbt52CKcWZvTgaot7xm+tmdul1tihXJRERdReDl05od4Uu2DWaOoyBC8WmcQXp+O/35nf6dXHMvBBRH2Hw0gnRZl7y0hKRkRS6dwZRf5eWGH5G+ZbXNgY9FsfMCxH1EQYvnRBt8DI6L7WXR0LUu/LSwu95tGp3VdBj8v8fXm/4XdeJiLqDwUsnRDttdA77ulCM60oW5S8by7Wv5V3ViYh6GoOXTgjX5wXw7WF096JxuOX0UX00IqL+KVxDRyKi7mLwEqVWpxvbjzaEPebFG2fhvnPGc+6fBoRnrp7e5dd2MHghol7E4CVK/91dhT+sPxLy+V9+bRoWjM/vwxER9a6rZg3D4Scvwt5HL+h0z6KuTBttLqvHss1HO/06Ihp8GLxEKT0p/OqLBROGsM8FDUgJdhu+d+4EvHjjrKhfEy7z0u7y4LLffIJH392le/zK59fhvr9txReH67o8ViIaHBi8RCkjQvCSk5LQRyMh6ntpiXacN7kw6uNDBS/bjjbgx2/vwNajjXj5k0Omxxi3JCAiMuL2AFFKD9G3ZUh6Ij6890zYubELkcbpNi9uv/Q3n0Z8bWc6WRPR4DRg7rhLly5FaWkp5syZ0yvnN5s2+vU3ZuKzhxYhJ5VZFxocnv16dEW80bYVcJvUxjB4IaJIBkzwcuedd2LXrl3YuDG482dPMMu8jC9I48oiGlSuPMlXxBuJWVsBs8Z1rR3Bx3VmGw4iGpwGTPDS21IT4oIeG8VOukSmzLInZiuQHB1uAEBZrUN7LNSUExGRisFLlBSTTecS7cEBDdFgYI+QcfzWnzYFZVrMgpdWpy9QOfOp1dpjzLwQUSQMXrro7Ens6UKDlzuKvYsO1rTovjdbgdTqdAc9xpoXIoqEq4064b27T8fW8kakJMRx/yIa1O4/dzyeXr4XSfE2FGUm42BNa9AxDkM9i2nw0hEcvETahoOIiMFLJ0wuysTkokyrh0FkuW+eOQbnTynE2Px0AMDIB98LOubS33yK604ZjsevmAogVOYlOFDxcEdqIoqA00ZE1GkJdpsWuADAxdOGmh735oYy7etwBbsyVy/sSO31Ctz4+w24769bevzcRNT3GLwQUbc9+/UZIZ/7aE8VHB1u08zLPX/Zgi3lDbrHeqNg92BNK9buq8GyL4/1SnBERH2LwQsRdVuC3YbRIVoHLHl1I77/1jY4Q2wZcPlSfdfd3ijYTYoP/FPX1Obq8fMTUd9i8EJEPeKd75we8rl3t50Iu1mjrN7RgZte+Rx/XH+4h0am1xghePnicB0WPfMR1u6r7pX3J6LuY/BCRD0iLdGO395wUsjnzWpezByobsXHe6vxk3/tDHpu3YEabC6r7/TYhFQDHCl4ueH3G3CguhU3/v7zTr8PEfUNrjYioh5z/pSh+OLHZyPeZsP9b23Fil2V2nNVTe3dOndtixPXvbQBAHDoiQtNG0eGIq9gihS8sEkeUf/HzAsR9ai8tERkpsTjdzfO0j3+wFvbOn0uj1fgw50VWPLq59hT0ax7vDO8InLw0uH2Qggu0yaKBcy8EFGvUBQFb985L6ggtzOa2lz41p82AQBqWzq0x91egc7sziEHL2YFu44ONxY89REmFKYjPk6By8Mghqg/Y+aFiHrNjJIs3HfO+C6/vkEKNKqaA9NO//zyWKfOIydqjJ1/AWD9gVpUNTuxdl8Nd4onigEMXoioV317wRgMz0np0mvrHYFsizyj89Cy7Z06jzzNZLb9QHpSvPa1lyUvRP0egxci6lX2OBveu/t0XDajCE9fPb1Tr5XrU7ozkSNPG5kFLykJgTmoaFdFRaOquR3HG9p67HxE5MPghYh6XXpSPH517Ux8bdawTr1O3nW6O7W0cjal3WTaqDfqdIUQOPmx/2Luk6vQ3M7GeEQ9icELEfVbLe2B4MXTjfmcSJkXby9EL3KdzcHq4F23iajrGLwQUZ+6YmZx1Me2SJkXdxd2m25xurG1vAEeKTgxK9j19ErwEn1vmUiEEDhS2wovd9wmAsDghYj62C+/Ng3Lv3sm1n5/IZ79evgaGDl4cRqax0XT6+Xa363HZUs/xbtbT2iPme2d1BtBQU8GL29sKMP8pz7Cz97d1d1hRWXFrkrc8tpG1LY4g57rbI8dot7A4IWI+lR8nA3jC9JRkpOCK08ahuKsZO25qw01MfK0kbGQNpq9knYcawIAvLHhiPaY+bRRdGPvDHmWq6mbNS+//GA3AOC1dYe7dZ5o/b8/foFVu6uCgqX/bD+BKQ9/iA93VvTJOIhCYfBCRJYalh0IXvLSE3XP1bV2GA/XdGZVkLyjdZvZtFE/z7wYr0tfOVzr0H1/xxub0ebyaI0DiazC4IWILPXU16YjLy0RV84sRm5qgu65mnDBS5S7VBu1mexd1BvbAvRo8JJqTfDSwlVS1E8xeCEiSw3PTcH6h87Cs9fMwBBDhuHjvdUhX+fqYj+Wtg530GO9U7Ab+LqrgZbKeF36SqszOEvVXWW1Dpz19Ee6qTyizmLwQkSWi4/z/VOU24kMQ1eDlxaTG3Jv1LzI2RyXxwuPV2DTkXrTguFIcqSMlNm0V2+R++wAQE/snLDxcB0O1rTqiqiJOovBCxH1G8kJ0f+T1NVsRlObK2iaKNRqo+7UwsgvdbkFfrvmAK56YR2+97etnT5XstQBuMUZnDnqLc2G90qK78RumCGo02kOQxAnhMBTH+7G+9sZ1FBkDF6IqN+YUZKNsyfl45Z5oyIe29U2/h0eL9qjXHbdnekeuealw+PFq58eBgC8182bszEb0pd6InhRr4px+m7DoTosXX0A335jc7ffgwY+Bi9E1G/E2RS8vHgOfnJJaVDxrlF3AgtjAW2oDrvdCl6kgMjp9iArJT7M0dGfq9WkZqevJNm7f8tQs17Gehr5Z8DtFCgSBi9E1C+9e/fpYZ+/4vl1XZ5iMPZdCRW8OD1dry8xFuxmdzJ4ueP1TVj8yucQQujO1RtFtEbxcebFLYk9kXnxfxZjv53UBLv2dVmdfok2kRGDFyLql4ZmJkOJUCAqTzE0t7uibgYXnHkxP66npo2cbi+yUsJnkmTtLg/+s6MCa/ZWo6zOoTtXX0wbFWYmaV/L1yCxBzIv6rU2fg75R1BeF3s7cTc6XFi2+SgcFmbGeluH24tffLAb6w/UWj0UBi9E1H+9dftcnD0pHyu+e2bY4zxegVk/X4lpjyyH0x05M7HtaKOuzqW3a16cLi+ykgOZl85sR+DyeHUFxn1RsJstBVqVTe3a1z1T8+L7LE63V3fd5etV7wjd36e/uvPNzbjvb1vxo3/usHooUalobMfj73+F8k5kuf6+qRwvfHQA33jps14cWXQYvBBRvzVrRDZeXjwH4wrSwx7n6HBrBbwnGtrDHgsAP393Fx5atg3rDtTglx/sDrnsuqtFwUBgegTw1bykJwWCl+b28AGIMWsjxzp98Zu9PPYTjXLw0nOZF0D/WeT3bHDEXs3LJ/trAAD//PKYxSOJzs/e3YnffXwQF//fJ1G/pro5eK8rq9gjH0JEZL0lc0eG3NtHzpDImYkEuy1k9uRvXxzF3744CgCYPiwz4nk7yxiA2KU6EofLjUyEroHRLbP2CC1bAZj3qelp8vs1SVNsWcmBjEyr043UxC7cQqTr0tYRCOrk7FJDDGZeOmvtvmpkpyRgSrH5373edqCqFUDnuj/L/YaEEFAizev2ImZeiCgmPHLp5JDPtUtBhrwfUnyUXdW2Hm00fVwNXlbvqcKmI/VRnUvl8eqDF/n7SEW38rEujz7z0tTNrQaiIW8q2ewMvF+K1G+mqou/heuKj6WGe/JEWixmXjrjWEMbbvz9553KevS0ycUZ2tfRTLUC0NVtGXsA9TUGL0QU85zSyhU5eOlu59wOtxcVje24+dWNuOqFdZ16rfzeTpdHl4mJNPVj7M4rf1/T0vupe/2yZWlqRzpGroXpDBHiOsh1QA1tsZd5SU2Ivh6oRgr8utopurvkLSeimWoF9AXbtS3W/owYvBBRTLvqhXV4/qMD2vdy8NLdPYucHq/ufJ1p7S8MTerkoUTKvBinjeRMSF/XHcjBixzUdDV40de8mGde6ltjL/Mi1zRFIk+39UUmLZKj9dGt7pL/Dte1Wlv/wuCFiGLapiP1eGvTUe37P39ehsM1vvn87rT3B3yZl0SpSDXapdiAMfOinzaKlHmRj+1we3VBQ3UfZ17kzyzfvGq6+Ju3PgPlMX38WEPsLZVOT4q+/keezWyKULzda6SfZXl9tCuO5AwgMy9ERD1mX1ULFjz9EYQQPRK8yNMZkVYJyYJXDJnftM3osjaG1UZ9kXmRg5RQmZeeyBg45LoJ3Qqntm7vxN3XCjICvXG+OFwX9lj5b2VnCmZ7kjyGPRXN0b1Gl3lh8EJE1ON6Yqdol8cLdw8ELx0eL9ye6DMv8tjbXR5dMNMXN7tQQYp88+pMFirUufWZF+i+Php1NqB/yJdqSHYebwp7rHwdrQpe5KB8S3lDVK+R/5di8EJE1At64jf3DsMqoc5kG4zlNu3Sio7INS+hszatTnfQrtg9TT69XJgpL6Hu6k1XPreuzwv0n6myqf/0FImGPPpIf09ED2ewukIe7/6qlqj+Tsl/D/uicDwcBi9ENCD1xD+uHR6vbjVIZzIvximrNinLEKlLrn6ZtUd3o/GK4H2Bepr8fhVSYa5cONzU1rVajVAFu8ZMWWOMrTjqTHZMvyzcms8pxyotTndUP09OGxERdUFnlqNWdHE1jMxYaNvU7oIQotO/pQL6gKM2QmCl787rDbqx9/YWAfLYTzS2aZ9X17yui9NG8jl0fV4M1yvWer3IP6NIwYu+ANui4MWQ6YqmaFd+hTwNagUGL0QUM967+wycMS4vqmNX7a7q9vs1tbvg0tWqeHDD7zfg6t+uj7g/kfFpeZl1pBVD8s2t3dAjBuj9naX17+/VAomeaJYnf5S2ENsDAEBDP1hC3Bm6aaMIgZ38Wa1quW+83tHUGKkB5qmjc7D0+pN6Y1hRY/BCRDFjZF4q/nTrKfjv9+ZHPPYFqfdLVzU4XLrMS12rE5/ur8UXR+pxvDH8cl5jJkGeIjG7Ybk8Xi2jIgcPbR2eoHP19s7SxhtbnX9qoyeWSsufRd9hN7YzL/rtDWIheNFf769ORLfiCADiouxc3ZsYvBBRzBkzJK1Lr0vu5K7IjW0uuKVCDznjoQY1q3ZXYs3e6qDXGjMv8rSRWWv9y5d+ijN+sQrldQ59gW6HW1drAvT+tJExeFGzLMZOv10pivbqMi9SzYvhVLFX8xL4esOhurA1Ibppo+buT292hTqCdH/DvJ3HzbfIkKnjVsDghYioS+aPH9Lp1yTYO/dPXkObSze3Lxfsur0CLU43bnntCyx+5XO0dXhQVuvA7grfMlnjVE+7dKOuM2QthBDYebwJ9Q4XXlhzQL//j9Ns2qi3gxf9+6mf2ziOqi7cePWdhs23HgCA6uYYC14Mn2BrlMuPD1a3RpyC7A3qz2F0vu8XgWi67KqvsXA/Rg2DFyKKSb++diZ++bVpus0CI+lspqDR0WHo8xKYDnC6vLo9lWpbnTjzqdU4/7m1qG52Bt3oHdKxrR2+5c4Hq1v8mZbAcS3tbt1rW5zuoCxOZ1Y9dYX6fmqBtPp+xltsRWPngxfdlJjLvMMuEHtddoOyVWHqXnRNAJ1uHPR3hO5LarCV698pOpppul5eod8pDF6IKCZlpsTj67NLcPakAu2xt++cF/Y1HZ3cBK+hTV/zIgcN7W6PLrCRpwkO1bQGTYO0GZYF17R04Kxn1uCMX67WLcd2eYK3EjBmQnq7TkINJDKTffv1qDdiYxDVleXo8il0mRf/E1kpvveMtSZ1xuArXEGz8dgD1S29MqZw1J9ljj94qY9iybY6aqUfpF4YvBBRTHv4klKcNTEfL944CzNKsnTBjFFntwtocOhrXpqdgRtSu8ujCzqqpKZqbq836AblNGR9yuoCv23LN3GXRxh6cAT6vKg3dnlTxN5oWKeeMcMfvKgZJ+N7daXXi35X6eCl0sOyk/3v6bas+2xXBGdeQl8b40/MioZvwhC8ON1eXYBt/hrfi/pBvS6DFyKKbblpiXhlyRycN7kQAPA/F0/qsXM3tbt0U00tcubF5dEto5b7yni8Iih4MWrrMC8EdnmCO+qq3xf698+p9GdeyuscmPPYSjy3cq/u3C6PF+5OZplk6k0qELz4p40MNQ9dCS70HXaDd5VOSbBrhdX9YcflaBkLYMONva8zaSFGAQBIS7QjPs73A62LkH3RMi+9OawoMXghogFlRG4qfntDoAeFOqffFULoawF000YuffddORvi9oqI9QFy/Yy8esiXtQkc55BqXoZm+oMXf63J7z4+iJqWDjy3cp92vNcrcMn/fYKznlnT5QBGHXu2P9OjTimoQVR2iu+adiV40e9tFLzpowIgNdEXvLRG2AOqPzEGfOFqXnpi+q27tEAUQJb/51kfoWuu+hk5bURE1AvOm1yIn18+BQ9dMBFrf7AQV84sBgB84+SSTp9LvrE0B2VeAsGBfCP3RpF5kY+Xb9LG/ZSapb2MctN8m/81+JcRmxUrt7k82F3RjLI6R5cLQdWxF2X5pnBONPiCJa0uxX+D7lLmRfpaP23k+1NRfNkXoPeb8fUkY83OlvJwS48Nq7Ys2MdJHa/NpmhBarT9aawPXQC71QMgIuppiqLgxlNHaN8/fuVUXDKjCKeNzsWfPy/v1LnkZmxywa8v8xK4CcnTBB1uL+xx4X83lDvIypmXdpdXN63Q3O7WnlcLaNXpq0z/TQfwBUw2m2Jo7d+O8QXpET5hMDV2KvYHL8f9mR6tkDclOLvw6f4anGhsx9dmDYtwbn3Ni3HcNkXRgrJIu2/3J+r4TxmVi53Hm/DViSaU1zlQkpMSdGx/6CYs/xzUTFqkot1AwW5vjSp6DF6IaMBLio/Dwgn5nXpNQpwNHR5vyJR+u8ujm5aRCzTbXB6kRqhqlG8UrU59Rsc4raD24MhI0tegZCUHpsQa21zITk3QZW0qInQBDiVQPOu78R73L1vWCodNMi/Xv7wBADC5KAOThmaEObn+23a3R8u0AL4bY2piDGZe/H9OGpqOwowkVDS1o7a1wzR4Mf58rajtkQORqIMXLTtmffTCaSMiGlRWfW8+Xl0yJ+JxuWm+f9DNuuECvpuunImRb0DtLm/IxmNqcaQ8VSAHL20mexmpBZ0Zyb6bekuH25exkO4hapAlBy+VUUxHbDxch3X7a3SPqW+v1tg0trl8u1v7nxiSnqgbl+xIbfglzqH2aYr1zIs2DaMo2tRRqKAkeNWWBcGLNgWkIDvVX9vUGmk37EBdktUYvBDRoDJ6SBoWTszH9acMD3tcof/GfSxEv5GWdreu+648hWKWPQk+byAr0iJlGMIFPmrmRQhfnYxH3k/HfwP0hGiqZ8brFbj6t+tx3csbdH1q5KXS6i/Zze1y4bBvOqnSZOdupzvSclv99+ryXPnxVLXmJcLS3f5EKzhWgvvjGKkfVd0jKNyy6t6iBiK2LmVeenVoUWHwQkSD0u3zxyDOpuDS6UWmz6vLkkPdWKqanbqCXbnniVn2RKXe+OUOsnLmpbndFTLwSU6Ig91/w2txunWBivrbuxzQRNoDySX1sJGbwqljt9sUpElLf9WMQVGW79rUtHQEBSvy7tlmjJ9NLVb2SpmLFP9qI0cvb4PQGxQlsOIoVEGzen3V6bcWp7tbS9u7Qg5Eog9e1MyL9dELgxciGpRKclKw7eFz8dw1M/C/10xHbmoC3rjtFO350nB1G/BlHVwhMi/OsMGLP/MSInhxur1Yf7Am6HWA78aenuSfOjJkftQ6mFB7MZmRuwDrVktJY1ezPU1S5iU7JUHbJ8q4UsbYjM/IuAeQQ8u8BDIXsZh5kaeNtMxLqCZ+/mPV44De32wzaAhSIJKf4ZsGNMuk6V7j/7M/ZF5YsEtEg5ZaGHrFzGG4YqZvlcza7y9Ec7sb5RHa06/dV4O1+wJBhrzs19HhCdnnpcCf0ZEZb1xbQyyztSlAWpId9Q4Xmtr1WxcEWvhHn3mRuwfLwYu8jDYjOR7HGtp8mRf/83E2BUPSEnGsoQ11rR1aV1zAPPPyp/WHselIPZ6+enrQdVHrWuSbv1bzEkOZF7OA70it+VJ19cj4OBtSEuLg6PCgqc2t9VvpC3IgomYZI+1VxWkjIqJ+qiQnBaVFGV1aYqw6UN2C9QdqAfhWLcmypOXNKmOQ0Rzipm1TFOSm+n5LrmnRbxrZZFLz0tKJzIvc40Pu55Hhz/Q0tbt02RF1aqShzaULSNpdwZmX//nXTry95Tje31ERVKyqZV6kYtCUGM68KIqCEbm+FUb/2VFhuiWFXB+jBjp9vRWCPF61DquiqT3sdhNsUkdE1M+NMFniGq3Ve6rx1y98/WTkrAQQqC+QGW9craGCFxuQ71/pU9XUrvttX63NCbWRpEq+OYXMvGjFnEqgY2ybW3fDU+s1GhwdujqbcAW7Nc3OoJoXh6HmRVEUrcNub642cro9+NeWYz3Wml8ugL16ti+L19jmMi2alq9jpOLe3iJ3NFazge0ur65w24jbAxAR9XO2Htp9bnhuilYfAgRa7suMbdlDBS+Komg3msomp361UxQFuw//awfO+OVqLVCRj5XHECieDYy3tsWpW84cqOvQT1+ZZV6059yeMDUv6meM3GG3orEdL689GHE1VTgvfHQA9/xlC656YV2XzyHTgi8oSEmwa1NfZnUvcuCgLn/v6+XS8rRRUnwcRuelAgC+LGsI+Ro5wLQagxciohAunOrb7HFcfhruP3d8l85ht9kwKjdV+z49KV5bIquqN7RlD1WrYlMUFPiLK6ua2+GRMidqnxd9wa7+vH9YfwRH69vwt42+rJA8bSRvyueV5o0K/aujKprapRt0YPqrwWGcNgqdeWnvCF5C7gjq84KImZe73tyMR9/7Cg/8fZvp8x6vwDPL92DN3uqQY1m9uwoAUFYXvrYpaoZ6kHRpui3Eobppo77OvED6WQLAyaNyAACbyupDv0QKuqzGgl0iohCeuXoGJhYexKXTizAyLxWnjs7F7a9v0m0ZEIlN8TV121PZ7P9eQYa/6FZlTNWrwYtN0S8tVhDY36iutQN5/q+BwK7W8lRSW4hAQp3akaeNdH1epOJZdXVURWOgHsKmKNoWAY1tLsO0UbjMi9ekYFeteVE/oxKx5uWLI74b7Ac7K0yff3/7Cfzfqv0AgMNPXmR6TE8Xx8rTRoAvKKlscpoHJdL1jbSsurdoNUb+aGv0EF+AfbwhclfmfpB4YeaFiCiU5IQ43L1oHEb6U+qzR+Zg44/OxszhWVGfQ+64CvhW6shLZIHgTIt6gzcep+8+69EFDRWN/syLFO24PELXi0bV4c/O6DIv/uBFrolREGiqd6KxXTe1o25NUNfaYZg2CpN5cXlMCnbV1Ub+m78NSI2w2kgtIg4lVFdkmdn0XXcELoHvzp4RZrm0aUO7UMuqe0kgQPX9WRDFiiM5qLUagxciok5QFAXfPGN01MfbbPoiXZsCFBuKeEMJDl70PVA80hRRTYsTHe7g7rwOk+yFGtCYZV7k2MKm+JZEq+cP/LYe6FdzorFd955hMy+uwBJytdleUM0LFKT4l7CbjR3w1RGFY7bbtpGceQm3wqbB0YFL/u8TvLz2YNjzCaHPvISdNjJZzaXuFN5XvHIkikDzxIowvV64PQARUQy7YOpQvHHbKfj1N2Zi1ojssMe2u7y63/JtNgWj89Kiep8MQ/CiSJmXtg63LssC+AIM42NmmZAOf4AhTzHV+qfC5MdsSqDDbqvTreuCW6TtON2me034zItXO1bbfFFbbSQ3qYvTPWek1okAMM0sycGL2VJlQL9kPdyUzSufHML2Y4149L2vQh4DBBezGjfRlAVqXhQM9V/H8jrz6RohBG7/0yb89N87w76/bPvRRvxm1T7TaxM4r38M/u/lXi+hgjnt4X4QvTB4ISLqgnlj83Dp9CL84465YfdJKq9zIDtVzrwoGJWXGvJ4mXyT9r0WWlai1ekJujHXOzo6lXmR721tLg8cHW59Qa20w7PD5dHOrSCwRcCJhvbOTRv5v1aDIuPeRoqiSJ/RbXojVV8LmAceyfGB4CVU8bNdKpo+Wh+6ziPUVg1Gxvt6uFVEcqCmrvI5WNNiet4D1S34YGcFXv30sBZ0RnLJbz7B08v34uW1hyKP1z9gdSNSp9sbslZKXlFlNQYvRETd9OjlU/DR/Qtw3SnDMbFQ39xuX1ULcqTgJU5Rgnq/hGKPU3Q3aptNv+OyMctS3+oKesxsxY7ZtBHgy77IS5nllT/qZpDqONQaiQ6PF9Ut8g7ZoYMXp1vOvKjZleDVRup0mcsjTJdeyyUXDY7g4MAeFzgg1LJz+TIdqDYPHABo+yxFJNXsAL5VZUDkaaMx+b4s3NH6NtPAL9EeeH/5Okdj05G6SMPV6ldSEuK0horG1W/aa6RpQ6sxeCEi6iZFUTAyLxWPXzEVdy4cq3vu7En5yE9Pko4N1BeYmTYsU/ta3svI931gSqS1wxOUZak3NIwD5MxG4PEOd3DBLgDUtnYE1bwkx8dpNyu1Y68CX2t7tV5DXqlk/K3da8zK+L9N1TIv+uBCgW/aSM2MmNWCeHSdgcM/Hzp4CYzrUI15G38gUGMEhK+NMWYlwk0bQWoCmJuagES7DULAtGGe/JaR9h4yClcEbFz2rEiF5ca+Q8ax9FALpG7hUmkioh508bShOFrfhrH5aahtcWLRpALd1IVNUTAkIzHk60fnpWLb0Ub/sb7CzxP+rY4URdFuph1ub1A32wZHR1CxqjptJE/tdITMvDjhFYF6HEUJvGeL061lSdS6juzUBDS1u7V6Gd/76W+YcjDVLmVe0hL1jejkBnjqjbSmpQMNDldQsCcHHmaZF/n5UFstyEFVZVPojEaqlPlydHh038uEoXGKVrBrOm3kP1QJNB4sq3OgoqkdJYbOzvJnqeps8BKmd4xx2gjwFZZXNTsj7i7dH6aNGLwQEfUgRVFwx4IxusfkqZ/WDjcmpobeN0ku0vVlXgLfK/At31YZf6uva3Uh37Dxo5oJ0S2hNinYBfzTRobMC+Cb4pEDMPWGl5WSgCO1Dq1BHhBoOqeS38Mp1byoQZg6PmMxaGZyIHgx0gUvZsFBFPs7yUmr2jDTMXJ35BanO3TwYpiGyQjT9l8YsjQFGYkoq3OYZlbkzxquNsdMuK698q7SKi3zEmraSKrVsRqnjYiIepkccKQm2MNuPZBpCF50NS+KgkS7TevQq94Y1embyub2oKkkddrIbZJ5MS5GqWl1BgU06phl6g1a2zpAmmZwGHq5eA1FweowUqWiXAC6lUxAYClzo+m0UeD8ZtNCcrYnVM8X3UqrcPv5yFmcMBtdevWJF+1nYr7aSB8EhOuxIv84d1c0h3x/M+FWURna0gAILOk3m4qTx9IfghdmXoiI+sCbt52CI3UOlBZlAPD9Rm+2ekQXvNhgqHnxTamkJ9nR4HBh42Ffp9nhuSnYcawJxxvaggp21YyJ3BNGfcy8YDcgkHkxBi++P3P8N7saKUDweIVuekU3bSQFNupqHPXmbuwhom78WNcaPvNitppIvgQVjebZCnlc4TYj1E1BhZuGMWQlwhXsGoOA4f6pIrPaGzl4+upEU8j3NxNuV26zhnPZqWrNS6jMi/qV9dELMy9ERH1g7tg8fOPkwJLqf905D6ePzcM/vz1X1wdGXh5d29KhnzZSgo8BAje/4w1tQZmT5nY3DtW0wunx6B4DTAp2W5wQ0mNqkGKso1GnGvL8O1xXGrIbcot546aN6vDUwKfN5dE1r1NvpuqKrMO1wTd0edxmmQ05+3QiRMdY+TLVhOnIK7+X2RSVkTr+TG2pdOidvdXrOL7AN424tzI4syIHYseiaN0f6r2CzxvccE7NdoWqeTFugWAlBi9ERBaYNDQDr992CmYOz8Z7d5+Bc0oL8JdvnqplZgDfzSzDkHkBgjvvlmT7gpdj9W26jRkB4LdrDmDh0x/hcanJWqP/5hSUeWnt0AU/amFumiHzogZRamOzo/X6zQ3l2gzjaiP1BpiRHNigsrHNFZS5mFDouw5mUyX6nbPDZ2ZCBS9yUNXsdIecKtFlaMLsaWUMBgKrjVwhAwh1WfW4Al+R9P6q4CXb8jgbHK6wfXRUw6Wi33AdcwFjwa662Wb41Ub9YdqIwQsRkcWKspLx0k2zceroXEwpDiyVrne49NNG/n+x1SkXldoEr7XDE/Rbs1r38PaW49pjagbBmKWpbnYapo18fxqnjdSbl9qo7pihkFQOZoybNqo3Y5u0x1ODwxXUoXasv//JIZPmbZEKcj1RZF6Mn32fSeAA6DMXta2hMzTGgmM1Y+YVwdM3XkPmZViWL9ioNwlOjOOsCrMyShUv9bk5XGO+a7ZZIBLIvITq8wLduK3E4IWIqB+Tp420lSyGaaMOtxe5/gCmrM78ZiVzdHjgdHu0gl01SGlud5tmXlINjdrUcahLmI37GclFsqE6/ioI1LXUOzqCbqZ5/o6vZvUXkWte5OAlVNt9/fdmWQ9AX9QctrDX/6d6bZLibVoQYVz1Y/ysGcl2JMX7bsfGFUfGcUbKpBhfU9EU4vNLvWZUkQp2YciOWYnBCxFRP3PLvFEAgLMm5iMvLdATRg0yjNNGjW0uba+hP64/EtV71LZ0wOOfNlJ/4/ZNcfiel29QoVYbqTUvQeeWbvLGpnlN/kyJvNu2L/Oir6dQb6QtTndQYbM8M2Za8yI93+BwaSuudOcwBFWhGsB5uzhtpChKyEZ1xiyToijaFJwxU2TMvBwM0w3Y7DUhM08mOw2onaBDr9DyjzviCHofgxcion7mBxdMwIs3zsJz187AnJGBjR/VzrjG4MXjFVFvOaC6+rfr8e+tJwAEMiAtTjfkZnGqlBDTRsZxqOSbvDFIaPGvvlEUYIg/+Dla7wiakshIjtcCGWOXXd20kdlSacN7mmUrjEFBTYheL/K0UXl9mKyWWnAsVbOG2lna2N0WAAozzZdLG8e5/Vhj6DH4yQGj2fJr33DVLEpgFOpU3YnGdtMuu2avsQqDFyKifibRHofzJhciIyke+RlJOHtSAUpykjF6iG8Tv2GGLqzfmj8apUMzzE4V0rGGNry33Re8ZKYE6jPUYEC+PaUFTRv5/kxNiDNdeSIvPTb+hh/IvPiKlgHgqxPNQQW7cVJNjHHqyBMheDHe8E+YrNJRT6FmtmqaQxTsSu+181hT0DSY8T3ly6E1qjNOG/n/lK+dulmnMbNifLt9lVFkXqRrHmo6zLirNOALRkfk+v5u7TJZls2CXSIiitrLi2djzf0LkeTfLXnskEAL//vPHY+hmcmYKu2J1FlpiXZt5c+D/9gGwJB5STC2BAtMd2SYZF/kwtbgpdv+zAsULXjZW9ls3nckxNJdXc1LhKXSgPnUiXpMgX+rhlDFuPKpmp1uHA9VQ+P/U76xywXJumOFWdbDt1zaWDhsvH7R1bwEXrPtaKNpwGU2XiCwy3W5Se0UC3aJiKhT5OmICYXp2saFw3N9N5vZI3OCXpNoj+6f+DhbYANItfFdh1SpalwqbTO5Qcsqm5zaDdRY86LuEq0ogaXWvj2Vgm+wWSGW7kbau8iwWty0aFc9R75/6iqaTrwAUBOi7iWQlQhcHC2rY5iSMst6jPFn1YyN6tTAQ93xuaKpPewGkb4xB75ucbpxwizgMQkWAWi1U8dNslXMvBARUZflpCbg9dtOwe8Xz8Yl04YCCA4wijKTtBqGSOIMu1cbGZ+Tb3jyyqfRQ1Jhtym+G6Y/2xFqmkVRFK1AtM7REbRaBwgERk2G7Ipuk0mTDSqNN3fTzIv/kBH+4O9YfRtcxv0SYLb/U/ggR76vqyumgoIX/59yoFPsDxqCC3Z9fw71L0vvcHtDLmUONWazLsNm4wUCwcuxhuBrZuyCbCUGL0REMejU0blYNKlAdwOUO/j+6bZTtM6tkdhsCtITzYtvAehWPAH637zlnjOJ9jitLmdPZTNueW0j7v/7VvP3VAL9adpdXjjUWhvduUPUjBjioVbDZpBBBbumwYvvmKKsJCTHx8HtFaZTJcZ4prYTmRe1ILnakNXxGup7gEDBbmObS7cztxqIJdpt2s/B2Fcn+LP5/lSDTrPgLdS0kRpEHTHpbMzMCxER9bhHLi3FPYvG4d3vnI4xQ9K0zq2R2G2Ktq+NmSGGJdFm2RHf44FMxpo91Vi1uwpbj5qvjlEUX8GvOh1S4y/ylaek1KyOMXgxTkUZ9xxSn1dv9sfDBC9xNptWpHqkNjh4CWrkF2YHauP4A9NG+oDHbNooPSley57JwZa8YeXY/EBgGI4a8GjZHLMsirGrnt+UYl8d0o7jjUGZKPU1xqkmKzB4ISIaIBLtcfjuOeO1Lr3zxw/RnhsfJpCx2RTkpJr3bAGAXP/0hxl52ijOFuhXEqpvivae/k0m1aBJnY5ROjltBAT3UVHvy8X+5ePm0ybqOALBmdkGjcZpr1CZF2PXXAAY5t+2YV9Vs24qy2yKDAh0LJYbDQayNAomqlsmRNigUX2NGpQdNOlSbLbiCQBG56UhI8mOdpc3aGVTiHjHEgxeiIgGqMlFmfjJxaX41vzReOuOufjarGF46abZQcc5XR6tQ6+ZRHucYbdrqeYlWd8BWJ3+iKbTLwAtaFIDB7MpqcYI00bGzrdqcDPMn3moN2lUpwYlNmnFlPF9gOClymbHyGOSxz+1OBN2m4LKJqduvyfjsnDVOP803x5pPye5eZ+6Z5FpAa7JmKcNywJg3hvG2ChPZbMpGOlfcWTcCJKrjYiIqE/ccvooPHTBJGQkxePpq6fjnNKCoGPsNlvY4AUAJhYG6meMvUFUNgUo8GdeDtcE10zI1KxDjpZ58Qcv0tlDTht59dMih4J6o/iez0qJ1+o+jJtHakGB1E/GPHjxHaeu7goZvCA4IElOiMOYIeoeTYHrEap2ZJL/Gu82DV4CWaqQ7fsNr1EzcHsrWoILp0MU7AJAkX/bh2OGa8aaFyIissy/7pyHb5xcgme/Ph3ThmXimjklyAkzNQQAF04dqn2tX20UKNiNsylaQGHcjNBIPYXay6XWpOYlMG3kCxh2Hm9EfWuHVtMyxr+a6mCI5cVxNkXLVhjrWbQNIhVEFbyoWyg0toWaNvJ/LkM4kJ8RvBTbrM8LAIzK830euXBYbThnsymBjRNN9nuSadNmWcmwKb5l7zWtoVY8Bb9enW4zZl5CrVCyQui1cURENCBNL8nC9JIsAMCVJw0DAHy6vybsa+SVS7qiWsO00YTCKFc4aZkXfdBkvtrIjZ3HG3HRrz9BTmqCdvMcnZeKj/dWB01ReaRsxfCcFOw83hR0jBpsxCmBzIsxw+M7TvjHGY+aFmenpo0AYEha8IqjUHsEqcuh5R4r8rRRxI0TDa9JtNuQn56EiqZ2HG9oR356UsTxAoFamVA7bbNgl4iI+gV1ikH15/93qu57tX09ALilKQg5eImz+Xq3qF1rw1Fvf+oNWWXWQ6axzYWNh+oA+Gpj1FUw6n5OlU3GpciBc6mZF2PwIq+cCZd5URfcZGuZl1BZD/OVOEMygoMXsz4vQGAarKKpHW7/G8ufJTtF3YU7uj4vihIIiIxbJITbp2iq/+/CtqON+kJj7ipNRET9SWZyPM6elI+CjER8cO8ZOG1Mru75goxE2G0KEuJsutVHan0EELhxTygM3mcpOV6/P5ISKvNiGBPgmzZSa2l83/tWFw3NVIMXQ2M3bdoIGO7PIhh7uHikG3G44EVomZfwwYs3QualqjkwRiFlU4zHxscp8IrANgDyseq0UZvLg3ZX6Gk5OeAZkWOeRVGno8zikNKiDNgUX6BoGnSFfOe+w+CFiIgAAC/dNBvrHlykLcmVKYqCrQ+fi89/tAiJ9kAgok4xAIHdnyeZTB0ZszFazUvQtJG8kslX2eDo8MBhUkOjLi2ua+3Qddn1GqaNAF/mZd2BGpz82Ep8sONEYNooQsGuWhujBg7tLq9p4BAqIFEDPXl/JrM+L4CvrkXtk3OwutX/WfzHKgoykgJ7UIXOAOmzSur04Oayev0xCJzXKNEepwWGRxvkVVLai0K+d19h8EJERAB8N7I4491Xkppo127iqiQpo6IWq84cnh302vSkeKQkBI5VszTGVU7yfTFd6iFj1hwuNzURSfG+21h5XeAm65GKXOXg5fH3v0JVsxO3v7456mkjNXjISLZrgYl5bYz2CXSPmxXZhpuyUTfdVHeD9khBkaIoyFJ32g5T9yIXI6vLpeXl14A0BRTiHOoUlm6JN7cHICKigeKnl05GeqIdl80oAgAsmpQfdIzNpmibIALR1bzE2RSk+7vOVjUFBy82m6+XDQBsLW9Ah9uLD3dWaDd2m+LbqyfOpsDp9upa/Xe4AxtEysGLEAKrdleizL86SV4qHa4fTKh6kByTIttwxbLq9gpqe371vGpQmanWvYRZcaRNG9kUlGQHptbM9m4KVXyr1hPpVj71o6XSXG1ERETdsnjuSCyeO1L7Pj7OhvvOGY9nV+zVHotTgPyMJBz2BwU2/6/O4WpeAF/322anG4dMusTaFAUzSrKw6Ug9th9rRHm9A8+t3Ce9p4L4OBuKspJQXtem63Wi1snESUGJ0+3F2n01uOW1LwAAh5+8KLCNgD9D0+BwmQcv0phkanBWJwUvoZZVA4EtBdSl4/IUWOB8rSFXHMkFtjZFQU5aAhLibOjweFHR2I4SfybKbH8lmbpqbEt5g3Ru889oBWZeiIiox929aBxW379A+/54Q7v22zwQuHFnpej3VLIZpq3UJdrbTPZIirMpWqaivM6Bt788pntenZZRp472S83s1B4mNsWX3VHvx58drNWOEULo2vOrGZoGk9U+oepY1MZycq2MgHl9DBBcI6MV1mrBS/gVR3IvOpviu55qbZC+y6/5eFVzRuUAADYfkWtlOG1EREQD3Ki8VMwcngXAt4JFneIBAr/xJ8XH6RrdGY33ZwCMWwAAwQW5SYYVTepUy2h/8zd5TySXJxBA2GyKtizbHhe4LdY7XNpUU6TC3lDTRmmJdq07rxqQhJs20jI1/mkhr6EQWKuhCZF5kTeSVAOesf5mfnsqAnsihSjR0UwoCFx3tUkgO+wSEdGg8L9fn4FfXjUNz107A7NHBAp51UJSQF/ga5ySmBim6Z28309ZnQOJdv0tTQ1exgxJDXqt8f3y/BmPamlJc3mdw3SpstkGjqGmjRRFCXpdoFg2OApQp9Hq/B1xjVM16iaS8hJmmVc3beT7Uw0atx+TgpcwYwB8xdlqMbVa9xIIXqyPXhi8EBFRrxmZl4qvzylBRlI8ppdk4ZUls7HmgQW6Whe5p4zxvih39jWKsykYlp2CtEQ7nG5vUDt79Vxj88MFQL6DitR9kqStBvZUNgdW7tgUjPQvC98v9Uxpd3l000tmclL1001aQGJyB1avS32rS3deNRAZmhnchVcmdNNGvheN8+8oXlYn7a+kHRNy2Fp9jFq8LBD6M/Y1Bi9ERNRnzppYoPUyUV0wpVD72hgEjMxNQWqCfjpIZbP5lnZPL/FlFmpa9BmROP/Ne0x+mMyL/y6oBgXyHkg7jjXqGr5NGurrf/OVf/qlutmJWT9fgTte3xx2SsWYeQm1rBoITBt1eLxocbqlZnqKf5y+IOtEo/nO0l5DwS4QaJRX22K24il09DLa31V5T2Wzbtws2CUiokFvRG4qfnD+RAzLTsYZY4fonrPH2TB3bJ7p69Sb6MyS4L4y8vOFGUm6HjNmx5gFBduPNeoyH+P9GYyD1a0QQuCdrcfR2uHBBzsrQk4bAcHLpc12oFYlJ8Rp3YjrW126PZh841SLbx26lUUquWBXPX+uur9Si9nmkMFjUE0dFliG7nuN/rxW6pfBy6FDh7Bw4UKUlpZi6tSpaG0Nv7U6ERHFtjsWjMEnPzhLu2HKLplepH19kr8AGAjc0GdKj8nUlUuKouj2ZtId4z/HnJE5Qc/tOt6EDn/Frk3xTVEBQIvTjXqHS+tBA0Dbi8i0CDdVv0IoUMdiOqRA3YujI1Bz479bj81PQ2pCHOodLm0Z8z82HcXlSz9FRWN72MxLc7tb60QcTav/Un+m6YC/2y+b1EWwZMkS/OxnP8OuXbuwZs0aJCZG3uSLiIgGpvMnB6aVZkhZlgR/ge6po3NNVyzFSXdZeZm27hh/BDF3TC7SEvXncLq9Wmdam6IgKT4OhRnq9FIrkqVsTrjeLUPSA9kSIHKxrFy0q/amUad3kuLjMM+fidpc1gAA+N7ft2JLeQN+/PZ2CKkPnRocZSTbEe+/GOrUUTTTRup+UjVqxoaZl9B27tyJ+Ph4nHHGGQCAnJwc2O3spUdENFgl2G34zXUzMWtENm6fPxofP7AQa7+/UAs8UhPtWDJvVNDr5L4mxVkpQc8DgRuxb1+h4GPU4lz1vdQMzlcnmuH2mnWsDX6PyUW+DIa62ifSFkGB4MVlWmcySuptI9tS3mCaeVEUBbmpviSAGohEalIHBFY2OTo8aHW6pWyN9dFLp4OXjz/+GJdccgmKioqgKArefvvtoGOef/55jBo1CklJSZg1axbWrl0b9fn37duHtLQ0XHrppTjppJPw+OOPd3aIREQ0wFw8rQj/uGMu8jOSMDw3RVsJo7pZ6vCrkvu+hMq8yEHByBBTS77jfH+eOtq3MuqT/dVodwUHL2b39anFvqmwvZXN6HB7I3aqVZcoVzc7g1YbAYHl4cbgpaalw9DnRTqnfyl4UObFdAQ+qYl2rVZIHkt/yLx0OqXR2tqK6dOn4+abb8ZVV10V9Pxf//pX3HvvvXj++ecxb948vPjii7jggguwa9cuDB8+HAAwa9YsOJ3Ba9SXL18Ol8uFtWvXYsuWLcjPz8f555+POXPm4JxzzunCxyMiosEgOzUBf/5/p+JAdQsmF2XgH5uP4pbTA9kYdbkwAKQn2dHc7gYA3UaUo6RVUKOHpGo7OwOB6ZVTRvtqY7YdbTStkzELSIZmJiE1IQ6tHR6U1bWGXVYNAMXZ6qaIDi0bJJ+3JDvQ28Y3tkAw4vEGAgx5SijPpGhX/lyhDElPxJFaB6pbnP2qz0ung5cLLrgAF1xwQcjnn332Wdx666247bbbAADPPfccPvzwQ7zwwgt44oknAACbNm0K+fphw4Zhzpw5KCkpAQBceOGF2LJlS8jgxel06gKhpqYm0+OIiGhgO21MrtYzxriztZr9AHz1LR/urASgz2jImZfZI7J1wYsa5KidZ4/Wt5k2qzO7rSuKgjH5adh2tBH7q1ojThupwUl5fZuWYZKDF7kxnxACxVnJ2hRZub+uxhhEBWdeoiu+HZLmD16anVEV+faVHq156ejowKZNm3DuuefqHj/33HOxbt26qM4xZ84cVFZWor6+Hl6vFx9//DEmTZoU8vgnnngCmZmZ2n9q0ENERKTKSknAxdOGonRoBr5//kTtcXVbAAAYlReYihpfkK4tSwYCQU52aoJWtLvxcF3Q+4TKSqjN9jaX1UecNhqW48u8HKhqCTTJkw4tykqGTfEVFFc3O3UbTu463hR0PBBYcRSoeQk/Bu11UkffaJZX95UeDV5qamrg8XhQUFCge7ygoAAVFRVRncNut+Pxxx/HmWeeiWnTpmHcuHG4+OKLQx7/0EMPobGxUfuvvLy8W5+BiIgGpt9cdxLev+cMjBmShnfumoenr56OcVIHX/nrisZ2XCot0ZZv8nP92Z3PDgYHL6GWPy+ckA8A+O9XlRGzHlOKM5GSEIdjDW3YcKgu6P0T7DatL015vUNbzg0Au040Bx0P+Hb0BoATjb4MTbheMzJd8OJ/rB/ELr2z2sgYeQohOjVHdsEFF2D79u3YsWMHnn322bDHJiYmIiMjQ/cfERFRONOGZeFrs4bpHstIisfF04YCAM6fUohbzwjUzMgrl+ZP0DfSk4VaiaNOZx2obtU2Ogx1W8xIisf88b732H60AUDwVgLy1JHTHQhedleomRf9ydWtDQ7X6PcpikTN2FQ1t0tLpa0PX3o0eMnLy0NcXFxQlqWqqiooG0NERNTf/OramVj34FmYPTIH+elJ2k7SU6SamTPHDdFlWBLkDSHDLH8u8U8HbT7SACD8lM1o/3JotbGdMWDQgpfaNrikzIu6D5ExA6RuyXCk1tcdOFLdjSo/wxe8VDaZr3yySo8GLwkJCZg1axZWrFihe3zFihWYO3duT74VERFRj4uzKdomjQCw8r75+P3i2ThrYr72WHZqAq6ZE6ivXDA+kIkJd2OfO9rXXE7dKyjc/MuovDTd98bzqoFQWZ0DHVLmpdZfRGwMjEpykpEc71vx9PG+moh1N6rhOXLQ438wFjMvLS0t2LJlC7Zs2QLA18p/y5YtKCsrAwDcd999ePnll/HKK6/gq6++wne/+12UlZXh9ttv79GBExER9bYh6YlYNKlAt6QaAH4gFf2eMjoXF00bivMmFwR16ZVd5J+SUoVr9mbcziA4GPFPA9W26vYz0s5tOHWiPQ6XzywGAHy0pyrq4lt1HOX1gQyP9aFLF5ZKf/HFF1i4cKH2/X333QcAWLx4MV577TVcc801qK2txc9+9jOcOHECU6ZMwfvvv48RI0b03KiJiIgslJWSgLduPw1/+6IcV84sxq1ST5lQThuTi5zUBG2JdbgszegIwYs6baR2ADaymZx8ZkkW/vx5GfZWNkfdLbcgIxFpiXa0ON1Yf7DW95p+EL10OnhZsGCB6U6Wsm9/+9v49re/3eVBERER9XezR+ZgtkmjulDi42x46IKJeOCtbQAC9SxmslMTkJUSjwb/MaGCl8a2wDnkxnpm00ETCn2rqfZUtESdeVEUBZfNKMIbG8rg6PBt6hiT2wMQERFR13xt1jCtfma6yQ7aMrmxnjGRkpOagHRpM0pFAUZKHYLNsjpql+GaFqcWOEVTfHvGOP3qqgFXsEtEREShKYqCl2+ajQ/uPQNfnx2+qercMXna18ZpIEVRcPWswOvtNkW3f5PZcuaUBLuWsZHOFHHMEwvTdd/3h2kjBi9ERER9yGZTMLEww7QuRXaFv8AWgLZBomyJtBmlyyMwaWigz1moM0/oQiAyPCcFydIml5w2IiIiIlOFmUn4++2n4a6FY3HdKcODnh+em4LbpELh2SMC+zlVNQdvfgwE9mZSRROG2GwKxstBj/WxS+cLdomIiKhvzBmZY7p7teqHF05CfkYixgxJw9j8NCTHx6HN5Ql5/PigzEt0kcjEgnRsLW/wvSaqV/QuZl6IiIhilM2m4JtnjsGiSQVQFAUfPbAAxVnJuCZEPc0po3J0U0XRFt9OHBoIeiI1tusLzLwQERENEAUZSVj7/YUh62kKMpKwcEI+Vu2uAgDY46LLYci1Mv0gdmHwQkRENJBEKgR+4YaT8PLaQ2hqc6EoMymqc8p7Ox1vaAtzZN9g8EJERDSIJNrjcOfCsZ16TUZSvPZ1YWZymCP7xoAJXpYuXYqlS5fC4wldqERERERds/r+Bfh0fw0unV5k9VCgiEi9/mNMU1MTMjMz0djYiIyMjMgvICIiIst15v7N1UZEREQUUxi8EBERUUxh8EJEREQxhcELERERxRQGL0RERBRTGLwQERFRTGHwQkRERDGFwQsRERHFFAYvREREFFMYvBAREVFMYfBCREREMYXBCxEREcUUBi9EREQUU+xWD6CnqZtkNzU1WTwSIiIiipZ631bv4+EMuOClubkZAFBSUmLxSIiIiKizmpubkZmZGfYYRUQT4sQQr9eL48ePIz09HYqi9Oi5m5qaUFJSgvLycmRkZPTouYnXt7fx+vYuXt/exevbu/rD9RVCoLm5GUVFRbDZwle1DLjMi81mw7Bhw3r1PTIyMvg/Ty/i9e1dvL69i9e3d/H69i6rr2+kjIuKBbtEREQUUxi8EBERUUxh8NIJiYmJePjhh5GYmGj1UAYkXt/exevbu3h9exevb++Ktes74Ap2iYiIaGBj5oWIiIhiCoMXIiIiiikMXoiIiCimMHghIiKimMLghYiIiGIKg5coPf/88xg1ahSSkpIwa9YsrF271uohxYQnnngCc+bMQXp6OvLz83H55Zdjz549umOEEHjkkUdQVFSE5ORkLFiwADt37tQd43Q68Z3vfAd5eXlITU3FpZdeiqNHj/blR+n3nnjiCSiKgnvvvVd7jNe2+44dO4YbbrgBubm5SElJwYwZM7Bp0ybteV7jrnO73fjxj3+MUaNGITk5GaNHj8bPfvYzeL1e7Rhe3+h9/PHHuOSSS1BUVARFUfD222/rnu+pa1lfX48bb7wRmZmZyMzMxI033oiGhoZe/nQGgiL6y1/+IuLj48VLL70kdu3aJe655x6Rmpoqjhw5YvXQ+r3zzjtPvPrqq2LHjh1iy5Yt4qKLLhLDhw8XLS0t2jFPPvmkSE9PF//4xz/E9u3bxTXXXCOGDh0qmpqatGNuv/12UVxcLFasWCE2b94sFi5cKKZPny7cbrcVH6vf+fzzz8XIkSPFtGnTxD333KM9zmvbPXV1dWLEiBFiyZIlYsOGDeLQoUNi5cqVYv/+/doxvMZd9+ijj4rc3Fzx7rvvikOHDom///3vIi0tTTz33HPaMby+0Xv//ffFj370I/GPf/xDABD//Oc/dc/31LU8//zzxZQpU8S6devEunXrxJQpU8TFF1/cVx9TCCEEg5conHzyyeL222/XPTZx4kTx4IMPWjSi2FVVVSUAiDVr1gghhPB6vaKwsFA8+eST2jHt7e0iMzNT/Pa3vxVCCNHQ0CDi4+PFX/7yF+2YY8eOCZvNJj744IO+/QD9UHNzsxg3bpxYsWKFmD9/vha88Np23w9+8ANx+umnh3ye17h7LrroInHLLbfoHrvyyivFDTfcIITg9e0OY/DSU9dy165dAoD47LPPtGPWr18vAIjdu3f38qcK4LRRBB0dHdi0aRPOPfdc3ePnnnsu1q1bZ9GoYldjYyMAICcnBwBw6NAhVFRU6K5vYmIi5s+fr13fTZs2weVy6Y4pKirClClT+DMAcOedd+Kiiy7C2WefrXuc17b73nnnHcyePRtXX3018vPzMXPmTLz00kva87zG3XP66afjv//9L/bu3QsA2Lp1Kz755BNceOGFAHh9e1JPXcv169cjMzMTp5xyinbMqaeeiszMzD693gNuV+meVlNTA4/Hg4KCAt3jBQUFqKiosGhUsUkIgfvuuw+nn346pkyZAgDaNTS7vkeOHNGOSUhIQHZ2dtAxg/1n8Je//AWbN2/Gxo0bg57jte2+gwcP4oUXXsB9992HH/7wh/j8889x9913IzExETfddBOvcTf94Ac/QGNjIyZOnIi4uDh4PB489thj+MY3vgGAf4d7Uk9dy4qKCuTn5wedPz8/v0+vN4OXKCmKovteCBH0GIV31113Ydu2bfjkk0+CnuvK9R3sP4Py8nLcc889WL58OZKSkkIex2vbdV6vF7Nnz8bjjz8OAJg5cyZ27tyJF154ATfddJN2HK9x1/z1r3/F66+/jjfffBOTJ0/Gli1bcO+996KoqAiLFy/WjuP17Tk9cS3Nju/r681powjy8vIQFxcXFFFWVVUFRbAU2ne+8x288847WL16NYYNG6Y9XlhYCABhr29hYSE6OjpQX18f8pjBaNOmTaiqqsKsWbNgt9tht9uxZs0a/PrXv4bdbteuDa9t1w0dOhSlpaW6xyZNmoSysjIA/PvbXQ888AAefPBBXHvttZg6dSpuvPFGfPe738UTTzwBgNe3J/XUtSwsLERlZWXQ+aurq/v0ejN4iSAhIQGzZs3CihUrdI+vWLECc+fOtWhUsUMIgbvuugvLli3DqlWrMGrUKN3zo0aNQmFhoe76dnR0YM2aNdr1nTVrFuLj43XHnDhxAjt27BjUP4NFixZh+/bt2LJli/bf7Nmzcf3112PLli0YPXo0r203zZs3L2hp/969ezFixAgA/PvbXQ6HAzab/jYUFxenLZXm9e05PXUtTzvtNDQ2NuLzzz/XjtmwYQMaGxv79nr3WWlwDFOXSv/+978Xu3btEvfee69ITU0Vhw8ftnpo/d4dd9whMjMzxUcffSROnDih/edwOLRjnnzySZGZmSmWLVsmtm/fLr7xjW+YLt8bNmyYWLlypdi8ebM466yzBuVSyEjk1UZC8Np21+effy7sdrt47LHHxL59+8Qbb7whUlJSxOuvv64dw2vcdYsXLxbFxcXaUully5aJvLw88f3vf187htc3es3NzeLLL78UX375pQAgnn32WfHll19qbT166lqef/75Ytq0aWL9+vVi/fr1YurUqVwq3V8tXbpUjBgxQiQkJIiTTjpJW+pL4QEw/e/VV1/VjvF6veLhhx8WhYWFIjExUZx55pli+/btuvO0tbWJu+66S+Tk5Ijk5GRx8cUXi7Kysj7+NP2fMXjhte2+f//732LKlCkiMTFRTJw4Ufzud7/TPc9r3HVNTU3innvuEcOHDxdJSUli9OjR4kc/+pFwOp3aMby+0Vu9erXpv7eLFy8WQvTctaytrRXXX3+9SE9PF+np6eL6668X9fX1ffQpfRQhhOi7PA8RERFR97DmhYiIiGIKgxciIiKKKQxeiIiIKKYweCEiIqKYwuCFiIiIYgqDFyIiIoopDF6IiIgopjB4ISIiopjC4IWIiIhiCoMXIiIiiikMXoiIiCim/H+qwlo2jxKfcAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Beamline input block\n",
    "energy = 20000.0            # Energy in eV\n",
    "energy_keV = energy/1000.0  # Energy in keV\n",
    "wl = 1239.84 / (energy * 10**9)\n",
    "sigmaH = (sigmaH_e**2 + wl*L_und/2/np.pi/np.pi)**0.5\n",
    "sigmaV = (sigmaV_e**2 + wl*L_und/2/np.pi/np.pi)**0.5\n",
    "sigmaHp = (sigmaHp_e**2 + wl/L_und/2)**0.5\n",
    "sigmaVp = (sigmaVp_e**2 + wl/L_und/2)**0.5\n",
    "\n",
    "flag_HE = True\n",
    "slit1_H = 500.0e-6          # H slit size before CRL 1\n",
    "slit1_V = 300.0e-6          # V slit size before CRL 1\n",
    "slit2_H = 500.0e-6          # H slit size before CRL 2\n",
    "slit2_V = 300.0e-6          # V slit size before CRL 2\n",
    "\n",
    "lookup_table, L1_inF_list_sort_indices, index1to2 = Zoom_CRL2D_lookup()\n",
    "\n",
    "plt.plot(np.linspace(0,1023,1024), lookup_table)\n",
    "plt.title(str(energy_keV)+' keV lookup table')\n",
    "plt.yscale('log')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "422f3760-6db2-4cc9-9bc6-d9bf59082c94",
   "metadata": {},
   "source": [
    "# Comparing XS lookup table function to IOC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "4ce455b1-54b0-48db-b665-1c618d8dc52e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi8AAAGxCAYAAACqUFbqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAACBw0lEQVR4nO3ddXhU19bA4d8ZjytJCEkIHkIorhWoQb3UHWip3VKl3t76rbtQ/Xppe2vUvaVACxVcCwTXABHinrH9/THJJEMSosxkwnqfJw/JOfvsWXMSZtZs1ZRSCiGEEEIIP6HzdQBCCCGEEC0hyYsQQggh/IokL0IIIYTwK5K8CCGEEMKvSPIihBBCCL8iyYsQQggh/IokL0IIIYTwK5K8CCGEEMKvSPIihBBCCL8iyYsQXrB69WomTZpEfHw8gYGBpKSk8Oijj1JeXt6s63Nycpg6dSrR0dEEBgYyZswY5s+f36xrx48fT1paWlvCB+C2225D0zQ2bdrUaJn7778fTdNYtWpVo2WmTp1KcnJym+M5lPZ6zu2hvLychx9+mAULFrS6jgULFqBpGl988UWTZR9++GE0TWv1YwnhDyR5EeIwS09PZ+zYsezatYuXXnqJH374gYsvvphHH32USy65pMnrq6qqOPHEE5k/fz4vv/wy3377LbGxsZxyyiksXLjQC8/AZdq0aQD897//bfC80+nkgw8+YPDgwQwdOtRrcXV05eXlPPLII21KXoQQngy+DkCIzu7jjz+msrKSL7/8kl69egFwwgknkJmZydtvv01BQQERERGNXv/uu++yfv16Fi1axJgxYwA4/vjjGTRoEHfddRdLly71yvNIS0tj5MiR/O9//+OJJ57AYPB8+fj111/Zu3cvd999t1fiEUIcuaTlRYjDzGg0AhAWFuZxPDw8HJ1Oh8lkOuT1X3/9Nf369XMnLgAGg4HLL7+cZcuWsW/fvhbH9PXXXxMYGMjVV1+N3W4HYMWKFZx11llERkZisVgYMmQIn332mcd106ZNIysri59//rlenbNmzcJsNnPZZZe1OJ7KykruvfdeevTogclkolu3bkyfPp3CwkKPck6nk2eeeYaUlBTMZjMxMTFMnjyZvXv3tvg5N9Z91VC3i6Zp3Hjjjbz11lv07dsXs9lMamoqn3766SEfc9euXXTp0gWARx55BE3T0DSNqVOnArBt2zauvPJK+vTpQ2BgIN26dePMM89k3bp1jd6nGTNmEBcXR0BAAOPGjWP16tVNPneA2bNnM2bMGIKCgggODmbixInNvlaIDkcJIQ6rnTt3qvDwcHX++eer7du3q+LiYvX999+rsLAwddNNNzV5fVxcnLrgggvqHf/hhx8UoObMmXPI68eNG6cGDBjg/vmFF15Qer1ePfbYY+5jv/32mzKZTOrYY49Vs2fPVr/88ouaOnWqAtSsWbPc5YqLi1VgYKCaNGmSx2Pk5+crs9msLr744iafz5QpU1T37t3dPzudTjVx4kRlMBjUAw88oH799Vf13HPPqaCgIDVkyBBVWVnpLnvttdcqQN14443ql19+UW+++abq0qWLSkxMVAcOHGjRcz44jhoPPfSQOvilEVCJiYkqNTVVffLJJ+q7775Tp5xyigLU559/3uhzraysVL/88osC1LRp09TixYvV4sWL1bZt25RSSi1cuFDdfvvt6osvvlALFy5UX3/9tZo0aZIKCAhQmzZtctfz+++/u2M4++yz1ffff68+/PBD1bt3bxUaGqq2b99+yPgff/xxpWmauuqqq9QPP/ygvvrqKzVmzBgVFBSkNmzY0Gj8QnRUkrwI4QUbN25UKSkpCnB/3XzzzcrpdDZ5rdFoVNddd12944sWLVKA+vjjjw95fc0bucPhUDfeeKMymUzqww8/9CiTkpKihgwZomw2m8fxM844Q3Xt2lU5HA73sSlTpiij0aiys7Pdx1599VUFqLlz5zb5fA5OGmre3J955hmPcrNnz1aAevvtt5VSrnsIqBtuuMGj3NKlSxWg7rvvvhY955YmLwEBASorK8t9zG63q5SUFNW7d+9DPt8DBw4oQD300EOHLFdTp9VqVX369FG33Xab+3hN8jJ06FCPv5ldu3Ypo9Gorr766kbj37NnjzIYDPUS5ZKSEhUXF6cuvPDCJuMSoqORbiMhDrNdu3Zx5plnEhUVxRdffMHChQt55plneO+997j66qubVcehZo80Z2ZJZWUlkyZN4qOPPuLXX3/16NrZtm0bmzZtch+z2+3ur9NOO43MzEw2b97sLj9t2jRsNhv/+9//3MdmzZpF9+7dOfHEE5v1fOr67bffANxdKTUuuOACgoKC3LOqfv/99wbLjRw5kv79+9ebfXWo59waJ554IrGxse6f9Xo9F110Edu2bWtW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C7p06cKuXbuw2WxtSl46zYDdmTNnkpqayogRI3wdihBCiBZoail40Xm0V8tap/mLmT59Ounp6SxfvtzXoQghhBDiMOo0yYsQQgghjgySvAghhBAdwK5du9A0jTVr1rRbnQsWLEDTNAoLC9utzo5AkhchhBCimRwOB2PHjuW8887zOF5UVERiYiL//ve/3ce+/PJLRo0aRVhYGCEhIQwYMIDbb7/d2yF3SpK8eIPTCUvehH2rfB2JEEKINtDr9bz//vv88ssvfPTRR+7jN910E5GRkTz44IMAzJs3j4svvpjzzz+fZcuWsXLlSh5//HGsVquvQu9UJHnxguLlH8Evd8M7x/s6FCGE8AvlVnujX5U2R7uWbak+ffrw5JNPctNNN7F//36+/fZbPv30U95//31MJhMAP/zwA8cccwx33nkn/fr1o2/fvkyaNIlXX321RY+1cOFCRo4cidlspmvXrtxzzz3Y7bUxV1VVcfPNNxMTE4PFYuGYY4455MSViooKTj/9dEaPHk1+fj5Tp05l0qRJHmVuvfVWxo8f7/55/Pjx3Hjjjdx4442Eh4cTFRXFv//9b5RSLXou7UnWefGC4l1rCPV1EEII4UdSH5zT6Lnj+3Vh1pUj3T8Pe2weFbaGtxYY1SOS2deNcf98zNO/k1/m2fqx66nTWxzfTTfdxNdff83kyZNZt24dDz74IIMHD3afj4uL4+OPP2b9+vWkpaW1uH6Affv2cdpppzF16lQ++OADNm3axDXXXIPFYuHhhx8G4K677uLLL7/k/fffp3v37jzzzDNMnDiRbdu2ERkZ6VFfUVERZ5xxBhaLhfnz5xMUFNTsWN5//32mTZvG0qVLWbFiBddeey3du3fnmmuuadVzaytpefEGWTFSCCE6FU3TeOONN5g/fz6xsbHcc889HudvuukmRowYwcCBA0lOTubiiy/mv//9L1VVVc1+jNdff53ExERee+01UlJSmDRpEo888gjPP/88TqeTsrIy3njjDZ599llOPfVUUlNTeeeddwgICODdd9/1qCs7O5tx48YRExPDjz/+2KLEBSAxMZEXX3yRfv36cdlll3HTTTfx4osvtqiO9iQtL16wM2gwCcAaZ08G+zoYIYTwA+mPTmz0nO6gD4QrHzip2WX/urv9uu//+9//EhgYyM6dO9m7dy/Jycnuc0FBQfz4449s376d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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Beamline input block\n",
    "energy = 8000.0            # Energy in eV\n",
    "energy_keV = energy/1000.0  # Energy in keV\n",
    "wl = 1239.84 / (energy * 10**9)\n",
    "sigmaH = (sigmaH_e**2 + wl*L_und/2/np.pi/np.pi)**0.5\n",
    "sigmaV = (sigmaV_e**2 + wl*L_und/2/np.pi/np.pi)**0.5\n",
    "sigmaHp = (sigmaHp_e**2 + wl/L_und/2)**0.5\n",
    "sigmaVp = (sigmaVp_e**2 + wl/L_und/2)**0.5\n",
    "\n",
    "flag_HE = True\n",
    "slit1_H = 500.0e-6          # H slit size before CRL 1\n",
    "slit1_V = 300.0e-6          # V slit size before CRL 1\n",
    "slit2_H = 500.0e-6          # H slit size before CRL 2\n",
    "slit2_V = 300.0e-6          # V slit size before CRL 2\n",
    "\n",
    "epics.caput(\"100idPyCRL:testSSH1.VAL\", slit1_H)\n",
    "epics.caput(\"100idPyCRL:testSSV1.VAL\", slit1_V)\n",
    "epics.caput(\"100idPyCRL:testSSH2.VAL\", slit2_H)\n",
    "epics.caput(\"100idPyCRL:testSSV2.VAL\", slit2_V)\n",
    "epics.caput(\"100idPyCRL:CRL:thickerr_flag\", flag_HE)\n",
    "epics.caput(\"100idPyCRL:CRL:EnergySelect\",0)\n",
    "epics.caput(\"100idPyCRL:testMonoE.VAL\",float(energy_keV))\n",
    "\n",
    "lookup_table, L1_inF_list_sort_indices, index1to2 = Zoom_CRL2D_lookup()\n",
    "\n",
    "time.sleep(1)\n",
    "ioc_lookup=epics.caget(\"100idPyCRL:CRL:fSizes\")\n",
    "\n",
    "plt.plot(np.linspace(0,1023,1024), lookup_table, label='XS lookup', ls='--')\n",
    "plt.plot(np.linspace(0,1023,1024), ioc_lookup, label='IOC lookup', ls='-.')\n",
    "plt.title(str(energy_keV)+' keV lookup table')\n",
    "plt.yscale('log')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "f69fbadd-3ef6-4f09-8453-5cdd08ddbfe5",
   "metadata": {
    "scrolled": true
   },