{ "cells": [ { "cell_type": "markdown", "id": "2fad641c", "metadata": {}, "source": [ "[](https://colab.research.google.com/github/usnistgov/AFL-agent/blob/main/docs/source/tutorials/autosas_tutorial.ipynb)\n", "\n", "# Basic Fitting with AutoSAS\n", "\n", "This tutorial demonstrates how to use AutoSAS to fit small-angle scattering (SAS) data with different models. We'll explore how to:\n", "- Load and prepare SAS data\n", "- Set up an AutoSAS fit for a single model\n", "- Compare and evaluate the fits" ] }, { "cell_type": "markdown", "id": "ced056ca", "metadata": {}, "source": [ "## Google Colab Setup\n", "\n", "Only uncomment and run the next cell if you are running this notebook in Google Colab or if don't already have the AFL-agent package installed." ] }, { "cell_type": "code", "execution_count": null, "id": "5543936a", "metadata": {}, "outputs": [], "source": [ "# !pip install git+https://github.com/usnistgov/AFL-agent.git" ] }, { "cell_type": "markdown", "id": "607446da", "metadata": {}, "source": [ "## Getting Started\n", "\n", "First, let's import the necessary packages and load our example dataset:" ] }, { "cell_type": "code", "execution_count": 5, "id": "0a3a2890", "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "\n", "from AFL.double_agent import *\n", "from AFL.double_agent.AutoSAS import AutoSAS\n" ] }, { "cell_type": "markdown", "id": "c7496ebc", "metadata": {}, "source": [ "Next, let's load the example dataset. We'll subselect only part of the dataset to work with" ] }, { "cell_type": "code", "execution_count": 6, "id": "6a0749bd", "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n", "<defs>\n", "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n", "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n", "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n", "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n", "</symbol>\n", "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n", "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n", "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", "</symbol>\n", "</defs>\n", "</svg>\n", "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n", " *\n", " */\n", "\n", ":root {\n", " --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n", " --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n", " --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n", " --xr-border-color: var(--jp-border-color2, #e0e0e0);\n", " --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n", " --xr-background-color: var(--jp-layout-color0, white);\n", " --xr-background-color-row-even: var(--jp-layout-color1, white);\n", " --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n", "}\n", "\n", "html[theme=\"dark\"],\n", "html[data-theme=\"dark\"],\n", "body[data-theme=\"dark\"],\n", "body.vscode-dark {\n", " --xr-font-color0: rgba(255, 255, 255, 1);\n", " --xr-font-color2: rgba(255, 255, 255, 0.54);\n", " --xr-font-color3: rgba(255, 255, 255, 0.38);\n", " --xr-border-color: #1f1f1f;\n", " --xr-disabled-color: #515151;\n", " --xr-background-color: #111111;\n", " --xr-background-color-row-even: #111111;\n", " --xr-background-color-row-odd: #313131;\n", "}\n", "\n", ".xr-wrap {\n", " display: block !important;\n", " min-width: 300px;\n", " max-width: 700px;\n", "}\n", "\n", ".xr-text-repr-fallback {\n", " /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n", " display: none;\n", "}\n", "\n", ".xr-header {\n", " padding-top: 6px;\n", " padding-bottom: 6px;\n", " margin-bottom: 4px;\n", " border-bottom: solid 1px var(--xr-border-color);\n", "}\n", "\n", ".xr-header > div,\n", ".xr-header > ul {\n", " display: inline;\n", " margin-top: 0;\n", " margin-bottom: 0;\n", "}\n", "\n", ".xr-obj-type,\n", ".xr-array-name {\n", " margin-left: 2px;\n", " margin-right: 10px;\n", "}\n", "\n", ".xr-obj-type {\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-sections {\n", " padding-left: 0 !important;\n", " display: grid;\n", " grid-template-columns: 150px auto auto 1fr 0 20px 0 20px;\n", "}\n", "\n", ".xr-section-item {\n", " display: contents;\n", "}\n", "\n", ".xr-section-item input {\n", " display: inline-block;\n", " opacity: 0;\n", " height: 0;\n", "}\n", "\n", ".xr-section-item input + label {\n", " color: var(--xr-disabled-color);\n", "}\n", "\n", ".xr-section-item input:enabled + label {\n", " cursor: pointer;\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-section-item input:focus + label {\n", " border: 2px solid var(--xr-font-color0);\n", "}\n", "\n", ".xr-section-item input:enabled + label:hover {\n", " color: var(--xr-font-color0);\n", "}\n", "\n", ".xr-section-summary {\n", " grid-column: 1;\n", " color: var(--xr-font-color2);\n", " font-weight: 500;\n", "}\n", "\n", ".xr-section-summary > span {\n", " display: inline-block;\n", " padding-left: 0.5em;\n", "}\n", "\n", ".xr-section-summary-in:disabled + label {\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-section-summary-in + label:before {\n", " display: inline-block;\n", " content: \"►\";\n", " font-size: 11px;\n", " width: 15px;\n", " text-align: center;\n", "}\n", "\n", ".xr-section-summary-in:disabled + label:before {\n", " color: var(--xr-disabled-color);\n", "}\n", "\n", ".xr-section-summary-in:checked + label:before {\n", " content: \"▼\";\n", "}\n", "\n", ".xr-section-summary-in:checked + label > span {\n", " display: none;\n", "}\n", "\n", ".xr-section-summary,\n", ".xr-section-inline-details {\n", " padding-top: 4px;\n", " padding-bottom: 4px;\n", "}\n", "\n", ".xr-section-inline-details {\n", " grid-column: 2 / -1;\n", "}\n", "\n", ".xr-section-details {\n", " display: none;\n", " grid-column: 1 / -1;\n", " margin-bottom: 5px;\n", "}\n", "\n", ".xr-section-summary-in:checked ~ .xr-section-details {\n", " display: contents;\n", "}\n", "\n", ".xr-array-wrap {\n", " grid-column: 1 / -1;\n", " display: grid;\n", " grid-template-columns: 20px auto;\n", "}\n", "\n", ".xr-array-wrap > label {\n", " grid-column: 1;\n", " vertical-align: top;\n", "}\n", "\n", ".xr-preview {\n", " color: var(--xr-font-color3);\n", "}\n", "\n", ".xr-array-preview,\n", ".xr-array-data {\n", " padding: 0 5px !important;\n", " grid-column: 2;\n", "}\n", "\n", ".xr-array-data,\n", ".xr-array-in:checked ~ .xr-array-preview {\n", " display: none;\n", "}\n", "\n", ".xr-array-in:checked ~ .xr-array-data,\n", ".xr-array-preview {\n", " display: inline-block;\n", "}\n", "\n", ".xr-dim-list {\n", " display: inline-block !important;\n", " list-style: none;\n", " padding: 0 !important;\n", " margin: 0;\n", "}\n", "\n", ".xr-dim-list li {\n", " display: inline-block;\n", " padding: 0;\n", " margin: 0;\n", "}\n", "\n", ".xr-dim-list:before {\n", " content: \"(\";\n", "}\n", "\n", ".xr-dim-list:after {\n", " content: \")\";\n", "}\n", "\n", ".xr-dim-list li:not(:last-child):after {\n", " content: \",\";\n", " padding-right: 5px;\n", "}\n", "\n", ".xr-has-index {\n", " font-weight: bold;\n", "}\n", "\n", ".xr-var-list,\n", ".xr-var-item {\n", " display: contents;\n", "}\n", "\n", ".xr-var-item > div,\n", ".xr-var-item label,\n", ".xr-var-item > .xr-var-name span {\n", " background-color: var(--xr-background-color-row-even);\n", " margin-bottom: 0;\n", "}\n", "\n", ".xr-var-item > .xr-var-name:hover span {\n", " padding-right: 5px;\n", "}\n", "\n", ".xr-var-list > li:nth-child(odd) > div,\n", ".xr-var-list > li:nth-child(odd) > label,\n", ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n", " background-color: var(--xr-background-color-row-odd);\n", "}\n", "\n", ".xr-var-name {\n", " grid-column: 1;\n", "}\n", "\n", ".xr-var-dims {\n", " grid-column: 2;\n", "}\n", "\n", ".xr-var-dtype {\n", " grid-column: 3;\n", " text-align: right;\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-var-preview {\n", " grid-column: 4;\n", "}\n", "\n", ".xr-index-preview {\n", " grid-column: 2 / 5;\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", ".xr-preview,\n", ".xr-attrs dt {\n", " white-space: nowrap;\n", " overflow: hidden;\n", " text-overflow: ellipsis;\n", " padding-right: 10px;\n", "}\n", "\n", ".xr-var-name:hover,\n", ".xr-var-dims:hover,\n", ".xr-var-dtype:hover,\n", ".xr-attrs dt:hover {\n", " overflow: visible;\n", " width: auto;\n", " z-index: 1;\n", "}\n", "\n", ".xr-var-attrs,\n", ".xr-var-data,\n", ".xr-index-data {\n", " display: none;\n", " background-color: var(--xr-background-color) !important;\n", " padding-bottom: 5px !important;\n", "}\n", "\n", ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n", ".xr-var-data-in:checked ~ .xr-var-data,\n", ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", ".xr-var-data > table {\n", " float: right;\n", "}\n", "\n", ".xr-var-name span,\n", ".xr-var-data,\n", ".xr-index-name div,\n", ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", ".xr-var-data,\n", ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", "dl.xr-attrs {\n", " padding: 0;\n", " margin: 0;\n", " display: grid;\n", " grid-template-columns: 125px auto;\n", "}\n", "\n", ".xr-attrs dt,\n", ".xr-attrs dd {\n", " padding: 0;\n", " margin: 0;\n", " float: left;\n", " padding-right: 10px;\n", " width: auto;\n", "}\n", "\n", ".xr-attrs dt {\n", " font-weight: normal;\n", " grid-column: 1;\n", "}\n", "\n", ".xr-attrs dt:hover span {\n", " display: inline-block;\n", " background: var(--xr-background-color);\n", " padding-right: 10px;\n", "}\n", "\n", ".xr-attrs dd {\n", " grid-column: 2;\n", " white-space: pre-wrap;\n", " word-break: break-all;\n", "}\n", "\n", ".xr-icon-database,\n", ".xr-icon-file-text2,\n", ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", " height: 1.5em !important;\n", " stroke-width: 0;\n", " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", "</style><pre class='xr-text-repr-fallback'><xarray.Dataset> Size: 17kB\n", "Dimensions: (sample: 10, q: 100)\n", "Coordinates:\n", " * q (q) float64 800B 0.001 0.001072 0.00115 ... 0.8697 0.9326 1.0\n", "Dimensions without coordinates: sample\n", "Data variables:\n", " I (sample, q) float64 8kB 5.465e+03 4.598e+03 3.859e+03 ... 1.08 1.03\n", " dI (sample, q) float64 8kB 545.9 429.3 342.6 ... 0.1025 0.1025 0.1025\n", " model (sample) object 80B 'surface_fractal' ... 'surface_fractal'</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-4d174abd-4579-428d-8567-163caac45e2f' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-4d174abd-4579-428d-8567-163caac45e2f' class='xr-section-summary' title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span>sample</span>: 10</li><li><span class='xr-has-index'>q</span>: 100</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-53b0af27-cd9d-48ae-93d1-a6b66b4d2176' class='xr-section-summary-in' type='checkbox' checked><label for='section-53b0af27-cd9d-48ae-93d1-a6b66b4d2176' class='xr-section-summary' >Coordinates: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>q</span></div><div class='xr-var-dims'>(q)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.001 0.001072 ... 0.9326 1.0</div><input id='attrs-bd500c0e-ebff-4644-8f87-b94e9eb798b1' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-bd500c0e-ebff-4644-8f87-b94e9eb798b1' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-818a7046-8050-4d11-aea7-1b9f3c199f0e' class='xr-var-data-in' type='checkbox'><label for='data-818a7046-8050-4d11-aea7-1b9f3c199f0e' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([0.001 , 0.001072, 0.00115 , 0.001233, 0.001322, 0.001417, 0.00152 ,\n", " 0.00163 , 0.001748, 0.001874, 0.002009, 0.002154, 0.00231 , 0.002477,\n", " 0.002656, 0.002848, 0.003054, 0.003275, 0.003511, 0.003765, 0.004037,\n", " 0.004329, 0.004642, 0.004977, 0.005337, 0.005722, 0.006136, 0.006579,\n", " 0.007055, 0.007565, 0.008111, 0.008697, 0.009326, 0.01 , 0.010723,\n", " 0.011498, 0.012328, 0.013219, 0.014175, 0.015199, 0.016298, 0.017475,\n", " 0.018738, 0.020092, 0.021544, 0.023101, 0.024771, 0.026561, 0.02848 ,\n", " 0.030539, 0.032745, 0.035112, 0.037649, 0.04037 , 0.043288, 0.046416,\n", " 0.04977 , 0.053367, 0.057224, 0.061359, 0.065793, 0.070548, 0.075646,\n", " 0.081113, 0.086975, 0.09326 , 0.1 , 0.107227, 0.114976, 0.123285,\n", " 0.132194, 0.141747, 0.151991, 0.162975, 0.174753, 0.187382, 0.200923,\n", " 0.215443, 0.231013, 0.247708, 0.265609, 0.284804, 0.305386, 0.327455,\n", " 0.351119, 0.376494, 0.403702, 0.432876, 0.464159, 0.497702, 0.53367 ,\n", " 0.572237, 0.613591, 0.657933, 0.70548 , 0.756463, 0.811131, 0.869749,\n", " 0.932603, 1. ])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-d6278ecf-c439-4ae4-b20e-a86a3d1815c0' class='xr-section-summary-in' type='checkbox' checked><label for='section-d6278ecf-c439-4ae4-b20e-a86a3d1815c0' class='xr-section-summary' >Data variables: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>I</span></div><div class='xr-var-dims'>(sample, q)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>5.465e+03 4.598e+03 ... 1.08 1.03</div><input id='attrs-5957302e-9bb1-4cd6-9a2e-4be5e29bb3ad' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-5957302e-9bb1-4cd6-9a2e-4be5e29bb3ad' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-07168c48-df0e-490c-bbf7-3b2391c828bd' class='xr-var-data-in' type='checkbox'><label for='data-07168c48-df0e-490c-bbf7-3b2391c828bd' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[5.46461639e+03, 4.59795217e+03, 3.85947764e+03, 2.63116991e+03,\n", " 2.07431068e+03, 1.90372910e+03, 1.52919611e+03, 1.18680603e+03,\n", " 7.97363765e+02, 7.32615952e+02, 5.66816880e+02, 4.94345998e+02,\n", " 3.36397055e+02, 2.37278594e+02, 2.42920544e+02, 1.34983362e+02,\n", " 1.34237874e+02, 1.03846296e+02, 8.29189655e+01, 6.83701899e+01,\n", " 6.63256975e+01, 5.12285645e+01, 3.69922707e+01, 3.39076629e+01,\n", " 2.18803647e+01, 1.73545761e+01, 1.72935304e+01, 1.36371299e+01,\n", " 9.99274093e+00, 7.57838776e+00, 8.03734181e+00, 4.79334463e+00,\n", " 4.52480217e+00, 4.12653133e+00, 4.02874009e+00, 3.03039434e+00,\n", " 2.64512398e+00, 2.08340062e+00, 2.06956646e+00, 1.77666195e+00,\n", " 1.34466308e+00, 1.58804022e+00, 1.50286123e+00, 1.39259080e+00,\n", " 1.22861525e+00, 1.06093375e+00, 8.70672131e-01, 1.11665926e+00,\n", " 1.18944518e+00, 1.15730959e+00, 1.12048958e+00, 1.01513955e+00,\n", " 1.12226043e+00, 1.09654942e+00, 9.54941615e-01, 1.05883843e+00,\n", " 9.34551784e-01, 1.03722137e+00, 8.53878098e-01, 8.59529011e-01,\n", " 1.08092481e+00, 1.06762940e+00, 1.03679594e+00, 9.82713801e-01,\n", " 7.40669867e-01, 9.65608102e-01, 1.01661701e+00, 9.20115667e-01,\n", " 9.02574126e-01, 1.11192951e+00, 9.65555406e-01, 1.01544208e+00,\n", " 1.04633562e+00, 8.73818665e-01, 9.89752619e-01, 1.09906348e+00,\n", " 1.14751493e+00, 9.74729174e-01, 9.47722591e-01, 9.96916206e-01,\n", "...\n", " 1.68659503e+01, 1.21223648e+01, 1.11133601e+01, 9.10365006e+00,\n", " 6.73558113e+00, 6.97103702e+00, 5.41643178e+00, 4.37274298e+00,\n", " 3.67703675e+00, 3.36002895e+00, 2.99974570e+00, 2.50035574e+00,\n", " 1.61113936e+00, 2.02067402e+00, 1.56634607e+00, 1.64317783e+00,\n", " 1.33669955e+00, 1.24903013e+00, 1.54373516e+00, 1.26632138e+00,\n", " 1.20500451e+00, 1.26988377e+00, 1.13266379e+00, 1.38916806e+00,\n", " 1.09384785e+00, 1.14612961e+00, 1.19638613e+00, 1.25087240e+00,\n", " 9.88833790e-01, 1.01563593e+00, 1.18758077e+00, 1.13285017e+00,\n", " 1.15581064e+00, 8.97716447e-01, 1.19776362e+00, 9.56081475e-01,\n", " 1.05285363e+00, 1.01616943e+00, 9.39712262e-01, 8.83827077e-01,\n", " 8.49052391e-01, 1.03995513e+00, 8.70505949e-01, 9.10332790e-01,\n", " 1.00401302e+00, 7.55334842e-01, 1.10578357e+00, 7.78503133e-01,\n", " 1.01759208e+00, 1.02694203e+00, 1.08046813e+00, 1.02094522e+00,\n", " 1.23201786e+00, 1.04727214e+00, 1.13305453e+00, 9.50861724e-01,\n", " 1.03736647e+00, 1.18358616e+00, 1.00058403e+00, 1.04463379e+00,\n", " 1.12544799e+00, 9.48836608e-01, 8.03361737e-01, 1.05108694e+00,\n", " 1.12621544e+00, 8.86376068e-01, 1.09356943e+00, 1.09425776e+00,\n", " 7.91869799e-01, 9.28915087e-01, 9.84303854e-01, 1.00646082e+00,\n", " 9.48707402e-01, 9.43185820e-01, 1.19617226e+00, 1.01384350e+00,\n", " 9.53633740e-01, 1.02064675e+00, 1.07991038e+00, 1.03015655e+00]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>dI</span></div><div class='xr-var-dims'>(sample, q)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>545.9 429.3 342.6 ... 0.1025 0.1025</div><input id='attrs-26e9b9b9-edcf-4379-ab6c-d0cc12247e42' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-26e9b9b9-edcf-4379-ab6c-d0cc12247e42' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-f65f3816-a404-4421-9017-f27e16cc5900' class='xr-var-data-in' type='checkbox'><label for='data-f65f3816-a404-4421-9017-f27e16cc5900' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[5.45853473e+02, 4.29328308e+02, 3.42588723e+02, 2.73192209e+02,\n", " 2.17856990e+02, 1.73733931e+02, 1.38551196e+02, 1.10497276e+02,\n", " 8.81277103e+01, 7.02907222e+01, 5.60679092e+01, 4.47269581e+01,\n", " 3.56839388e+01, 2.84732387e+01, 2.27235887e+01, 1.81389471e+01,\n", " 1.44832570e+01, 1.15682920e+01, 9.24396451e+00, 7.39059804e+00,\n", " 5.91276532e+00, 4.73437476e+00, 3.79475264e+00, 3.04551910e+00,\n", " 2.44809713e+00, 1.97172629e+00, 1.59187891e+00, 1.28899714e+00,\n", " 1.04748604e+00, 8.54910523e-01, 7.01355136e-01, 5.78913526e-01,\n", " 4.81281341e-01, 4.03431633e-01, 3.41356027e-01, 2.91858335e-01,\n", " 2.52389990e-01, 2.20918819e-01, 1.95824416e-01, 1.75814703e-01,\n", " 1.59859408e-01, 1.47137015e-01, 1.36992465e-01, 1.28903429e-01,\n", " 1.22453414e-01, 1.17310317e-01, 1.13209327e-01, 1.09939290e-01,\n", " 1.07331836e-01, 1.05252710e-01, 1.03594863e-01, 1.02272932e-01,\n", " 1.01218855e-01, 1.00378357e-01, 9.97081631e-02, 9.91737655e-02,\n", " 9.87476489e-02, 9.84078731e-02, 9.81369435e-02, 9.79209104e-02,\n", " 9.77486504e-02, 9.76112942e-02, 9.75017694e-02, 9.74144368e-02,\n", " 9.73447998e-02, 9.72892728e-02, 9.72449968e-02, 9.72096921e-02,\n", " 9.71815409e-02, 9.71590938e-02, 9.71411950e-02, 9.71269229e-02,\n", " 9.71155427e-02, 9.71064683e-02, 9.70992326e-02, 9.70934630e-02,\n", " 9.70888625e-02, 9.70851941e-02, 9.70822691e-02, 9.70799367e-02,\n", "...\n", " 1.60288535e+00, 1.32000197e+00, 1.09045307e+00, 9.04183049e-01,\n", " 7.53032148e-01, 6.30379054e-01, 5.30850825e-01, 4.50087527e-01,\n", " 3.84551243e-01, 3.31371090e-01, 2.88217459e-01, 2.53199961e-01,\n", " 2.24784619e-01, 2.01726672e-01, 1.83016041e-01, 1.67833091e-01,\n", " 1.55512715e-01, 1.45515208e-01, 1.37402619e-01, 1.30819567e-01,\n", " 1.25477676e-01, 1.21142939e-01, 1.17625467e-01, 1.14771176e-01,\n", " 1.12455029e-01, 1.10575566e-01, 1.09050454e-01, 1.07812885e-01,\n", " 1.06808646e-01, 1.05993745e-01, 1.05332484e-01, 1.04795897e-01,\n", " 1.04360477e-01, 1.04007151e-01, 1.03720440e-01, 1.03487786e-01,\n", " 1.03298995e-01, 1.03145799e-01, 1.03021487e-01, 1.02920612e-01,\n", " 1.02838756e-01, 1.02772333e-01, 1.02718434e-01, 1.02674696e-01,\n", " 1.02639205e-01, 1.02610405e-01, 1.02587035e-01, 1.02568071e-01,\n", " 1.02552683e-01, 1.02540196e-01, 1.02530063e-01, 1.02521841e-01,\n", " 1.02515169e-01, 1.02509755e-01, 1.02505361e-01, 1.02501796e-01,\n", " 1.02498903e-01, 1.02496556e-01, 1.02494651e-01, 1.02493105e-01,\n", " 1.02491851e-01, 1.02490833e-01, 1.02490007e-01, 1.02489337e-01,\n", " 1.02488793e-01, 1.02488352e-01, 1.02487994e-01, 1.02487703e-01,\n", " 1.02487467e-01, 1.02487276e-01, 1.02487121e-01, 1.02486995e-01,\n", " 1.02486892e-01, 1.02486809e-01, 1.02486742e-01, 1.02486687e-01,\n", " 1.02486643e-01, 1.02486607e-01, 1.02486578e-01, 1.02486554e-01]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>model</span></div><div class='xr-var-dims'>(sample)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>'surface_fractal' ... 'surface_f...</div><input id='attrs-5e6552eb-a54e-477a-b010-983cc9380c11' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-5e6552eb-a54e-477a-b010-983cc9380c11' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-9d765da9-88e3-4972-b8de-4f947a57026e' class='xr-var-data-in' type='checkbox'><label for='data-9d765da9-88e3-4972-b8de-4f947a57026e' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array(['surface_fractal', 'surface_fractal', 'surface_fractal',\n", " 'surface_fractal', 'surface_fractal', 'surface_fractal',\n", " 'surface_fractal', 'surface_fractal', 'surface_fractal',\n", " 'surface_fractal'], dtype=object)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-178db3a8-f705-402b-a553-ab84770eb194' class='xr-section-summary-in' type='checkbox' ><label for='section-178db3a8-f705-402b-a553-ab84770eb194' class='xr-section-summary' >Indexes: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>q</div></div><div class='xr-index-preview'>PandasIndex</div><input type='checkbox' disabled/><label></label><input id='index-97d29c93-9eb0-4456-9142-89a2b0880e5f' class='xr-index-data-in' type='checkbox'/><label for='index-97d29c93-9eb0-4456-9142-89a2b0880e5f' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([ 0.001, 0.0010722672220103231, 0.0011497569953977356,\n", " 0.0012328467394420659, 0.0013219411484660286, 0.0014174741629268048,\n", " 0.0015199110829529332, 0.0016297508346206436, 0.001747528400007683,\n", " 0.001873817422860383, 0.002009233002565048, 0.0021544346900318843,\n", " 0.0023101297000831605, 0.0024770763559917113, 0.0026560877829466868,\n", " 0.002848035868435802, 0.0030538555088334154, 0.0032745491628777285,\n", " 0.003511191734215131, 0.0037649358067924675, 0.004037017258596553,\n", " 0.004328761281083057, 0.004641588833612782, 0.004977023564332114,\n", " 0.005336699231206312, 0.00572236765935022, 0.006135907273413176,\n", " 0.006579332246575682, 0.007054802310718645, 0.007564633275546291,\n", " 0.008111308307896872, 0.008697490026177835, 0.0093260334688322,\n", " 0.01, 0.010722672220103232, 0.011497569953977356,\n", " 0.012328467394420659, 0.013219411484660293, 0.014174741629268055,\n", " 0.01519911082952934, 0.016297508346206444, 0.01747528400007684,\n", " 0.01873817422860384, 0.02009233002565047, 0.021544346900318846,\n", " 0.023101297000831605, 0.024770763559917114, 0.026560877829466867,\n", " 0.02848035868435802, 0.030538555088334154, 0.03274549162877728,\n", " 0.03511191734215131, 0.037649358067924674, 0.04037017258596556,\n", " 0.04328761281083059, 0.046415888336127795, 0.049770235643321115,\n", " 0.0533669923120631, 0.05722367659350217, 0.06135907273413173,\n", " 0.06579332246575682, 0.07054802310718646, 0.07564633275546291,\n", " 0.08111308307896872, 0.08697490026177834, 0.093260334688322,\n", " 0.1, 0.10722672220103231, 0.11497569953977356,\n", " 0.12328467394420659, 0.13219411484660287, 0.14174741629268048,\n", " 0.1519911082952933, 0.16297508346206452, 0.1747528400007685,\n", " 0.1873817422860385, 0.2009233002565048, 0.21544346900318845,\n", " 0.23101297000831603, 0.24770763559917114, 0.26560877829466867,\n", " 0.2848035868435802, 0.30538555088334157, 0.32745491628777285,\n", " 0.3511191734215131, 0.37649358067924676, 0.40370172585965536,\n", " 0.4328761281083057, 0.4641588833612782, 0.49770235643321137,\n", " 0.5336699231206312, 0.572236765935022, 0.6135907273413176,\n", " 0.6579332246575682, 0.7054802310718645, 0.7564633275546291,\n", " 0.8111308307896873, 0.8697490026177834, 0.9326033468832199,\n", " 1.0],\n", " dtype='float64', name='q'))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-965b6865-55dd-4bf5-bff0-3619e9eacfc9' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-965b6865-55dd-4bf5-bff0-3619e9eacfc9' class='xr-section-summary' title='Expand/collapse section'>Attributes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'></dl></div></li></ul></div></div>" ], "text/plain": [ "<xarray.Dataset> Size: 17kB\n", "Dimensions: (sample: 10, q: 100)\n", "Coordinates:\n", " * q (q) float64 800B 0.001 0.001072 0.00115 ... 0.8697 0.9326 1.0\n", "Dimensions without coordinates: sample\n", "Data variables:\n", " I (sample, q) float64 8kB 5.465e+03 4.598e+03 3.859e+03 ... 1.08 1.03\n", " dI (sample, q) float64 8kB 545.9 429.3 342.6 ... 0.1025 0.1025 0.1025\n", " model (sample) object 80B 'surface_fractal' ... 'surface_fractal'" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from AFL.double_agent.data import example_dataset2\n", "\n", "# Load example dataset and select the mass_fractal model\n", "ds = example_dataset2()\n", "ds = ds.where(ds.model == 'surface_fractal',drop=True)\n", "ds" ] }, { "cell_type": "markdown", "id": "6e449bc1", "metadata": {}, "source": [ "Let's plot the data so we can see what we're trying to fit." ] }, { "cell_type": "code", "execution_count": 7, "id": "2190e8e9", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ds.I.plot.line(x='q',xscale='log',yscale='log',marker='.',ls='None',add_legend=False);" ] }, { "cell_type": "markdown", "id": "10d84ef0", "metadata": {}, "source": [ "## Defining the Fit\n", "The first step to AutoSAS is to define which models we'd like to fit. Let's start with a single model\n", "\n", "The model inputs are defined as a list of dictionaries, where each dictionary specifies:\n", "- `name`: A user-defined name for the model\n", "- `sasmodel`: The name of the model in the sasmodels library to use\n", "- `q_min`: the minimum q_value to consider in the fit\n", "- `q_max`: the maximum q_value to consider in the fit\n", "- `fit_params`: A dictionary of parameters for the model, where:\n", " - the `value` field determines the initial starting value for the parameter optimization\n", " - the `bounds` field determines the range that the optimizer can use to fit the data. Restricting this range is very important to achieving a proper fit\n", " - Parameters with \"bounds\" will be fit within those bounds\n", " - Parameters without bounds will be held constant at the specified value\n", "\n", "In the example below, \"power\" and \"scale\" will be fit since they have bounds,\n", "while \"background\" will be held constant at 1.0\n" ] }, { "cell_type": "code", "execution_count": 8, "id": "dc5b21d3", "metadata": {}, "outputs": [], "source": [ "model_inputs = [\n", " {\n", " \"name\": \"surface_fractal\", # your name for the model, can be anything\n", " \"sasmodel\": \"power_law\", # the name of the sasmodel in the sasmodels library\n", " 'q_min':0.001,\n", " 'q_max':1.0,\n", " \"fit_params\": {\n", " \"power\": {\"value\": 4, \"bounds\": (3, 4)},\n", " \"scale\": {\"value\": 1.0, \"bounds\": (1e-6,1e-3)},\n", " \"background\": {\"value\": 1.0,},\n", " },\n", " },\n", "]" ] }, { "cell_type": "markdown", "id": "cc651207", "metadata": {}, "source": [ "Now we'll create a `Pipeline` with a single `AutoSAS` pipeline operation.\n", "\n", "The AutoSAS pipeline operation takes several key arguments:\n", "\n", "- `sas_variable`: The name of the variable containing the SAS intensity data\n", "- `sas_err_variable`: The name of the variable containing the uncertainty in the intensity data\n", "- `q_dim`: The name of the dimension containing the q values\n", "- `output_prefix`: A prefix to add to all output variables from the fit\n", "- `model_inputs`: A list of dictionaries defining the models to fit, as described above\n", "\n", "Additional optional arguments include:\n", "- `sample_dim`: The name of the sample dimension (default: 'sample')\n", "- `fit_range`: A tuple of (qmin, qmax) to restrict the q range used for fitting\n", "- `max_evals`: Maximum number of function evaluations for the fit (default: 1000)\n", "- `method`: The optimization method to use (default: 'leastsq')\n" ] }, { "cell_type": "markdown", "id": "254188b5", "metadata": {}, "source": [ "## Building and Executing the Pipeline" ] }, { "cell_type": "code", "execution_count": 14, "id": "9b922aa6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PipelineOp input_variable ---> output_variable\n", "---------- -----------------------------------\n", "0 ) <AutoSAS> ['q', 'I', 'dI'] ---> ['fit_all_chisq']\n", "\n", "Input Variables\n", "---------------\n", "0) q\n", "1) I\n", "2) dI\n", "\n", "Output Variables\n", "----------------\n", "0) fit_all_chisq\n" ] } ], "source": [ "with Pipeline() as p:\n", " AutoSAS(\n", " sas_variable='I',\n", " sas_err_variable='dI',\n", " q_variable = 'q',\n", " output_prefix='fit',\n", " model_inputs=model_inputs,\n", " )\n", "p.print()" ] }, { "cell_type": "markdown", "id": "a075d4fa", "metadata": {}, "source": [ "Now we're ready to fit! " ] }, { "cell_type": "code", "execution_count": 15, "id": "c5f26b01", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "ba4489e9ae734d3cbee4e75bb67063a3", "version_major": 2, "version_minor": 0 }, "text/plain": [ " 0%| | 0/1 [00:00<?, ?it/s]" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n", "<defs>\n", "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n", "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n", "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n", "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n", "</symbol>\n", "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n", "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n", "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", "</symbol>\n", "</defs>\n", "</svg>\n", "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n", " *\n", " */\n", "\n", ":root {\n", " --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n", " --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n", " --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n", " --xr-border-color: var(--jp-border-color2, #e0e0e0);\n", " --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n", " --xr-background-color: var(--jp-layout-color0, white);\n", " --xr-background-color-row-even: var(--jp-layout-color1, white);\n", " --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n", "}\n", "\n", "html[theme=\"dark\"],\n", "html[data-theme=\"dark\"],\n", "body[data-theme=\"dark\"],\n", "body.vscode-dark {\n", " --xr-font-color0: rgba(255, 255, 255, 1);\n", " --xr-font-color2: rgba(255, 255, 255, 0.54);\n", " --xr-font-color3: rgba(255, 255, 255, 0.38);\n", " --xr-border-color: #1f1f1f;\n", " --xr-disabled-color: #515151;\n", " --xr-background-color: #111111;\n", " --xr-background-color-row-even: #111111;\n", " --xr-background-color-row-odd: #313131;\n", "}\n", "\n", ".xr-wrap {\n", " display: block !important;\n", " min-width: 300px;\n", " max-width: 700px;\n", "}\n", "\n", ".xr-text-repr-fallback {\n", " /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n", " display: none;\n", "}\n", "\n", ".xr-header {\n", " padding-top: 6px;\n", " padding-bottom: 6px;\n", " margin-bottom: 4px;\n", " border-bottom: solid 1px var(--xr-border-color);\n", "}\n", "\n", ".xr-header > div,\n", ".xr-header > ul {\n", " display: inline;\n", " margin-top: 0;\n", " margin-bottom: 0;\n", "}\n", "\n", ".xr-obj-type,\n", ".xr-array-name {\n", " margin-left: 2px;\n", " margin-right: 10px;\n", "}\n", "\n", ".xr-obj-type {\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-sections {\n", " padding-left: 0 !important;\n", " display: grid;\n", " grid-template-columns: 150px auto auto 1fr 0 20px 0 20px;\n", "}\n", "\n", ".xr-section-item {\n", " display: contents;\n", "}\n", "\n", ".xr-section-item input {\n", " display: inline-block;\n", " opacity: 0;\n", " height: 0;\n", "}\n", "\n", ".xr-section-item input + label {\n", " color: var(--xr-disabled-color);\n", "}\n", "\n", ".xr-section-item input:enabled + label {\n", " cursor: pointer;\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-section-item input:focus + label {\n", " border: 2px solid var(--xr-font-color0);\n", "}\n", "\n", ".xr-section-item input:enabled + label:hover {\n", " color: var(--xr-font-color0);\n", "}\n", "\n", ".xr-section-summary {\n", " grid-column: 1;\n", " color: var(--xr-font-color2);\n", " font-weight: 500;\n", "}\n", "\n", ".xr-section-summary > span {\n", " display: inline-block;\n", " padding-left: 0.5em;\n", "}\n", "\n", ".xr-section-summary-in:disabled + label {\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-section-summary-in + label:before {\n", " display: inline-block;\n", " content: \"►\";\n", " font-size: 11px;\n", " width: 15px;\n", " text-align: center;\n", "}\n", "\n", ".xr-section-summary-in:disabled + label:before {\n", " color: var(--xr-disabled-color);\n", "}\n", "\n", ".xr-section-summary-in:checked + label:before {\n", " content: \"▼\";\n", "}\n", "\n", ".xr-section-summary-in:checked + label > span {\n", " display: none;\n", "}\n", "\n", ".xr-section-summary,\n", ".xr-section-inline-details {\n", " padding-top: 4px;\n", " padding-bottom: 4px;\n", "}\n", "\n", ".xr-section-inline-details {\n", " grid-column: 2 / -1;\n", "}\n", "\n", ".xr-section-details {\n", " display: none;\n", " grid-column: 1 / -1;\n", " margin-bottom: 5px;\n", "}\n", "\n", ".xr-section-summary-in:checked ~ .xr-section-details {\n", " display: contents;\n", "}\n", "\n", ".xr-array-wrap {\n", " grid-column: 1 / -1;\n", " display: grid;\n", " grid-template-columns: 20px auto;\n", "}\n", "\n", ".xr-array-wrap > label {\n", " grid-column: 1;\n", " vertical-align: top;\n", "}\n", "\n", ".xr-preview {\n", " color: var(--xr-font-color3);\n", "}\n", "\n", ".xr-array-preview,\n", ".xr-array-data {\n", " padding: 0 5px !important;\n", " grid-column: 2;\n", "}\n", "\n", ".xr-array-data,\n", ".xr-array-in:checked ~ .xr-array-preview {\n", " display: none;\n", "}\n", "\n", ".xr-array-in:checked ~ .xr-array-data,\n", ".xr-array-preview {\n", " display: inline-block;\n", "}\n", "\n", ".xr-dim-list {\n", " display: inline-block !important;\n", " list-style: none;\n", " padding: 0 !important;\n", " margin: 0;\n", "}\n", "\n", ".xr-dim-list li {\n", " display: inline-block;\n", " padding: 0;\n", " margin: 0;\n", "}\n", "\n", ".xr-dim-list:before {\n", " content: \"(\";\n", "}\n", "\n", ".xr-dim-list:after {\n", " content: \")\";\n", "}\n", "\n", ".xr-dim-list li:not(:last-child):after {\n", " content: \",\";\n", " padding-right: 5px;\n", "}\n", "\n", ".xr-has-index {\n", " font-weight: bold;\n", "}\n", "\n", ".xr-var-list,\n", ".xr-var-item {\n", " display: contents;\n", "}\n", "\n", ".xr-var-item > div,\n", ".xr-var-item label,\n", ".xr-var-item > .xr-var-name span {\n", " background-color: var(--xr-background-color-row-even);\n", " margin-bottom: 0;\n", "}\n", "\n", ".xr-var-item > .xr-var-name:hover span {\n", " padding-right: 5px;\n", "}\n", "\n", ".xr-var-list > li:nth-child(odd) > div,\n", ".xr-var-list > li:nth-child(odd) > label,\n", ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n", " background-color: var(--xr-background-color-row-odd);\n", "}\n", "\n", ".xr-var-name {\n", " grid-column: 1;\n", "}\n", "\n", ".xr-var-dims {\n", " grid-column: 2;\n", "}\n", "\n", ".xr-var-dtype {\n", " grid-column: 3;\n", " text-align: right;\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-var-preview {\n", " grid-column: 4;\n", "}\n", "\n", ".xr-index-preview {\n", " grid-column: 2 / 5;\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", ".xr-preview,\n", ".xr-attrs dt {\n", " white-space: nowrap;\n", " overflow: hidden;\n", " text-overflow: ellipsis;\n", " padding-right: 10px;\n", "}\n", "\n", ".xr-var-name:hover,\n", ".xr-var-dims:hover,\n", ".xr-var-dtype:hover,\n", ".xr-attrs dt:hover {\n", " overflow: visible;\n", " width: auto;\n", " z-index: 1;\n", "}\n", "\n", ".xr-var-attrs,\n", ".xr-var-data,\n", ".xr-index-data {\n", " display: none;\n", " background-color: var(--xr-background-color) !important;\n", " padding-bottom: 5px !important;\n", "}\n", "\n", ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n", ".xr-var-data-in:checked ~ .xr-var-data,\n", ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", ".xr-var-data > table {\n", " float: right;\n", "}\n", "\n", ".xr-var-name span,\n", ".xr-var-data,\n", ".xr-index-name div,\n", ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", ".xr-var-data,\n", ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", "dl.xr-attrs {\n", " padding: 0;\n", " margin: 0;\n", " display: grid;\n", " grid-template-columns: 125px auto;\n", "}\n", "\n", ".xr-attrs dt,\n", ".xr-attrs dd {\n", " padding: 0;\n", " margin: 0;\n", " float: left;\n", " padding-right: 10px;\n", " width: auto;\n", "}\n", "\n", ".xr-attrs dt {\n", " font-weight: normal;\n", " grid-column: 1;\n", "}\n", "\n", ".xr-attrs dt:hover span {\n", " display: inline-block;\n", " background: var(--xr-background-color);\n", " padding-right: 10px;\n", "}\n", "\n", ".xr-attrs dd {\n", " grid-column: 2;\n", " white-space: pre-wrap;\n", " word-break: break-all;\n", "}\n", "\n", ".xr-icon-database,\n", ".xr-icon-file-text2,\n", ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", " height: 1.5em !important;\n", " stroke-width: 0;\n", " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", "</style><pre class='xr-text-repr-fallback'><xarray.Dataset> Size: 35kB\n", "Dimensions: (sample: 10, q: 100, models: 1,\n", " surface_fractal_params: 3,\n", " fit_q_surface_fractal: 100)\n", "Coordinates:\n", " * q (q) float64 800B 0.001 0.001072 ... 0.9326 1.0\n", " * models (models) <U15 60B 'surface_fractal'\n", " * surface_fractal_params (surface_fractal_params) <U26 312B 'surface_fr...\n", " * fit_q_surface_fractal (fit_q_surface_fractal) float64 800B 0.001 ......\n", "Dimensions without coordinates: sample\n", "Data variables:\n", " I (sample, q) float64 8kB 5.465e+03 ... 1.03\n", " dI (sample, q) float64 8kB 545.9 429.3 ... 0.1025\n", " model (sample) object 80B 'surface_fractal' ... 'sur...\n", " sas_fit_sample (sample) int64 80B 0 1 2 3 4 5 6 7 8 9\n", " fit_all_chisq (sample, models) float64 80B 1.023 ... 1.083\n", " probabilities (sample, models) float64 80B 1.0 1.0 ... 1.0 1.0\n", " surface_fractal_fit_val (surface_fractal_params, sample) float64 240B ...\n", " surface_fractal_fit_err (surface_fractal_params, sample) float64 240B ...\n", " fit_I_surface_fractal (sample, fit_q_surface_fractal) float64 8kB 5....\n", " residuals_surface_fractal (sample, fit_q_surface_fractal) float64 8kB -0...</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-8ca0fffd-1c5e-4570-881a-8748a42e6fb9' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-8ca0fffd-1c5e-4570-881a-8748a42e6fb9' class='xr-section-summary' title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span>sample</span>: 10</li><li><span class='xr-has-index'>q</span>: 100</li><li><span class='xr-has-index'>models</span>: 1</li><li><span class='xr-has-index'>surface_fractal_params</span>: 3</li><li><span class='xr-has-index'>fit_q_surface_fractal</span>: 100</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-f0b7f1aa-99cd-46b6-ba6b-8f7f83d33600' class='xr-section-summary-in' type='checkbox' checked><label for='section-f0b7f1aa-99cd-46b6-ba6b-8f7f83d33600' class='xr-section-summary' >Coordinates: <span>(4)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>q</span></div><div class='xr-var-dims'>(q)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.001 0.001072 ... 0.9326 1.0</div><input id='attrs-6de2e0f2-cd22-4cc4-b928-d85cdf514f0a' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-6de2e0f2-cd22-4cc4-b928-d85cdf514f0a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5450a4d7-a62f-487e-98b1-b8fc1d1361d8' class='xr-var-data-in' type='checkbox'><label for='data-5450a4d7-a62f-487e-98b1-b8fc1d1361d8' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([0.001 , 0.001072, 0.00115 , 0.001233, 0.001322, 0.001417, 0.00152 ,\n", " 0.00163 , 0.001748, 0.001874, 0.002009, 0.002154, 0.00231 , 0.002477,\n", " 0.002656, 0.002848, 0.003054, 0.003275, 0.003511, 0.003765, 0.004037,\n", " 0.004329, 0.004642, 0.004977, 0.005337, 0.005722, 0.006136, 0.006579,\n", " 0.007055, 0.007565, 0.008111, 0.008697, 0.009326, 0.01 , 0.010723,\n", " 0.011498, 0.012328, 0.013219, 0.014175, 0.015199, 0.016298, 0.017475,\n", " 0.018738, 0.020092, 0.021544, 0.023101, 0.024771, 0.026561, 0.02848 ,\n", " 0.030539, 0.032745, 0.035112, 0.037649, 0.04037 , 0.043288, 0.046416,\n", " 0.04977 , 0.053367, 0.057224, 0.061359, 0.065793, 0.070548, 0.075646,\n", " 0.081113, 0.086975, 0.09326 , 0.1 , 0.107227, 0.114976, 0.123285,\n", " 0.132194, 0.141747, 0.151991, 0.162975, 0.174753, 0.187382, 0.200923,\n", " 0.215443, 0.231013, 0.247708, 0.265609, 0.284804, 0.305386, 0.327455,\n", " 0.351119, 0.376494, 0.403702, 0.432876, 0.464159, 0.497702, 0.53367 ,\n", " 0.572237, 0.613591, 0.657933, 0.70548 , 0.756463, 0.811131, 0.869749,\n", " 0.932603, 1. ])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>models</span></div><div class='xr-var-dims'>(models)</div><div class='xr-var-dtype'><U15</div><div class='xr-var-preview xr-preview'>'surface_fractal'</div><input id='attrs-0e0bbcb4-9dd0-4e22-9b6f-8754b900da34' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-0e0bbcb4-9dd0-4e22-9b6f-8754b900da34' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-138cfc5b-a254-4c01-b42b-326c77c3cfe8' class='xr-var-data-in' type='checkbox'><label for='data-138cfc5b-a254-4c01-b42b-326c77c3cfe8' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array(['surface_fractal'], dtype='<U15')</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>surface_fractal_params</span></div><div class='xr-var-dims'>(surface_fractal_params)</div><div class='xr-var-dtype'><U26</div><div class='xr-var-preview xr-preview'>'surface_fractal_power' ... 'sur...</div><input id='attrs-7e65be5c-7bc5-4944-abb2-64dee6c3a312' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-7e65be5c-7bc5-4944-abb2-64dee6c3a312' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-49d481f3-5649-4f4c-878d-7a9483f74e08' class='xr-var-data-in' type='checkbox'><label for='data-49d481f3-5649-4f4c-878d-7a9483f74e08' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array(['surface_fractal_power', 'surface_fractal_scale',\n", " 'surface_fractal_background'], dtype='<U26')</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>fit_q_surface_fractal</span></div><div class='xr-var-dims'>(fit_q_surface_fractal)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.001 0.001072 ... 0.9326 1.0</div><input id='attrs-586f5d42-627a-4399-85dd-e2768a17006b' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-586f5d42-627a-4399-85dd-e2768a17006b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5d1a52e1-7170-48d3-b71f-e070f042a8cb' class='xr-var-data-in' type='checkbox'><label for='data-5d1a52e1-7170-48d3-b71f-e070f042a8cb' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([0.001 , 0.001072, 0.00115 , 0.001233, 0.001322, 0.001417, 0.00152 ,\n", " 0.00163 , 0.001748, 0.001874, 0.002009, 0.002154, 0.00231 , 0.002477,\n", " 0.002656, 0.002848, 0.003054, 0.003275, 0.003511, 0.003765, 0.004037,\n", " 0.004329, 0.004642, 0.004977, 0.005337, 0.005722, 0.006136, 0.006579,\n", " 0.007055, 0.007565, 0.008111, 0.008697, 0.009326, 0.01 , 0.010723,\n", " 0.011498, 0.012328, 0.013219, 0.014175, 0.015199, 0.016298, 0.017475,\n", " 0.018738, 0.020092, 0.021544, 0.023101, 0.024771, 0.026561, 0.02848 ,\n", " 0.030539, 0.032745, 0.035112, 0.037649, 0.04037 , 0.043288, 0.046416,\n", " 0.04977 , 0.053367, 0.057224, 0.061359, 0.065793, 0.070548, 0.075646,\n", " 0.081113, 0.086975, 0.09326 , 0.1 , 0.107227, 0.114976, 0.123285,\n", " 0.132194, 0.141747, 0.151991, 0.162975, 0.174753, 0.187382, 0.200923,\n", " 0.215443, 0.231013, 0.247708, 0.265609, 0.284804, 0.305386, 0.327455,\n", " 0.351119, 0.376494, 0.403702, 0.432876, 0.464159, 0.497702, 0.53367 ,\n", " 0.572237, 0.613591, 0.657933, 0.70548 , 0.756463, 0.811131, 0.869749,\n", " 0.932603, 1. ])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-951a91c3-2580-4eb0-ad8b-294f4de1ead9' class='xr-section-summary-in' type='checkbox' checked><label for='section-951a91c3-2580-4eb0-ad8b-294f4de1ead9' class='xr-section-summary' >Data variables: <span>(10)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>I</span></div><div class='xr-var-dims'>(sample, q)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>5.465e+03 4.598e+03 ... 1.08 1.03</div><input id='attrs-425e395b-3c0c-4d2a-ba7e-5d08f0ba43c3' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-425e395b-3c0c-4d2a-ba7e-5d08f0ba43c3' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5b2cf8a8-c6b1-46d6-a490-cdca0e66e6bc' class='xr-var-data-in' type='checkbox'><label for='data-5b2cf8a8-c6b1-46d6-a490-cdca0e66e6bc' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[5.46461639e+03, 4.59795217e+03, 3.85947764e+03, 2.63116991e+03,\n", " 2.07431068e+03, 1.90372910e+03, 1.52919611e+03, 1.18680603e+03,\n", " 7.97363765e+02, 7.32615952e+02, 5.66816880e+02, 4.94345998e+02,\n", " 3.36397055e+02, 2.37278594e+02, 2.42920544e+02, 1.34983362e+02,\n", " 1.34237874e+02, 1.03846296e+02, 8.29189655e+01, 6.83701899e+01,\n", " 6.63256975e+01, 5.12285645e+01, 3.69922707e+01, 3.39076629e+01,\n", " 2.18803647e+01, 1.73545761e+01, 1.72935304e+01, 1.36371299e+01,\n", " 9.99274093e+00, 7.57838776e+00, 8.03734181e+00, 4.79334463e+00,\n", " 4.52480217e+00, 4.12653133e+00, 4.02874009e+00, 3.03039434e+00,\n", " 2.64512398e+00, 2.08340062e+00, 2.06956646e+00, 1.77666195e+00,\n", " 1.34466308e+00, 1.58804022e+00, 1.50286123e+00, 1.39259080e+00,\n", " 1.22861525e+00, 1.06093375e+00, 8.70672131e-01, 1.11665926e+00,\n", " 1.18944518e+00, 1.15730959e+00, 1.12048958e+00, 1.01513955e+00,\n", " 1.12226043e+00, 1.09654942e+00, 9.54941615e-01, 1.05883843e+00,\n", " 9.34551784e-01, 1.03722137e+00, 8.53878098e-01, 8.59529011e-01,\n", " 1.08092481e+00, 1.06762940e+00, 1.03679594e+00, 9.82713801e-01,\n", " 7.40669867e-01, 9.65608102e-01, 1.01661701e+00, 9.20115667e-01,\n", " 9.02574126e-01, 1.11192951e+00, 9.65555406e-01, 1.01544208e+00,\n", " 1.04633562e+00, 8.73818665e-01, 9.89752619e-01, 1.09906348e+00,\n", " 1.14751493e+00, 9.74729174e-01, 9.47722591e-01, 9.96916206e-01,\n", "...\n", " 1.68659503e+01, 1.21223648e+01, 1.11133601e+01, 9.10365006e+00,\n", " 6.73558113e+00, 6.97103702e+00, 5.41643178e+00, 4.37274298e+00,\n", " 3.67703675e+00, 3.36002895e+00, 2.99974570e+00, 2.50035574e+00,\n", " 1.61113936e+00, 2.02067402e+00, 1.56634607e+00, 1.64317783e+00,\n", " 1.33669955e+00, 1.24903013e+00, 1.54373516e+00, 1.26632138e+00,\n", " 1.20500451e+00, 1.26988377e+00, 1.13266379e+00, 1.38916806e+00,\n", " 1.09384785e+00, 1.14612961e+00, 1.19638613e+00, 1.25087240e+00,\n", " 9.88833790e-01, 1.01563593e+00, 1.18758077e+00, 1.13285017e+00,\n", " 1.15581064e+00, 8.97716447e-01, 1.19776362e+00, 9.56081475e-01,\n", " 1.05285363e+00, 1.01616943e+00, 9.39712262e-01, 8.83827077e-01,\n", " 8.49052391e-01, 1.03995513e+00, 8.70505949e-01, 9.10332790e-01,\n", " 1.00401302e+00, 7.55334842e-01, 1.10578357e+00, 7.78503133e-01,\n", " 1.01759208e+00, 1.02694203e+00, 1.08046813e+00, 1.02094522e+00,\n", " 1.23201786e+00, 1.04727214e+00, 1.13305453e+00, 9.50861724e-01,\n", " 1.03736647e+00, 1.18358616e+00, 1.00058403e+00, 1.04463379e+00,\n", " 1.12544799e+00, 9.48836608e-01, 8.03361737e-01, 1.05108694e+00,\n", " 1.12621544e+00, 8.86376068e-01, 1.09356943e+00, 1.09425776e+00,\n", " 7.91869799e-01, 9.28915087e-01, 9.84303854e-01, 1.00646082e+00,\n", " 9.48707402e-01, 9.43185820e-01, 1.19617226e+00, 1.01384350e+00,\n", " 9.53633740e-01, 1.02064675e+00, 1.07991038e+00, 1.03015655e+00]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>dI</span></div><div class='xr-var-dims'>(sample, q)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>545.9 429.3 342.6 ... 0.1025 0.1025</div><input id='attrs-2923d464-4e35-4056-8e15-b38fdfe6a9c8' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-2923d464-4e35-4056-8e15-b38fdfe6a9c8' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-63db9829-2543-4acc-aa17-82b22994d7be' class='xr-var-data-in' type='checkbox'><label for='data-63db9829-2543-4acc-aa17-82b22994d7be' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[5.45853473e+02, 4.29328308e+02, 3.42588723e+02, 2.73192209e+02,\n", " 2.17856990e+02, 1.73733931e+02, 1.38551196e+02, 1.10497276e+02,\n", " 8.81277103e+01, 7.02907222e+01, 5.60679092e+01, 4.47269581e+01,\n", " 3.56839388e+01, 2.84732387e+01, 2.27235887e+01, 1.81389471e+01,\n", " 1.44832570e+01, 1.15682920e+01, 9.24396451e+00, 7.39059804e+00,\n", " 5.91276532e+00, 4.73437476e+00, 3.79475264e+00, 3.04551910e+00,\n", " 2.44809713e+00, 1.97172629e+00, 1.59187891e+00, 1.28899714e+00,\n", " 1.04748604e+00, 8.54910523e-01, 7.01355136e-01, 5.78913526e-01,\n", " 4.81281341e-01, 4.03431633e-01, 3.41356027e-01, 2.91858335e-01,\n", " 2.52389990e-01, 2.20918819e-01, 1.95824416e-01, 1.75814703e-01,\n", " 1.59859408e-01, 1.47137015e-01, 1.36992465e-01, 1.28903429e-01,\n", " 1.22453414e-01, 1.17310317e-01, 1.13209327e-01, 1.09939290e-01,\n", " 1.07331836e-01, 1.05252710e-01, 1.03594863e-01, 1.02272932e-01,\n", " 1.01218855e-01, 1.00378357e-01, 9.97081631e-02, 9.91737655e-02,\n", " 9.87476489e-02, 9.84078731e-02, 9.81369435e-02, 9.79209104e-02,\n", " 9.77486504e-02, 9.76112942e-02, 9.75017694e-02, 9.74144368e-02,\n", " 9.73447998e-02, 9.72892728e-02, 9.72449968e-02, 9.72096921e-02,\n", " 9.71815409e-02, 9.71590938e-02, 9.71411950e-02, 9.71269229e-02,\n", " 9.71155427e-02, 9.71064683e-02, 9.70992326e-02, 9.70934630e-02,\n", " 9.70888625e-02, 9.70851941e-02, 9.70822691e-02, 9.70799367e-02,\n", "...\n", " 1.60288535e+00, 1.32000197e+00, 1.09045307e+00, 9.04183049e-01,\n", " 7.53032148e-01, 6.30379054e-01, 5.30850825e-01, 4.50087527e-01,\n", " 3.84551243e-01, 3.31371090e-01, 2.88217459e-01, 2.53199961e-01,\n", " 2.24784619e-01, 2.01726672e-01, 1.83016041e-01, 1.67833091e-01,\n", " 1.55512715e-01, 1.45515208e-01, 1.37402619e-01, 1.30819567e-01,\n", " 1.25477676e-01, 1.21142939e-01, 1.17625467e-01, 1.14771176e-01,\n", " 1.12455029e-01, 1.10575566e-01, 1.09050454e-01, 1.07812885e-01,\n", " 1.06808646e-01, 1.05993745e-01, 1.05332484e-01, 1.04795897e-01,\n", " 1.04360477e-01, 1.04007151e-01, 1.03720440e-01, 1.03487786e-01,\n", " 1.03298995e-01, 1.03145799e-01, 1.03021487e-01, 1.02920612e-01,\n", " 1.02838756e-01, 1.02772333e-01, 1.02718434e-01, 1.02674696e-01,\n", " 1.02639205e-01, 1.02610405e-01, 1.02587035e-01, 1.02568071e-01,\n", " 1.02552683e-01, 1.02540196e-01, 1.02530063e-01, 1.02521841e-01,\n", " 1.02515169e-01, 1.02509755e-01, 1.02505361e-01, 1.02501796e-01,\n", " 1.02498903e-01, 1.02496556e-01, 1.02494651e-01, 1.02493105e-01,\n", " 1.02491851e-01, 1.02490833e-01, 1.02490007e-01, 1.02489337e-01,\n", " 1.02488793e-01, 1.02488352e-01, 1.02487994e-01, 1.02487703e-01,\n", " 1.02487467e-01, 1.02487276e-01, 1.02487121e-01, 1.02486995e-01,\n", " 1.02486892e-01, 1.02486809e-01, 1.02486742e-01, 1.02486687e-01,\n", " 1.02486643e-01, 1.02486607e-01, 1.02486578e-01, 1.02486554e-01]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>model</span></div><div class='xr-var-dims'>(sample)</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>'surface_fractal' ... 'surface_f...</div><input id='attrs-ed966931-ec8c-41fd-8d8b-62ba2571f0a6' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-ed966931-ec8c-41fd-8d8b-62ba2571f0a6' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-bece4cb1-e2da-4bc5-9bcb-7c0498949eec' class='xr-var-data-in' type='checkbox'><label for='data-bece4cb1-e2da-4bc5-9bcb-7c0498949eec' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array(['surface_fractal', 'surface_fractal', 'surface_fractal',\n", " 'surface_fractal', 'surface_fractal', 'surface_fractal',\n", " 'surface_fractal', 'surface_fractal', 'surface_fractal',\n", " 'surface_fractal'], dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>sas_fit_sample</span></div><div class='xr-var-dims'>(sample)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>0 1 2 3 4 5 6 7 8 9</div><input id='attrs-76dfb351-1fe0-4f30-b8bd-ab27c6a1fd07' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-76dfb351-1fe0-4f30-b8bd-ab27c6a1fd07' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-7fe2ae6e-c4da-47cd-9994-322aa4978f36' class='xr-var-data-in' type='checkbox'><label for='data-7fe2ae6e-c4da-47cd-9994-322aa4978f36' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>name :</span></dt><dd>AutoSAS</dd><dt><span>input_variable :</span></dt><dd>['q', 'I', 'dI']</dd><dt><span>output_variable :</span></dt><dd>['fit_all_chisq']</dd><dt><span>input_prefix :</span></dt><dd>None</dd><dt><span>output_prefix :</span></dt><dd>fit</dd><dt><span>server_id :</span></dt><dd>None</dd><dt><span>fit_method :</span></dt><dd>None</dd><dt><span>model_inputs :</span></dt><dd>[{'name': 'surface_fractal', 'sasmodel': 'power_law', 'q_min': 0.001, 'q_max': 1.0, 'fit_params': {'power': {'value': 4, 'bounds': (3, 4)}, 'scale': {'value': 1.0, 'bounds': (1e-06, 0.001)}, 'background': {'value': 1.0}}}]</dd><dt><span>results :</span></dt><dd>{}</dd><dt><span>q_variable :</span></dt><dd>q</dd><dt><span>sas_variable :</span></dt><dd>I</dd><dt><span>sas_err_variable :</span></dt><dd>dI</dd><dt><span>resolution :</span></dt><dd>None</dd><dt><span>sample_dim :</span></dt><dd>sample</dd><dt><span>model_dim :</span></dt><dd>models</dd><dt><span>q_min :</span></dt><dd>None</dd><dt><span>q_max :</span></dt><dd>None</dd></dl></div><div class='xr-var-data'><pre>array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>fit_all_chisq</span></div><div class='xr-var-dims'>(sample, models)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>1.023 1.054 1.081 ... 0.8714 1.083</div><input id='attrs-4282fcf8-7a33-468d-a704-ee82aa6d99f3' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-4282fcf8-7a33-468d-a704-ee82aa6d99f3' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-d138bbee-c235-4324-af3b-50f0a2514042' class='xr-var-data-in' type='checkbox'><label for='data-d138bbee-c235-4324-af3b-50f0a2514042' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>fit_calc_id :</span></dt><dd>ASAS-bf662339-c545-40e6-81bf-a64080926da1</dd><dt><span>name :</span></dt><dd>AutoSAS</dd><dt><span>input_variable :</span></dt><dd>['q', 'I', 'dI']</dd><dt><span>output_variable :</span></dt><dd>['fit_all_chisq']</dd><dt><span>input_prefix :</span></dt><dd>None</dd><dt><span>output_prefix :</span></dt><dd>fit</dd><dt><span>server_id :</span></dt><dd>None</dd><dt><span>fit_method :</span></dt><dd>None</dd><dt><span>model_inputs :</span></dt><dd>[{'name': 'surface_fractal', 'sasmodel': 'power_law', 'q_min': 0.001, 'q_max': 1.0, 'fit_params': {'power': {'value': 4, 'bounds': (3, 4)}, 'scale': {'value': 1.0, 'bounds': (1e-06, 0.001)}, 'background': {'value': 1.0}}}]</dd><dt><span>results :</span></dt><dd>{}</dd><dt><span>q_variable :</span></dt><dd>q</dd><dt><span>sas_variable :</span></dt><dd>I</dd><dt><span>sas_err_variable :</span></dt><dd>dI</dd><dt><span>resolution :</span></dt><dd>None</dd><dt><span>sample_dim :</span></dt><dd>sample</dd><dt><span>model_dim :</span></dt><dd>models</dd><dt><span>q_min :</span></dt><dd>None</dd><dt><span>q_max :</span></dt><dd>None</dd></dl></div><div class='xr-var-data'><pre>array([[1.02275423],\n", " [1.05413472],\n", " [1.08126923],\n", " [0.83661143],\n", " [0.89258149],\n", " [0.93121783],\n", " [0.92739433],\n", " [1.07638344],\n", " [0.87140495],\n", " [1.08324978]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>probabilities</span></div><div class='xr-var-dims'>(sample, models)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>1.0 1.0 1.0 1.0 ... 1.0 1.0 1.0 1.0</div><input id='attrs-1460428b-2a0a-47eb-a122-62f063107ac2' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-1460428b-2a0a-47eb-a122-62f063107ac2' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-706e4f13-389e-44a8-bddd-33635383009d' class='xr-var-data-in' type='checkbox'><label for='data-706e4f13-389e-44a8-bddd-33635383009d' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>name :</span></dt><dd>AutoSAS</dd><dt><span>input_variable :</span></dt><dd>['q', 'I', 'dI']</dd><dt><span>output_variable :</span></dt><dd>['fit_all_chisq']</dd><dt><span>input_prefix :</span></dt><dd>None</dd><dt><span>output_prefix :</span></dt><dd>fit</dd><dt><span>server_id :</span></dt><dd>None</dd><dt><span>fit_method :</span></dt><dd>None</dd><dt><span>model_inputs :</span></dt><dd>[{'name': 'surface_fractal', 'sasmodel': 'power_law', 'q_min': 0.001, 'q_max': 1.0, 'fit_params': {'power': {'value': 4, 'bounds': (3, 4)}, 'scale': {'value': 1.0, 'bounds': (1e-06, 0.001)}, 'background': {'value': 1.0}}}]</dd><dt><span>results :</span></dt><dd>{}</dd><dt><span>q_variable :</span></dt><dd>q</dd><dt><span>sas_variable :</span></dt><dd>I</dd><dt><span>sas_err_variable :</span></dt><dd>dI</dd><dt><span>resolution :</span></dt><dd>None</dd><dt><span>sample_dim :</span></dt><dd>sample</dd><dt><span>model_dim :</span></dt><dd>models</dd><dt><span>q_min :</span></dt><dd>None</dd><dt><span>q_max :</span></dt><dd>None</dd></dl></div><div class='xr-var-data'><pre>array([[1.],\n", " [1.],\n", " [1.],\n", " [1.],\n", " [1.],\n", " [1.],\n", " [1.],\n", " [1.],\n", " [1.],\n", " [1.]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>surface_fractal_fit_val</span></div><div class='xr-var-dims'>(surface_fractal_params, sample)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>3.243 3.163 3.086 ... 1.0 1.0 1.0</div><input id='attrs-4086c52d-abef-47ff-bcfd-8eb67398925b' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-4086c52d-abef-47ff-bcfd-8eb67398925b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-bad5ef23-a10d-49e6-98f6-8f0917625e3b' class='xr-var-data-in' type='checkbox'><label for='data-bad5ef23-a10d-49e6-98f6-8f0917625e3b' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>fit_calc_id :</span></dt><dd>ASAS-bf662339-c545-40e6-81bf-a64080926da1</dd><dt><span>name :</span></dt><dd>AutoSAS</dd><dt><span>input_variable :</span></dt><dd>['q', 'I', 'dI']</dd><dt><span>output_variable :</span></dt><dd>['fit_all_chisq']</dd><dt><span>input_prefix :</span></dt><dd>None</dd><dt><span>output_prefix :</span></dt><dd>fit</dd><dt><span>server_id :</span></dt><dd>None</dd><dt><span>fit_method :</span></dt><dd>None</dd><dt><span>model_inputs :</span></dt><dd>[{'name': 'surface_fractal', 'sasmodel': 'power_law', 'q_min': 0.001, 'q_max': 1.0, 'fit_params': {'power': {'value': 4, 'bounds': (3, 4)}, 'scale': {'value': 1.0, 'bounds': (1e-06, 0.001)}, 'background': {'value': 1.0}}}]</dd><dt><span>results :</span></dt><dd>{}</dd><dt><span>q_variable :</span></dt><dd>q</dd><dt><span>sas_variable :</span></dt><dd>I</dd><dt><span>sas_err_variable :</span></dt><dd>dI</dd><dt><span>resolution :</span></dt><dd>None</dd><dt><span>sample_dim :</span></dt><dd>sample</dd><dt><span>model_dim :</span></dt><dd>models</dd><dt><span>q_min :</span></dt><dd>None</dd><dt><span>q_max :</span></dt><dd>None</dd></dl></div><div class='xr-var-data'><pre>array([[3.24265739e+00, 3.16252070e+00, 3.08615609e+00, 3.15552503e+00,\n", " 3.05113167e+00, 3.25242366e+00, 3.03037286e+00, 3.00000000e+00,\n", " 3.00000000e+00, 3.00000000e+00],\n", " [1.00000000e-06, 1.00000000e-06, 1.00000000e-06, 1.24393004e-06,\n", " 1.00000000e-06, 1.11492212e-06, 1.00000000e-06, 1.00000000e-06,\n", " 1.00000000e-06, 1.00000000e-06],\n", " [1.00000000e+00, 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,\n", " 1.00000000e+00, 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,\n", " 1.00000000e+00, 1.00000000e+00]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>surface_fractal_fit_err</span></div><div class='xr-var-dims'>(surface_fractal_params, sample)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.0227 0.02407 0.02557 ... 0.0 0.0</div><input id='attrs-6896ac0f-924c-4804-98e5-b6d91ac817f9' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-6896ac0f-924c-4804-98e5-b6d91ac817f9' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-4f4243d9-3304-493d-9e35-5cbb995405d4' class='xr-var-data-in' type='checkbox'><label for='data-4f4243d9-3304-493d-9e35-5cbb995405d4' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>fit_calc_id :</span></dt><dd>ASAS-bf662339-c545-40e6-81bf-a64080926da1</dd><dt><span>name :</span></dt><dd>AutoSAS</dd><dt><span>input_variable :</span></dt><dd>['q', 'I', 'dI']</dd><dt><span>output_variable :</span></dt><dd>['fit_all_chisq']</dd><dt><span>input_prefix :</span></dt><dd>None</dd><dt><span>output_prefix :</span></dt><dd>fit</dd><dt><span>server_id :</span></dt><dd>None</dd><dt><span>fit_method :</span></dt><dd>None</dd><dt><span>model_inputs :</span></dt><dd>[{'name': 'surface_fractal', 'sasmodel': 'power_law', 'q_min': 0.001, 'q_max': 1.0, 'fit_params': {'power': {'value': 4, 'bounds': (3, 4)}, 'scale': {'value': 1.0, 'bounds': (1e-06, 0.001)}, 'background': {'value': 1.0}}}]</dd><dt><span>results :</span></dt><dd>{}</dd><dt><span>q_variable :</span></dt><dd>q</dd><dt><span>sas_variable :</span></dt><dd>I</dd><dt><span>sas_err_variable :</span></dt><dd>dI</dd><dt><span>resolution :</span></dt><dd>None</dd><dt><span>sample_dim :</span></dt><dd>sample</dd><dt><span>model_dim :</span></dt><dd>models</dd><dt><span>q_min :</span></dt><dd>None</dd><dt><span>q_max :</span></dt><dd>None</dd></dl></div><div class='xr-var-data'><pre>array([[2.27048704e-02, 2.40659471e-02, 2.55743991e-02, 2.29994739e-02,\n", " 2.63328387e-02, 2.28313482e-02, 2.70634988e-02, 2.78456852e-02,\n", " 2.78247365e-02, 2.77249316e-02],\n", " [1.30712675e-07, 1.39863344e-07, 1.49719861e-07, 1.64556199e-07,\n", " 1.55220020e-07, 1.45467891e-07, 1.59749280e-07, 1.64812550e-07,\n", " 1.64903795e-07, 1.64396226e-07],\n", " [0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", " 0.00000000e+00, 0.00000000e+00]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>fit_I_surface_fractal</span></div><div class='xr-var-dims'>(sample, fit_q_surface_fractal)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>5.346e+03 4.264e+03 ... 1.0 1.0</div><input id='attrs-a3053009-2c79-4641-94b2-08be772b7660' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-a3053009-2c79-4641-94b2-08be772b7660' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-6b6dff7f-af5d-4b80-b76e-95183a1d6136' class='xr-var-data-in' type='checkbox'><label for='data-6b6dff7f-af5d-4b80-b76e-95183a1d6136' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>name :</span></dt><dd>AutoSAS</dd><dt><span>input_variable :</span></dt><dd>['q', 'I', 'dI']</dd><dt><span>output_variable :</span></dt><dd>['fit_all_chisq']</dd><dt><span>input_prefix :</span></dt><dd>None</dd><dt><span>output_prefix :</span></dt><dd>fit</dd><dt><span>server_id :</span></dt><dd>None</dd><dt><span>fit_method :</span></dt><dd>None</dd><dt><span>model_inputs :</span></dt><dd>[{'name': 'surface_fractal', 'sasmodel': 'power_law', 'q_min': 0.001, 'q_max': 1.0, 'fit_params': {'power': {'value': 4, 'bounds': (3, 4)}, 'scale': {'value': 1.0, 'bounds': (1e-06, 0.001)}, 'background': {'value': 1.0}}}]</dd><dt><span>results :</span></dt><dd>{}</dd><dt><span>q_variable :</span></dt><dd>q</dd><dt><span>sas_variable :</span></dt><dd>I</dd><dt><span>sas_err_variable :</span></dt><dd>dI</dd><dt><span>resolution :</span></dt><dd>None</dd><dt><span>sample_dim :</span></dt><dd>sample</dd><dt><span>model_dim :</span></dt><dd>models</dd><dt><span>q_min :</span></dt><dd>None</dd><dt><span>q_max :</span></dt><dd>None</dd></dl></div><div class='xr-var-data'><pre>array([[5.34630102e+03, 4.26394591e+03, 3.40075387e+03, 2.71234719e+03,\n", " 2.16333405e+03, 1.72548905e+03, 1.37630207e+03, 1.09782099e+03,\n", " 8.75728761e+02, 6.98607372e+02, 5.57350799e+02, 4.44696876e+02,\n", " 3.54853932e+02, 2.83203035e+02, 2.26060529e+02, 1.80488650e+02,\n", " 1.44144493e+02, 1.15159564e+02, 9.20437118e+01, 7.36085243e+01,\n", " 5.89062265e+01, 4.71809561e+01, 3.78299030e+01, 3.03723185e+01,\n", " 2.44247996e+01, 1.96815772e+01, 1.58987967e+01, 1.28819809e+01,\n", " 1.04760317e+01, 8.55725643e+00, 7.02700863e+00, 5.80661645e+00,\n", " 4.83333808e+00, 4.05713613e+00, 3.43810516e+00, 2.94442004e+00,\n", " 2.55069984e+00, 2.23670295e+00, 1.98628642e+00, 1.78657603e+00,\n", " 1.62730444e+00, 1.50028331e+00, 1.39898234e+00, 1.31819352e+00,\n", " 1.25376340e+00, 1.20237956e+00, 1.16140028e+00, 1.12871879e+00,\n", " 1.10265488e+00, 1.08186858e+00, 1.06529124e+00, 1.05207060e+00,\n", " 1.04152697e+00, 1.03311829e+00, 1.02641226e+00, 1.02106411e+00,\n", " 1.01679890e+00, 1.01339734e+00, 1.01068455e+00, 1.00852106e+00,\n", " 1.00679566e+00, 1.00541962e+00, 1.00432222e+00, 1.00344702e+00,\n", " 1.00274905e+00, 1.00219240e+00, 1.00174847e+00, 1.00139442e+00,\n", " 1.00111207e+00, 1.00088689e+00, 1.00070731e+00, 1.00056409e+00,\n", " 1.00044987e+00, 1.00035877e+00, 1.00028613e+00, 1.00022819e+00,\n", " 1.00018198e+00, 1.00014513e+00, 1.00011575e+00, 1.00009231e+00,\n", "...\n", " 1.61991108e+01, 1.33284674e+01, 1.10000000e+01, 9.11130831e+00,\n", " 7.57933225e+00, 6.33669923e+00, 5.32876128e+00, 4.51119173e+00,\n", " 3.84803587e+00, 3.31012970e+00, 2.87381742e+00, 2.51991108e+00,\n", " 2.23284674e+00, 2.00000000e+00, 1.81113083e+00, 1.65793322e+00,\n", " 1.53366992e+00, 1.43287613e+00, 1.35111917e+00, 1.28480359e+00,\n", " 1.23101297e+00, 1.18738174e+00, 1.15199111e+00, 1.12328467e+00,\n", " 1.10000000e+00, 1.08111308e+00, 1.06579332e+00, 1.05336699e+00,\n", " 1.04328761e+00, 1.03511192e+00, 1.02848036e+00, 1.02310130e+00,\n", " 1.01873817e+00, 1.01519911e+00, 1.01232847e+00, 1.01000000e+00,\n", " 1.00811131e+00, 1.00657933e+00, 1.00533670e+00, 1.00432876e+00,\n", " 1.00351119e+00, 1.00284804e+00, 1.00231013e+00, 1.00187382e+00,\n", " 1.00151991e+00, 1.00123285e+00, 1.00100000e+00, 1.00081113e+00,\n", " 1.00065793e+00, 1.00053367e+00, 1.00043288e+00, 1.00035112e+00,\n", " 1.00028480e+00, 1.00023101e+00, 1.00018738e+00, 1.00015199e+00,\n", " 1.00012328e+00, 1.00010000e+00, 1.00008111e+00, 1.00006579e+00,\n", " 1.00005337e+00, 1.00004329e+00, 1.00003511e+00, 1.00002848e+00,\n", " 1.00002310e+00, 1.00001874e+00, 1.00001520e+00, 1.00001233e+00,\n", " 1.00001000e+00, 1.00000811e+00, 1.00000658e+00, 1.00000534e+00,\n", " 1.00000433e+00, 1.00000351e+00, 1.00000285e+00, 1.00000231e+00,\n", " 1.00000187e+00, 1.00000152e+00, 1.00000123e+00, 1.00000100e+00]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>residuals_surface_fractal</span></div><div class='xr-var-dims'>(sample, fit_q_surface_fractal)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-0.2168 -0.778 ... -0.7797 -0.2942</div><input id='attrs-7528d85a-a128-41d8-a8a3-8e56c7b08da7' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-7528d85a-a128-41d8-a8a3-8e56c7b08da7' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-068eac1e-2634-41f4-8edf-62699b3908c1' class='xr-var-data-in' type='checkbox'><label for='data-068eac1e-2634-41f4-8edf-62699b3908c1' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>name :</span></dt><dd>AutoSAS</dd><dt><span>input_variable :</span></dt><dd>['q', 'I', 'dI']</dd><dt><span>output_variable :</span></dt><dd>['fit_all_chisq']</dd><dt><span>input_prefix :</span></dt><dd>None</dd><dt><span>output_prefix :</span></dt><dd>fit</dd><dt><span>server_id :</span></dt><dd>None</dd><dt><span>fit_method :</span></dt><dd>None</dd><dt><span>model_inputs :</span></dt><dd>[{'name': 'surface_fractal', 'sasmodel': 'power_law', 'q_min': 0.001, 'q_max': 1.0, 'fit_params': {'power': {'value': 4, 'bounds': (3, 4)}, 'scale': {'value': 1.0, 'bounds': (1e-06, 0.001)}, 'background': {'value': 1.0}}}]</dd><dt><span>results :</span></dt><dd>{}</dd><dt><span>q_variable :</span></dt><dd>q</dd><dt><span>sas_variable :</span></dt><dd>I</dd><dt><span>sas_err_variable :</span></dt><dd>dI</dd><dt><span>resolution :</span></dt><dd>None</dd><dt><span>sample_dim :</span></dt><dd>sample</dd><dt><span>model_dim :</span></dt><dd>models</dd><dt><span>q_min :</span></dt><dd>None</dd><dt><span>q_max :</span></dt><dd>None</dd></dl></div><div class='xr-var-data'><pre>array([[-2.16752990e-01, -7.77973996e-01, -1.33899259e+00,\n", " 2.97143447e-01, 4.08632158e-01, -1.02593687e+00,\n", " -1.10352015e+00, -8.05314360e-01, 8.89220839e-01,\n", " -4.83827433e-01, -1.68832413e-01, -1.11004916e+00,\n", " 5.17232048e-01, 1.61289840e+00, -7.41960907e-01,\n", " 2.50870613e+00, 6.84004966e-01, 9.77954912e-01,\n", " 9.87103123e-01, 7.08783555e-01, -1.25482250e+00,\n", " -8.54940434e-01, 2.20734346e-01, -1.16083474e+00,\n", " 1.03935211e+00, 1.18018467e+00, -8.76155623e-01,\n", " -5.85842285e-01, 4.61381563e-01, 1.14499546e+00,\n", " -1.44054435e+00, 1.75029910e+00, 6.41071832e-01,\n", " -1.72012274e-01, -1.73026073e+00, -2.94575467e-01,\n", " -3.74119994e-01, 6.93930638e-01, -4.25279170e-01,\n", " 5.63893416e-02, 1.76806211e+00, -5.96429817e-01,\n", " -7.58281791e-01, -5.77155176e-01, 2.05369075e-01,\n", " 1.20574052e+00, 2.56805831e+00, 1.09692650e-01,\n", " -8.08616586e-01, -7.16760782e-01, -5.32828960e-01,\n", " 3.61102861e-01, -7.97612848e-01, -6.31920374e-01,\n", " 7.16798308e-01, -3.80890196e-01, 8.32902019e-01,\n", " -2.42094753e-01, 1.59783303e+00, 1.52155502e+00,\n", "...\n", " 1.64312351e-01, -2.31663902e+00, 5.47076823e-02,\n", " -5.87982736e-01, -1.19754487e+00, -1.83192763e+00,\n", " 5.09825983e-01, 1.83746553e-01, -1.51045913e+00,\n", " -1.04726311e+00, -1.31345192e+00, 1.12956333e+00,\n", " -1.78783612e+00, 5.21013424e-01, -4.33134095e-01,\n", " -9.29761128e-02, 6.36997576e-01, 1.17082169e+00,\n", " 1.50195127e+00, -3.61061144e-01, 1.28315996e+00,\n", " 8.91563656e-01, -2.42900244e-02, 2.39642368e+00,\n", " -1.02141144e+00, 2.16741911e+00, -1.65126360e-01,\n", " -2.57541586e-01, -7.80602840e-01, -2.00875219e-01,\n", " -2.26047582e+00, -4.58894121e-01, -1.29619708e+00,\n", " 4.80872224e-01, -3.63352066e-01, -1.79016906e+00,\n", " -4.90676381e-03, -4.34838968e-01, -1.22345948e+00,\n", " 4.99622042e-01, 1.91895172e+00, -4.98183170e-01,\n", " -1.23127939e+00, 1.10883498e+00, -9.12831116e-01,\n", " -9.19577950e-01, 2.03088443e+00, 6.93676589e-01,\n", " 1.53216571e-01, -6.29883384e-02, 5.00521825e-01,\n", " 5.54390285e-01, -1.91409547e+00, -1.35053495e-01,\n", " 4.52430996e-01, -2.01443216e-01, -7.79703544e-01,\n", " -2.94239072e-01]])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-f11d8ed1-c6ca-402f-919e-3d586a43eeac' class='xr-section-summary-in' type='checkbox' ><label for='section-f11d8ed1-c6ca-402f-919e-3d586a43eeac' class='xr-section-summary' >Indexes: <span>(4)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>q</div></div><div class='xr-index-preview'>PandasIndex</div><input type='checkbox' disabled/><label></label><input id='index-9f57a888-48de-42c1-9407-9c198d45407c' class='xr-index-data-in' type='checkbox'/><label for='index-9f57a888-48de-42c1-9407-9c198d45407c' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([ 0.001, 0.0010722672220103231, 0.0011497569953977356,\n", " 0.0012328467394420659, 0.0013219411484660286, 0.0014174741629268048,\n", " 0.0015199110829529332, 0.0016297508346206436, 0.001747528400007683,\n", " 0.001873817422860383, 0.002009233002565048, 0.0021544346900318843,\n", " 0.0023101297000831605, 0.0024770763559917113, 0.0026560877829466868,\n", " 0.002848035868435802, 0.0030538555088334154, 0.0032745491628777285,\n", " 0.003511191734215131, 0.0037649358067924675, 0.004037017258596553,\n", " 0.004328761281083057, 0.004641588833612782, 0.004977023564332114,\n", " 0.005336699231206312, 0.00572236765935022, 0.006135907273413176,\n", " 0.006579332246575682, 0.007054802310718645, 0.007564633275546291,\n", " 0.008111308307896872, 0.008697490026177835, 0.0093260334688322,\n", " 0.01, 0.010722672220103232, 0.011497569953977356,\n", " 0.012328467394420659, 0.013219411484660293, 0.014174741629268055,\n", " 0.01519911082952934, 0.016297508346206444, 0.01747528400007684,\n", " 0.01873817422860384, 0.02009233002565047, 0.021544346900318846,\n", " 0.023101297000831605, 0.024770763559917114, 0.026560877829466867,\n", " 0.02848035868435802, 0.030538555088334154, 0.03274549162877728,\n", " 0.03511191734215131, 0.037649358067924674, 0.04037017258596556,\n", " 0.04328761281083059, 0.046415888336127795, 0.049770235643321115,\n", " 0.0533669923120631, 0.05722367659350217, 0.06135907273413173,\n", " 0.06579332246575682, 0.07054802310718646, 0.07564633275546291,\n", " 0.08111308307896872, 0.08697490026177834, 0.093260334688322,\n", " 0.1, 0.10722672220103231, 0.11497569953977356,\n", " 0.12328467394420659, 0.13219411484660287, 0.14174741629268048,\n", " 0.1519911082952933, 0.16297508346206452, 0.1747528400007685,\n", " 0.1873817422860385, 0.2009233002565048, 0.21544346900318845,\n", " 0.23101297000831603, 0.24770763559917114, 0.26560877829466867,\n", " 0.2848035868435802, 0.30538555088334157, 0.32745491628777285,\n", " 0.3511191734215131, 0.37649358067924676, 0.40370172585965536,\n", " 0.4328761281083057, 0.4641588833612782, 0.49770235643321137,\n", " 0.5336699231206312, 0.572236765935022, 0.6135907273413176,\n", " 0.6579332246575682, 0.7054802310718645, 0.7564633275546291,\n", " 0.8111308307896873, 0.8697490026177834, 0.9326033468832199,\n", " 1.0],\n", " dtype='float64', name='q'))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>models</div></div><div class='xr-index-preview'>PandasIndex</div><input type='checkbox' disabled/><label></label><input id='index-89824c48-f9e3-42b2-aecf-952f79ce21f4' class='xr-index-data-in' type='checkbox'/><label for='index-89824c48-f9e3-42b2-aecf-952f79ce21f4' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index(['surface_fractal'], dtype='object', name='models'))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>surface_fractal_params</div></div><div class='xr-index-preview'>PandasIndex</div><input type='checkbox' disabled/><label></label><input id='index-6223f5cc-1ae3-456c-9acb-40cf624b583d' class='xr-index-data-in' type='checkbox'/><label for='index-6223f5cc-1ae3-456c-9acb-40cf624b583d' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index(['surface_fractal_power', 'surface_fractal_scale',\n", " 'surface_fractal_background'],\n", " dtype='object', name='surface_fractal_params'))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>fit_q_surface_fractal</div></div><div class='xr-index-preview'>PandasIndex</div><input type='checkbox' disabled/><label></label><input id='index-c114b8b6-3860-4158-9d3b-566509619a24' class='xr-index-data-in' type='checkbox'/><label for='index-c114b8b6-3860-4158-9d3b-566509619a24' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([ 0.001, 0.0010722672220103231, 0.0011497569953977356,\n", " 0.0012328467394420659, 0.0013219411484660286, 0.0014174741629268048,\n", " 0.0015199110829529332, 0.0016297508346206436, 0.001747528400007683,\n", " 0.001873817422860383, 0.002009233002565048, 0.0021544346900318843,\n", " 0.0023101297000831605, 0.0024770763559917113, 0.0026560877829466868,\n", " 0.002848035868435802, 0.0030538555088334154, 0.0032745491628777285,\n", " 0.003511191734215131, 0.0037649358067924675, 0.004037017258596553,\n", " 0.004328761281083057, 0.004641588833612782, 0.004977023564332114,\n", " 0.005336699231206312, 0.00572236765935022, 0.006135907273413176,\n", " 0.006579332246575682, 0.007054802310718645, 0.007564633275546291,\n", " 0.008111308307896872, 0.008697490026177835, 0.0093260334688322,\n", " 0.01, 0.010722672220103232, 0.011497569953977356,\n", " 0.012328467394420659, 0.013219411484660293, 0.014174741629268055,\n", " 0.01519911082952934, 0.016297508346206444, 0.01747528400007684,\n", " 0.01873817422860384, 0.02009233002565047, 0.021544346900318846,\n", " 0.023101297000831605, 0.024770763559917114, 0.026560877829466867,\n", " 0.02848035868435802, 0.030538555088334154, 0.03274549162877728,\n", " 0.03511191734215131, 0.037649358067924674, 0.04037017258596556,\n", " 0.04328761281083059, 0.046415888336127795, 0.049770235643321115,\n", " 0.0533669923120631, 0.05722367659350217, 0.06135907273413173,\n", " 0.06579332246575682, 0.07054802310718646, 0.07564633275546291,\n", " 0.08111308307896872, 0.08697490026177834, 0.093260334688322,\n", " 0.1, 0.10722672220103231, 0.11497569953977356,\n", " 0.12328467394420659, 0.13219411484660287, 0.14174741629268048,\n", " 0.1519911082952933, 0.16297508346206452, 0.1747528400007685,\n", " 0.1873817422860385, 0.2009233002565048, 0.21544346900318845,\n", " 0.23101297000831603, 0.24770763559917114, 0.26560877829466867,\n", " 0.2848035868435802, 0.30538555088334157, 0.32745491628777285,\n", " 0.3511191734215131, 0.37649358067924676, 0.40370172585965536,\n", " 0.4328761281083057, 0.4641588833612782, 0.49770235643321137,\n", " 0.5336699231206312, 0.572236765935022, 0.6135907273413176,\n", " 0.6579332246575682, 0.7054802310718645, 0.7564633275546291,\n", " 0.8111308307896873, 0.8697490026177834, 0.9326033468832199,\n", " 1.0],\n", " dtype='float64', name='fit_q_surface_fractal'))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-dea29b79-9c40-4b93-992b-028944d81c1c' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-dea29b79-9c40-4b93-992b-028944d81c1c' class='xr-section-summary' title='Expand/collapse section'>Attributes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'></dl></div></li></ul></div></div>" ], "text/plain": [ "<xarray.Dataset> Size: 35kB\n", "Dimensions: (sample: 10, q: 100, models: 1,\n", " surface_fractal_params: 3,\n", " fit_q_surface_fractal: 100)\n", "Coordinates:\n", " * q (q) float64 800B 0.001 0.001072 ... 0.9326 1.0\n", " * models (models) <U15 60B 'surface_fractal'\n", " * surface_fractal_params (surface_fractal_params) <U26 312B 'surface_fr...\n", " * fit_q_surface_fractal (fit_q_surface_fractal) float64 800B 0.001 ......\n", "Dimensions without coordinates: sample\n", "Data variables:\n", " I (sample, q) float64 8kB 5.465e+03 ... 1.03\n", " dI (sample, q) float64 8kB 545.9 429.3 ... 0.1025\n", " model (sample) object 80B 'surface_fractal' ... 'sur...\n", " sas_fit_sample (sample) int64 80B 0 1 2 3 4 5 6 7 8 9\n", " fit_all_chisq (sample, models) float64 80B 1.023 ... 1.083\n", " probabilities (sample, models) float64 80B 1.0 1.0 ... 1.0 1.0\n", " surface_fractal_fit_val (surface_fractal_params, sample) float64 240B ...\n", " surface_fractal_fit_err (surface_fractal_params, sample) float64 240B ...\n", " fit_I_surface_fractal (sample, fit_q_surface_fractal) float64 8kB 5....\n", " residuals_surface_fractal (sample, fit_q_surface_fractal) float64 8kB -0..." ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ds_result = p.calculate(ds)\n", "ds_result" ] }, { "cell_type": "markdown", "id": "ccc903fa", "metadata": {}, "source": [ "This is a large and complicated dataset, but it contains all of the information from the fit, including:\n", "\n", "- The fitted parameter values for each model (e.g. `surface_fractal_fit_val`) \n", "- The uncertainties in the fitted parameters (e.g. `surface_fractal_fit_err`)\n", "- The model intensities at each q value (e.g. `fit_I_surface_fractal`)\n", "- The residuals between the model and data (e.g. `residuals_surface_fractal`) \n", "- The chi-squared values for each fit (`fit_all_chisq`)\n", "- The q values used for the fit (e.g. `fit_q_surface_fractal`)\n", "\n", "We can use this information to evaluate the quality of the fits and compare different models. Let's plot some of the fits:" ] }, { "cell_type": "markdown", "id": "51db5d04", "metadata": {}, "source": [ "## Evaluating the Fit Results" ] }, { "cell_type": "code", "execution_count": 16, "id": "2785c78d", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data_index = 0\n", "ds_result.isel(sample=data_index).I.plot.line(x='q',xscale='log',yscale='log',marker='.',ls='None',add_legend=False);\n", "ds_result.isel(sample=data_index).fit_I_surface_fractal.plot.line(x='fit_q_surface_fractal',xscale='log',yscale='log',add_legend=False);" ] }, { "cell_type": "markdown", "id": "4a1ff133", "metadata": {}, "source": [ "The residuals (differences between the model and data) provide a key way to assess the quality of the fits. A good fit should show residuals that:\n", "\n", "1. Are randomly scattered around zero\n", "2. Have no clear systematic trends or patterns\n", "3. Are roughly within ±2-3 standard deviations of zero\n", "\n", "Let's plot the residuals for the first sample to assess the quality of our surface fractal fits:\n" ] }, { "cell_type": "code", "execution_count": 17, "id": "ebd345da", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<matplotlib.lines.Line2D at 0x312294050>" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ds_result.isel(sample=data_index).residuals_surface_fractal.plot( x='fit_q_surface_fractal', xscale='log', marker='.', ls='None', add_legend=False)\n", "plt.gca().axhline(y=0, color='k', linestyle='--', alpha=0.5)\n" ] }, { "cell_type": "markdown", "id": "eaad3f15", "metadata": {}, "source": [ "Vary the `data_index` variable from two cells up and see how well we fit each individual data.\n", "\n", "\n", "We can also plot the fit parameters" ] }, { "cell_type": "code", "execution_count": 18, "id": "d92d25fd", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 0, 'Sample index')" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAculJREFUeJzt3Qd40+X2B/DTvVs6KG1pKd3svbdsUIZb/qjgQAEHThTvVUTlAiJehggoblGcIFyZsvfesy2UQumAQvdu83/Om/5C2qalaZP8kvy+n+cJpEmavBlNTs57zvvaqFQqFQEAAAAoiK3cAwAAAAAwNQRAAAAAoDgIgAAAAEBxEAABAACA4iAAAgAAAMVBAAQAAACKgwAIAAAAFAcBEAAAACgOAiAAAABQHARAUG+xsbE0ePBg8vLyIhsbG1q9ejWZsw0bNlC7du3I2dlZjDcjI4MsSdOmTWn8+PFyDwNkMHfuXAoPDyc7OzvxGjZnOTk59Oyzz1JAQID4O3vllVfIknz77bdi3AkJCXIPBYzE3lhXDMoxbtw4unz5Ms2cOZMaNGhAnTp1InOVnp5OjzzyCLVs2ZIWL15MTk5O5ObmZrLbX7duHR08eJDef/99k90mWIdNmzbR1KlT6fHHHxevHz8/PzJn//nPf0QQ8e6771JERAQ1b97cZLedl5dHH3/8MfXr108cAHRBAAT1kp+fT/v27aN//etf9OKLL5K5O3ToEGVnZ9OHH35IAwcONPntcwDEgRcCINDX1q1bydbWlr766itydHQkSxhvt27daPr06Sa/bQ6AZsyYIY4jAILqYAoM6qSgoIDKysroxo0b4mfO/FiCtLS0Wo+X30Sh9nJzc+UeglWSXof82nVxcbGI4Ecab23+zqT3EjAPZWVl4jlRBN4NHqxPVlaWasqUKarQ0FCVo6OjqmHDhqqBAweqjhw5orkMnzdu3Lgqv9u3b19xkGzbtk3FL5Wff/5Z9a9//UsVFBSksrGxEdfPp2sf+DpZQkKCatKkSaro6GiVs7OzysfHR/XQQw+pLl++XOX2bt++rXrllVc0Y23cuLHqiSeeUN24cUNzmYKCAtV7772nioiIEJcJDg5Wvfnmm+L02uL7VHm80v3n81q2bKk6fPiwqnfv3ioXFxdx/9jq1atVw4cPVwUGBorbDg8PV33wwQeqkpKSKrexf/9+1bBhw1QNGjRQubq6qlq3bq2aP3++OI9vq/Lta/8Jzp07V9W9e3fxWPFj1qFDB9Vvv/1W5Taqe95qwrfzwgsvqH788UfxnDg5OYnr37FjR4XL1fZ5++abb8R1bt++XVyeX198n+tyHbt27VK99NJLKj8/P5WXl5fqueeeUxUWForXBb8O+Hr5wM93WVlZhevg1yTfD3d3d5WHh4eqVatWmsfbVDZt2qTq2bOnGLubm5u439OmTatyPyvff+nviv+XVPc61PW64etlX3/9teqee+4RzwG/Pps3b676/PPPdY513bp1qj59+mger06dOqlWrFhR5TU8ZMgQlaenp7h9vvzu3btr/XhI96vyge9/de8l/Fynp6erXn/9dfEc8uPI4xs6dKjq+PHjVW4jPz9fNX36dFVUVJR4LQcEBKjuv/9+VVxcnLgdXbfPl2cnTpwQfz9hYWHidxs1aqR66qmnVDdv3qxwG9U9bzXh2+DfOXfunOrhhx8W94Ff/y+//LIYs7bi4mLxPsLvJ/y88d81v26039NeffVV8fvar/sXX3xR3MaCBQs0p6WkpIjTtJ/32r5nktZ7Q4sWLVT29vaqVatWqZQAU2BWauLEifT777+LaakWLVqI2pfdu3fTuXPnqEOHDnW6Tp424m+fb7zxBhUWFtLw4cNFQe6rr75KY8aMET+7u7trppr27t1Ljz32GAUHB4tCwiVLloh09NmzZ8nV1VVTKNm7d28xrqefflqM7ebNm7RmzRq6du2aqHPgbyQjR44U43/uuedELcGpU6fov//9L128eLHWRdc8TRcTE0NffPEFffDBBxQWFiZqEyT8GA0bNkyMmessGjVqJE7nOga+X6+99pr4n1P77733HmVlZYmiVMnmzZvpvvvuo8DAQJoyZYoo/uT79b///U/8/Pzzz9P169fF5X744Ycq41uwYIG4n2PHjqWioiJauXIlPfzww+L37733XqqvHTt20C+//EIvv/yyqH36/PPPaejQoaImqVWrVno9b5LJkydTw4YNxeMhZYD0vY6XXnpJPFY8ZbF//37x/HDmgK+jSZMmopaEpw75seZxPvnkk5rHm193AwYMoDlz5ojT+PHes2ePeLxrcvv2bSotLb3rY8ZjrTxebWfOnBHPeZs2bcRrih/XuLg4MYa60vU65Lo6flz4uVq+fLm4XI8ePcT//NhyTRu/duzt7Wnt2rXieeG/mxdeeEFzvfw65r8xvuy0adPEY3zs2DHRFPB///d/4jL82ubb7tixo5i64im3b775hvr370+7du2iLl263HX8/PfJr29+X+Dn//XXXxen8+tEKiiu/F7Cx/m1wX/L/Jrnv83U1FRatmwZ9e3bV5wXFBQkfpefN37Mt2zZIh4jfq55WptfD6dPnxZT2/yYTJo0ie6//3564IEHxO/xc8T4cpcuXaKnnnpKvO74OeTHlv/n1x8XPtcX1xnye+OsWbPEdS5cuFC85r7//nvNZbhA/LvvvqOHHnpIPEYHDhwQl+fX8KpVq8Rl+L2R3+d4bNLfKD8P/Lzw//y3LJ3G+vTpI/7X9z1z69at9Ouvv4rPC37P5bErgtwRGBgHfxvlqL4m+maA+JtKXl5ehctK37Y4e6Gt8uXYvn37xGW///57zWn8DYVP+/PPP6tcXvrW88MPP6hsbW1FpkDb0qVLxe/u2bNHVVvSt7pDhw5Vuc98Ol9nZbruy/PPPy8yPNK3Kc4G8TdKfkz526yu+8H4Oanuz67y7RQVFYlvw/379zdIBogPnFmQXLlyRWRo+Juzvs+b9Dj26tWrSiZM3+vgbIP2Y8RZMM4KTJw4UXMa3wZ/g9V+XXJmhLMUujJxd8OPoa4sQXVZg+r897//FZfTzlZWpm8GqLrXIT/nnBmpTNfjzY8p/71KMjIyRDaia9euVTIR0mPP/3NGpfLzwdfPr+1Bgwap9H2M7733Xp33Wdd7Cf8tlZaWVjiNHzPO0nCmRMIZL76OTz/9tMptSuPm56O650/X48UZKb78zp07DZIBGjlyZIXTJ0+eLE7n7BPjrBb//Oyzz1a43BtvvCFO37p1q/g5LS2tQmaHn0d+L+TsEmeuJJxh0s4U6fOeSUTismfOnFEpDWqArBR/u+NvFJxxMGS3F9cg1Ib25YqLi8W32sjISDGuo0ePas77448/qG3btuKbWmXSN7HffvtNfINp1qyZyA5JB/5WyrZt22aAe0fi2zt/K6zpvvA3Tb5t/mbGtRnnz58Xp/M3ae6E41bfynUPtf1GqX07/G0xMzNT3I7241Uf3bt3F9/sJZxdGTVqFG3cuFGTDant8yaZMGGCaMmu7n7U5jqeeeaZCo9R165dOUIUp0v4NjgLwt/cJXx9nHXib/T6WrFihfi9ux2kbFN1pOf6r7/+MlgdS3Wvw+poP978muHXJ2dN+LHinxnfF37tvv3222L5B23SY3/8+HGxpAVng/g5k/7O+DHmLNvOnTsNdh91vZfw/ebMBuPXI4+BM66cta38nsFZCs4cVlabvzXt2+VaF76PXKzNDPW3pp15Y9JYOZOp/T9nlbVJ2bK///5bkzXj9z1+7BlnFvlv4c033xQZMn6+pAxQr1696vye2bdvXzFToDSYArNS3ALKbzIhISHiQ4+np/jNnNcQqStOS+vTHcbpXE6fJyUliQ80ifSmzOLj4+nBBx+s8br4j5zTwvxmUFNhc301btxYZ4Epp5///e9/izQxT3tpk+4L3w8mpanrgqe6PvroI/FBxNMCEkOk5FlUVFSV06Kjo0Ugx8XsPB1Q2+etpteEvtfBgZg2Xk+K8Wu38ukcGEp4mofT9jxlw88dr0XFUw88rXc3PXv2JEN49NFHxZQUT2dwcMGBAk+58LSG9GFuqNdhdfhDkaeruBuzcuE+P978uNXm9Sl9mPL7RnX4+ry9vam+dL1uOLjiaWCemuUvE9pTlL6+vprjfF84KOLpvrq4deuWmG7lKebK7x26Xp+G+FvjqXZ+PUhTgFeuXBE/8xcDbfw3yEE1ny/hL0FSwMSBDn8R4IOPj4/4madIT5w4oZnGrMt7Zpge7+3WBAGQleIPAv7D4blkXj+E6ye4TuLPP/8UHxg1fbDyG0/lb/Wsttkf6RsPfwByRoQzD9IiiTxnr++3SL5869at6dNPP9V5fuUPyrrSdf94kUT+duTp6SlqPPiNjL9B8zfFt956y2DfiPmNjOfseQ6fPwC4jsjBwUE8hj/99BOZir7Pm67HTN/r0PVaq+507WDK399fBIucwVq/fr048O1yoM+1FTXhgK82NUCcgZDq2nTh+8/fzvkbNX9r53oarrPib9r8d8f3oaa/s+qus7Y4GOCgi7/p898H/y1w8MQfmFzvoc/rU7osv1dUt8hiTY+FPnTdR6714jWDuE6Ja4T4A56DBH4dGbJLjN8bub6Msyh8P/k+8fVz4GysbrTqXgO1+XLDmZ0vv/xSZPT4fYLf1/n3+HT+mWujeNx8el3fM130eM1ZEwRAVow/RPlbMh844ucCY16sUAqA+JucrlWQ+dtHfTJFjAuw+ZvkvHnzKqSbK98eBxRcuFgTvgx/w+E3ekNlQ2pr+/btIhXPgaNUYMj4G2rlMTKpCLM61Y2f0/ocWPGHOU8FSPgD3VCkb/jauCCSi3ylb4q1fd5qYojrqC3+sB8xYoQ48Js+v9a5cJY/SCt/u9bWuXPnCt+yq8OZlbut2cQf0vza5AN/4PAHORfcc1DErwUpY1L5/tfm9u+GC545W8hNA9qZtMpTHNqvz+oeF+kyHOzLsUYWv27uuecesc6RNn7ctBd95HHy9D5Pr/KXBH3+zjiDyMXTnAHiwv2a/jbqg69PO6vChfH8+pSKi0NDQ8XPfDntBSJ5WovvL58vkQIbnsbkBgPONDJ+P+Jibw6AeDFX7eltOd8zLQlqgKwQf7OsnMrlb8v8h6I9tcJ/JNyhwB1H2tMwV69erfcY+Juv9rd1tmjRoirfenn6i/9Qpa4HbdLv8zc2nkrhb0G6pluMuf6MlIXQvi/8eHGWRhsHl/yGN3/+/CofdNq/K606XfkyUqZA+/HhdLkhtxXhKRLtGgd+nrl2haeOpPtZ2+etJoa4jtrgwLRyICJ1+mi/zo1ZA8TTKZVJ2RNpDFJgIdVxMH4suPPIGK9P/tuvHDjzc+zh4SGmJiuv8SL9Ln+A8lg/+eQT0Z1ZmbTml7Hoet1wLQv/7Vd+z+B6ls8++6zKdUi/L3Xu6fo7076chP9uDYkXO638+mfSl08uSdB1u1LGRrvrk99XeFqUM3oc9EnTtxwYcQaQA0euYdKeEpTzPdOSIANkhbjYkdtPuQ6BC4w5xfvPP/+Ibw/a38q5boH/eDj1y38w/Mf0448/VmgNrytuU+VWWJ7+4OI6/vDlMWjP5TNOQ/MYuPWVU9/8JswfKvyNdunSpWL8TzzxhKj14NZ+/mbLbwD8AcIFyHw6Z02Mtf0GtxrzN3jOaHDLKQcpfL8qv4Hyhy9/G+NMBH8AchErZ+B4jFxDxGNk0rc0vq4hQ4aIN2SeGuI3PH7z4+eC5/I5Y8dvovxt/eTJkwa5L1z/wbep3QbPpBVz9XneamKI66gNfv3ya4Wnm/j1zhkV/qDhx/9u2y4YqgaIp0U5sOHnj7+18/PGjyuPh6coGLed8wcUt57zeHlqh+tPSkpK6n37HNhIWTBeZoEDF/7Q4y88ycnJmstxVoc/QPkx4+wXv8b4dc1fPrhuiKcM+TXM9Uz8Ic1j5tcwf/DyByn/3fF1cMbJWPh1w48n3y7/3XHbNgeqlbPRHJRyOzkXEPOyABwI8Ac6v8Y4A8iF/Tylw689no7kOjd+zPn1zwfOnHCNJAcTfP94qrJyRre++Pp4Spv/nvn1z++r/Jjz+xnj//k9hYNgaZqd7ws/D6NHjxaZMG18H/k1w9NaUkaRv3TxFyrO4mrX/zA53zMtitxtaGB4vIgcL3jVtm1b0frKrbN8XNfiaPPmzRMLD3KrKS/mxm3S1bXB61qUr7o2eG4F58XFeHE7XnSNW2vPnz+vs4WbF0Djxb14HNKCXXwZ7YXJuCV8zpw5YpE4Hqu3t7eqY8eOqhkzZqgyMzMN0gbP160Lt4x269ZNLArHC7dNnTpVtXHjxiotzIwXjON2Yelxb9OmjWrRokWa87llmxf940XruNVb+0/wq6++0izs1qxZMzFWqa3WkAshSrfRvn37KuOv7fNW3eNoiOuQ7nPl1vLKbeC///67avDgwSp/f3/xumnSpIlYniA5OVllKlu2bFGNGjVKvC54DPz/mDFjVBcvXqxwufj4eLEQqbTw3jvvvKPavHlztQsh6lJdG/yaNWvE64yXNGjatKn4O5FaxSu3cPNle/ToIV7LvIRAly5dRAu4tmPHjqkeeOABla+vrxgvP2+PPPKIuK+GaoPX9V7CbfC8ECIvOMrj4/cjXj6h8vuR1MrOCylye76Dg4NYCJEX2+THWbJ3717xHsHPi3ZL/LVr18TSD7y4Ji8Xwi3l169fr9I2X582+LNnz4rx8PsAv1fx+5uuhRD5/Uu6DyEhIVUWQpQsXrxYXC8vMKqNX1N8uq7nprbvmVT+3qBENvyP3EEYABgXZ664NVfXtAEAGAbXi3FGlacLzX2zWkANEAAAACgQaoDAKnDhJxf31YTX2LA2KSkpNZ7PtRDSujoA9cV1JHcrhr7b0gGWiGurdBWGa6tuzR0wXwiAwCrwfkB3W/vFGmd7udC6JlxoyXtAARgCdw7ebdG82iwdYGm4M067WUAXQxdSg/GhBgisAm+WeLdtP+RY28TYuPOlJrz0gRKXuAfj4BZ63mCzJty1Vd91xMwNL0KovQ2LLtz1V3mbETBvCIAAAABAcVAEDQAAAIqDGiAdeIlynk7hlVOxjDgAAIBl4EktXgyYp//vtiExAiAdOPgx1AabAAAAYPqCfV6RvSYIgHTgzI/0APLy7wAAAGD+srKyRAJD+hyvCQIgHaRpLw5+EAABAABYltqUr6AIGgAAABQHARAAAAAoDgIgAAAAUBwEQAAAAKA4CIAAAABAcRAAAQAAgOIgAAIAAADFQQAEAAAAioMACAAAABQHK0EDABhQaZmKDl6+RWnZBeTv4UxdwnzIzhabKgOYGwRAAAAGsuF0Ms1Ye5aSMws0pwV6OdP0ES1oaKtAWccGABVhCgwAwEDBz6Qfj1YIflhKZoE4nc8HAPOBAAgAwADTXpz5Uek4TzqNz+fLAYB5kDUAWrJkCbVp00az63r37t1p/fr11V7+yy+/pN69e5O3t7c4DBw4kA4ePFjhMuPHjxe7wGofhg4daoJ7AwBKxTU/lTM/2jjs4fP5cgBgHmQNgIKDg2n27Nl05MgROnz4MPXv359GjRpFZ86c0Xn57du305gxY2jbtm20b98+CgkJocGDB1NSUlKFy3HAk5ycrDn8/PPPJrpHAKBEXPBsyMsBgJUXQY8YMaLCzzNnzhRZof3791PLli2rXH7FihUVfl6+fDn98ccftGXLFnryySc1pzs5OVFAQIARRw4AcAd3exnycgCgoBqg0tJSWrlyJeXm5oqpsNrIy8uj4uJi8vHxqZIp8vf3p5iYGJo0aRKlp6fXeD2FhYWUlZVV4QAAUFvc6s7dXtU1u/PpfD5fDgDMg+wB0KlTp8jd3V1kbSZOnEirVq2iFi1a1Op333rrLQoKChK1QNrTX99//73ICs2ZM4d27NhBw4YNEwFWdWbNmkVeXl6aA0+tAQDUFq/zw63uukhBEZ+P9YAAzIeNSqWStS2hqKiIEhMTKTMzk37//XcxrcVBy92CIK4d+vjjj0W2hwupq3Pp0iWKiIigf/75hwYMGFBtBogPEs4AcRDEY+LibACA2uBW9xd+Olah2wvrAAGYDn9+cyKjNp/fsi+E6OjoSJGRkeJ4x44d6dChQ7RgwQJatmxZtb/zySefiACIg5qagh8WHh5Ofn5+FBcXV20AxNknPgAA1Eef6IZVWt3/eqEn+Xui9gfA3Mg+BVZZWVlZhWxMZZz1+fDDD2nDhg3UqVOnu17ftWvXRA1QYCC+fQGAcV1IyRb/+7k7UYiPizgefyNX5lEBgNkFQNOmTaOdO3dSQkKCqAXin3lKa+zYseJ87uzi0yRc0/Puu+/S119/TU2bNqWUlBRxyMnJEefz/2+++aboIuPr5DogbqvnDNOQIUNku58AoAznktUBUIsgT4r29xDHY9PUpwGAeZF1CiwtLU0EObxWD8/Z8XTWxo0badCgQeJ8rg2ytb0To3GLPNcMPfTQQxWuZ/r06fT++++TnZ0dnTx5kr777jvKyMgQBdK8ThBnjMxhigubJAJYt7PJmeL/FoGeZGNDtOV8Gl1MRQAEYI5kDYC++uqrGs/nbJA2zurUxMXFRQRQ5gibJAJYv7PXszQZoNKyMnH8Yoo6Qw0A5sXsaoCsETZJBLB+nOE9X14DxBmg6EbqKbCLadkkc7MtAOiAAMjIsEkigDJcSc+lvKJScnawpTA/N4po6E48w52RV0w3sqtv7AAAeSAAMjJskgigDGeT1dNfMQGeorbP2cGOQn3dxGkXUzENBmBuEAAZGTZJBFBY/U/gncXXohu5i/9RCA1gfhAAGRk2SQRQVgaIC6AlmjogBEAAZgcBkJFhk0QAZTiXrCsDhAAIwFwhADLhJonVBUHYJBHAst3MKaTUrEKx9k+zAHXQox0AxabmoBMMwMwgADIBXudnyeMdKMCr4jSXnY0NffZ/7bEOEICVZH/CfN3IzenO8mrcDWZva0PZhSU1NkMAgOnJvhmqUnCQM6hFgOj2unY7j2asPUM5haVUii+FAFZTAN1cq/6HOdqrW+Jj03LENFhQA/X+YAAgP2SATIinubpH+NLDnUJoQu8IcdqS7fFIjQNYSwG0Vv2PBHVAAOYJAZBMxvUIJVdHO5E6337xhtzDAQADt8BXDYCwFhCAOUEAJJMGro70f12aaLJAAGCZCopLKf5GTpUWeAnWAgIwTwiAZPRM7zBysLMRdUFHrmAlaABLdCElm3gnG183R/L3cKpyfpRWJ1gZtrwBMBsIgGQU6OVC97dvLI4v2X5J7uEAQH3W/wnyJBvug6+kqa8rOdrZUn5xKSVl5MswQgDQBQGQzJ7vGyHWDvnnXCpS5ABWVgDN7O1sKbyhmyZbBADmAQGQzHjH6KEtA8TxpagFArDcAmgd9T9VCqHTEAABmAsEQGZgYl91S/xfJ66LNYIAwDJwTY80Bda8mgwQiylfHfoiMkAAZgMBkBloG9KAekb6UmmZipbvuiz3cACglhJv5VFuUalY8DDcTz3NpUuUv9QJhlZ4AHOBAMhMTO4XKf5feSiR0nMK5R4OAOhR/8P7f3Gtz90yQHE3csQXHQCQHwIgM9EjwpfaBHtRQXEZfbs3Qe7hAEA9F0DUFuLtSs4OtlRUUkZX0nNNNDoAqAkCIDPB7bOTymuBvtubQDmFJXIPCQBq2wFWQwE0s7W1oUhMgwGYFQRAZmRwywBRR5BVUEI/H0iUezgAUNs1gO6SAWLYEwzAvCAAMrPNUqWOsOW7L1FhSancQwKAatzKLaLkzAJxvBkCIACLgwDIzIxqH0QBns6UmlVIq44myT0cALhL9odXenZ3sr/r5WO0tsQAAPkhADIzTvZ29GzvMHF82c5L6BgBMPMC6JrW/9EWVb4p6qWbOVRcWmbUsQHA3SEAMkOPdWlCXi4OdPlmLm08kyL3cACgDltgVNa4gQu5OdpRcamKEm6iEwxAbgiAzBCn08d1DxXHl2yPJ5UKWSAAS9wCo3Knp7Qz/AXUAQHIDgGQmRrfM0ysG3IqKZN2x92UezgAoKWguFQsaqhPAMSiy6fB0AoPID8EQGbKx82RHuvcRJMFAgDzEZemXtHZ29VBNC3UltQJFosMEIDsEACZMS6Gtre1ob3x6XT8aobcwwEAHdNfPLWlbwCEKTAA+SEAMmPB3q40sl2QOL4UWSAAiy2ArhwAXUnPwzpfADJDAGTmpO0xNp5NEWl3ALC8AmhJI08n8nS2F9Nnl26gEwxATgiAzBx3jQxq0Yi4EWzZDmSBAORWVqbSZIBquwaQhKfLsCI0gHlAAGQBJvVTZ4FWH0+i6xn5cg8HQNGu3c4XmxU72tlSREN1V5c+ogMQAAGYAwRAFqBDE2/qGuYjFlD7avdluYcDoGhnkzPF/9EB7uRgp/9baHT5rvAXUjClDSAnBEAWYvI9keL/nw8m0u3cIrmHA6BYmvofPae/qrTCpyEDBCAnBEAWok+Un3jDzSsqpe/2Jcg9HADFOpucXb8AqHwKLPFWHuUXoRMMQC4IgCwEF09KtUDf7k2gvKISuYcEoOhd4FsEedXp9/3cncRCp9zYgM5OAPkgALIgw1oFUKivK2XkFdPKg1flHg6A4mTkFVFSeSNCs0B1Jqcu7myJgWkwALkgALIg9na29HwfdRZo+a5LVFRSJveQABRFan8P8XEhT2eHOl8PWuEB5IcAyMI80KExNfRwouuZBfTX8SS5hwOgKPUtgJZIu8IjAAKQDwIgC+PsYEfP9AoTx5fuiBeLsgGAqbfAqFv9jyRGEwChBghALgiALNDYrk3Iw9me4m/k0uZzqXIPB0Ax6roFRnU1QFxPxIsqAoDpIQCyQB7ODvREt1Bx/PPt8aTidhIAMCrevFTq2qpvANTA1ZH8PZzE8VhMgwHIAgGQhXqqZxg52dvSiasZtO9SutzDAbB6HPyUlKnIy8WBgryc6319KIQGkBcCIAvFhdCPdAoRx5dsxyapAKYsgOZ1ueorStMKjzogADkgALJgz/UJJztbG9oVe5NOJ6n3JwIAIxdA13P6q2ohNDJAAHJAAGTBQnxc6b42geL4kh3IAgGYIgPUvJ4t8BK0wgPICwGQhZO2x1h/Kpku38yVezgAVokbDe60wBsqAFJPgaVmFVJmXrFBrhMAag8BkIVrFuBJ/Zv5Ey8H9MVOZIEAjOHa7XzKLighBzsbivRXBy71xStJS8XUF7EzPIDJIQCyoizQH0eSKDWrQO7hAFgdKfsT5e9BjvaGe9vENBiAfBAAWYHOTX2oU6g3FZWW0de7L8s9HAAr3gHeMNNfkpgAdQAUi04wAJNDAGQlJt+jzgL9uP8K6gkAzHQPsMqiyqfTLqQgAwRgagiArMQ9Mf6irTa3qJR+2J8g93AArIqhW+ArL4YYixogAJNDAGQleGE2qRbomz0JlF9UKveQAKxCZn6xKII2ZAt85U6wmzlFlJ5TaNDrBgAzDoCWLFlCbdq0IU9PT3Ho3r07rV+/vtrLf/nll9S7d2/y9vYWh4EDB9LBgwertKu+9957FBgYSC4uLuIysbGxpAS8JlCwtwul5xbRb0euyj0cAKuq/2ncwEVsg2FIro72FOLjIo5jRWgABQVAwcHBNHv2bDpy5AgdPnyY+vfvT6NGjaIzZ87ovPz27dtpzJgxtG3bNtq3bx+FhITQ4MGDKSkpSXOZjz/+mBYuXEhLly6lAwcOkJubGw0ZMoQKCqy/O8rezpae7xMuji/bcYmKS8vkHhKAxTPUDvB3WxEa02AACgqARowYQcOHD6eoqCiKjo6mmTNnkru7O+3fv1/n5VesWEGTJ0+mdu3aUbNmzWj58uVUVlZGW7Zs0WR/5s+fT//+979FIMXZpe+//56uX79Oq1evJiV4uFMI+bo5UlJGPv3v5HW5hwNg8Qy9AGJ1rfAohAZQaA1QaWkprVy5knJzc8VUWG3k5eVRcXEx+fj4iJ8vX75MKSkpYtpL4uXlRV27dhUZIyVwdrCjp3uFaTZJLeMVEgHAbDNA0eV1QGiFB1BYAHTq1CmR9XFycqKJEyfSqlWrqEWLFrX63bfeeouCgoI0AQ8HP6xRo0YVLsc/S+fpUlhYSFlZWRUOluzxbqHk7mQvagq2XUiTezgAFquopIzi0nKMmgGSOsEupGaLLDYAKCQAiomJoePHj4t6nUmTJtG4cePo7Nmzd/09rh3ijBEHTM7O6uXk62rWrFkiUyQduLbIknGh5thuTTRZIACom/gbOWKBUQ9ne9FgYAwRDd3J1kbdbXYjG51gAIoJgBwdHSkyMpI6duwoApG2bdvSggULavydTz75RARAmzZtEnU+koCAAPF/ampqhcvzz9J5ukybNo0yMzM1h6tXLb+D6pmeYeRoZ0uHr9ymg5dvyT0cAItfAJGXmjDWtHVTXzdxHJ1gAAoKgCrjomaekqoOd3l9+OGHtGHDBurUqVOF88LCwkSgIxVFM57O4uxSTXVFPP0mteJLB0vn7+lMD3YMFseXbI+TezgAFl0Abej1f6pbD4inwQBAAQEQZ1527txJCQkJohaIf+ZW97Fjx4rzn3zySXGaZM6cOfTuu+/S119/TU2bNhV1PXzIyVF/a+JvaK+88gp99NFHtGbNGnGdfB1cJzR69GhSGm6J59T6tgs3NGuZAID5FEBXWREaARCAMgKgtLQ0EaBwHdCAAQPo0KFDtHHjRho0aJA4PzExkZKTkyssnFhUVEQPPfSQWOhQOvCUmGTq1Kn00ksv0XPPPUedO3cWwRFni+pbJ2SJmvq50bDWgeL40h2oBQLQBxckG7sFvnIAhF3hAUzHRoW2gyp42oyLobkeyNKnw04nZdJ9i3aLTND2N+6hJr6ucg8JwCLwWlo9Z28le1sbOvPBEHKytzPabfEaQEPm7yQPJ3s6+f5go9UbAVi7LD0+v82uBggMq1VjL+oT3ZB4OaAvdiELBKDv9Fekv7tRgx8W5ucmAq3swhJKzrT+VesBzAECIAWY1Fe9Seqvh6+hzRaglqS6OWPX/zBHe1sRBDEUQgOYBgIgBegW7kPtQhqIRd2+2XNZ7uEAWFwLvCmgEBrAtBAAKQDXE0zup84C/bDvCmUVFMs9JACzd9aEGaCKhdBYCwjAFBAAKcTA5o1ELQPXGKzYnyj3cADMGn9JSLyVZ+IMkHotIHSCAZgGAiCFsLW1oYnltUBf7b5MBcWlcg8JwGydT1YHIUFeztTA1dEktxkdIE2B5WATYwATQACkICPbBok39Js5hfTH0WtyDwfAbJ29nmnS6S8W6uMqtq/JLy6la7fzTXa7AEqFAEhBuNNkQp9wcXzZjktUUlom95AAzJKpFkDUZm9nS+ENpT3BMA0GYGwIgBTm0c4h5O3qIOob1p1OkXs4AGbJ1AXQkpjyabCLaQiAAIwNAZDCuDra0/geYeL4ku3xYrl/ALijuLRM04nVItDLpLet6QRLQQAEYGwIgBRoXI9QcnW0Ewu97bh4Q+7hAJiVSzdyxZpZvC1FsLeLSW8brfAApoMASIG4q+X/ujTRZIEA4I6zyeoC6OaBnqJ70pSkVvi4GzlUik4wAKNCAKRQz/QOIwc7Gzpw+RYduXJb7uEAmN0K0M0D1dkYUwrxdiVnB1uRgbqSnmvy2wdQEgRAChXo5UL3t28sjiMLBCB/ATTjjFOUP6bBAEwBAZCCPdcngmxsiP45l4q2WwAi0RRwZw8w0xZAS6KwIjSASSAAUjDeGmNIiwBxfOkOZIEAUrIK6HZeMdlxJqY8EDG1O4XQCIAAjAkBkMJNKt8kdc3x63TttnrvIwCl4s5IFtnQnZwd7GQZQwwCIACTQACkcG1DGlDPSF8qKVPR8l2X5R4OgKw0018y1P9IpMzT5Zu5Yk0iADAOBEBAk/pGiv9XHkqk9JxCuYcDoKgtMCpr3MCF3BztqLhURQk30QkGYCwIgEBkgFo39qKC4jL6bm+C3MMBMIMWePkCIBsbrj9ST4NdwDQYgNEgAALxhju5vBbou31XKKewRO4hAZgcv+4T0vNkWwNI14KIaIUHMB4EQCAMbhlA4X5ulJlfTD8fSJR7OAAmd758+ivA05l83Z1kHQv2BAMwPgRAIHDb7/N9w8Xx5bsvUWFJqdxDAlDMAojVBkDYFR7AaBAAgcbo9o2pkacTpWYV0upjSXIPB8Ck7iyAKH8AFBOgDoCupOdRQTG+jAAYAwIg0HCyt6MJvdVZoGU7LmEzRlDkGkDmkAHy93AiT2d78TfIu9MDgOEhAIIKHuvShLxcHOjSzVzaeCZF7uEAmERJaRmdL6+3MYcMEDcmSNNgsZgGAzAKBEBQgbuTPY3rHqrZJJX3RgKwdrzoYGFJmVh/p4mPK5mD6PJpsAsohAYwCgRAUMW4Hk3J2cGWTiVl0p64dLmHA2CyAuhmgZ5iR3ZzEO2PVngAY0IABFVwC/BjnZuI40t2xMk9HABFFUBXzgBhCgzAOBAAgU7P9g4je1sbkQE6cTVD7uEAKKYFXiLVACXeyqP8InSCARgaAiDQKdjblUa2C9LUAgFYK65zM8cMkJ+7E/m4ORKX4cWlYRoMwNAQAEG1JvZVb4+x8WwK3oDBaqVlF1J6bhFx6Y+0/o65uLMlBqbBAAwNARDUmIIf2LyR+Ab6xU5kgcC6p78iGrqTs4MdmRPNitAIgADkDYCKi4vJ3t6eTp8+bfiRgFmafI86C7TqWBIlZ+bLPRwAg9NMf5lR/Y8EARCAmQRADg4O1KRJEyotRUGeUnRo4k1dw3youFRFy3ddlns4AMYrgDaj+p+qARCmoAFknwL717/+Re+88w7dunXL4IMB8zSpnzoL9PPBRLqdWyT3cAAM6lx5Bqi5WQZA6hqgpIx8yikskXs4AFbFXt9f+OyzzyguLo6CgoIoNDSU3NzcKpx/9OhRQ44PzEDf6Ibi2zF/U/5+3xWaMjBK7iEBGERuYQldTs812wCogauj2BeMC7VjU7OpfRNvuYcEoNwAaPTo0cYZCZgt3peIs0Av/XyMvt17mSb0CSNXR71fOgBmh/f/4iJ/DjIaejiROeJpMA6AuA4IARCA4ej9KTZ9+nQD3jxYimGtAijU15WupOfRyoNX6eleYXIPCcAqF0DUFQDtjruJOiAAc2iDz8jIoOXLl9O0adM0tUA89ZWUlGTo8YGZsLezpef6hIvjX+6Mp10Xb9Bfx5NoX3w6lZZhw1SwTOfMuABagrWAAMwkA3Ty5EkaOHAgeXl5UUJCAk2YMIF8fHzozz//pMTERPr++++NM1KQ3YMdgmnO+vOUnFVIT3x9UHN6oJczTR/Rgoa2CpR1fADW1AIviUIrPIB5ZIBee+01Gj9+PMXGxpKzs7Pm9OHDh9POnTsNPT4wI9svpFFWQdVOlJTMApr041HacDpZlnEB1AVnLs+nWE4GKDWrkDLziuUeDoByA6BDhw7R888/X+X0xo0bU0pKiqHGBWb4YTFj7Vmd50kTYHw+psPAUly+mUsFxWXk4mBHob4Vu1nNiYezAwV5qb9sXsTO8ADyBUBOTk6UlaX+1qTt4sWL1LBhQ0ONC8zMwcu3KDmzoNrzOezh8/lyAJZUAN0s0IPseCMwMxZdvkcZpsEAZAyARo4cSR988IHYFkNqkeban7feeosefPBBAw4NzEladoFBLwcgN3PcAf6uK0KnIAACkC0AmjdvHuXk5JC/vz/l5+dT3759KTIykjw8PGjmzJkGGxiYF38PZ4NeDkBultACL4nylzrB0AoPIFsXGHd/bd68mfbs2UMnTpwQwVCHDh1EZxhYry5hPqLbiwuedVX58ARCgJezuByAJbCkDFBM+RRYLGqAAOTLAHGbe2FhIfXs2ZMmT55MU6dOFcFPUVERWuCtGNdIcKs7q65ags8391oKAGmq9mZOIfHLtVmA+QdAkeUZoJs5RZSeUyj3cACUGQA99dRTlJmZWeX07OxscR5YL17nZ8njHUSmpzLeHwzrAMmDO+94QUosTFl755LVmZQwPzdycbQjc8dbzzTxcRXHMQ0GINMUmEqlEoXPlV27dk1Mj4F14yBnUIsA0e3F36L/PplMm86m0v5L6XIPTZF47SVefkC7Qw8LU+qzAKLlvGfxekCJt/JEJ1j3CF+5hwOgnACoffv2IvDhw4ABA8je/s6vlpaW0uXLl2no0KHGGieYEZ7mkt6AOzf1oW0X0mj/pVt04FI6dQ3HG7Mpgx9egFJVzcKUnK1DEFRzAXTzQHVtjSXgFaH/OZeGVngAUwdA0i7wx48fpyFDhpC7u3pOmjk6OlLTpk3RBq9AQQ1c6OFOIfTTgURatDUOAZCJF6bUNdnFp3GOls/nbB3qsqo6ez3TYgqgJTHlrfCxmAIDMG0AJO0Cz4HOo48+WmEbDFC2yf0i6NdDV8WO1Ueu3KKOoegEM6eFKTFdUlFeUQlduplrMS3wkqjyLTEupGZXW4oAAEYsgh43bhwVFBRgN3jQCPZ2pYc6BovjC7bEyT0cRcDClHV3IYUDCCI/dyeLWrcqoqG76FrLzC+mG9noBAMweQDEu8FHR0fTnDlz6JNPPqGMjAxxOu8GzwERKNPkfpFiqmXnxRt0LPG23MOxeliYUhkLIGpzdrCjpuV7lnEWCABMHAC9+uqr2A0eqmji60r3t28sjnMtEJhmYcrq8OQIn4+FKas6JwVAFlT/U3kaDK3wADIEQIcPHzbYbvBLliyhNm3akKenpzh0796d1q9fX+3lz5w5IwqtuQ6J57/nz59f5TLvv/++pltNOjRr1kyvcUHdvHBPpEjRbz2fRqeuVV0rCgyHs22PdAqp8TJYmPJuLfCWFwDdKYRGBgjAoneDDw4OptmzZ9ORI0dEYNW/f38aNWqUCHR0ycvLo/DwcPE7AQEB1V5vy5YtKTk5WXPYvXu3XuOCuuFF5Ua1U2eBFm6NlXs4Vq2sTEVbzqeK466VFvJzcbBDC3wN3XPnyzcUtcwMkDoAwhQYgIXvBj9ixAgxdRYVFSXqingzVW6v379/v87Ld+7cmebOnUuPPfaYCMSqw2sUcYAkHfz8/PS8l1BXL/aPJG5O2Xw2lc6UtxqD4a09eZ1OJ2WRu5M9bX+jH/08oRu9NihKnMcdQr2j9PsyohRX0nMpr6iUnB1sRcBuaaK1WuH5eQYAK9gNnhdTXLlyJeXm5oqpsPrg+qSgoCCRLRo7dqwI0GrCe5txVkv7AHXvVBnRJkgcX4SOMKMoLCmlTzZdEMcn9g0nf09n0er+Uv8oaurrSgUlZbTprH7T0UorgI4J8LTI6UEO2uxtbSinsISu17AMAgAYIQCSdoNfu3YtLVy4kF588UVat24d7dixg9zc9P9GderUKZH14YzOxIkTadWqVdSihXrTzbro2rUrffvtt7RhwwZRY8QrVPfu3VvsVVadWbNmifslHUJCaq6tgNplgTacSaHzKQgmDW3F/kS6eiuf/D2c6OleYZrTORs7urwQfdWx6zKO0HxZ0g7wujja38lcYUVoABMHQJJevXpV2A2+rmJiYsTq0gcOHKBJkyaJdYbOnj1b5+sbNmwYPfzww6K4mles5uCMW/V//fXXan+H2/d5g1fpcPXq1TrfPqjT9MPL60/QEWZYWQXFtKi8vurVQdFik0xtUife7tgblJaFDIG1tMBriw5AITSALJuhskOHDtG2bdsoLS2NysrKKpz36aef6nVdvI0GT6Gxjh07iutesGABLVu2jAyhQYMGor4oLq76D2LOPtVUUwT6e2lAJP19KpnWnUoWb9RS8SbUz7Id8XQ7r5giGrrRw+WLT2oL9XWjDk0a0NHEDFpz4jo92ztclnGaK0vPALFofw/6m5LpQgpa4QFMmgH6z3/+I6aZvvnmG9G5dezYMc2BMzn1xQEV1+QYCtcrxcfHU2AgOmJMqVmAJw1tGSBW3EUWyDB4k9Ovdl8Wx6cObUb2drr/fKUs0OrjWJld282cQkrLLhTTs83KsyiWiHeFZ7FpyAABmDQDxNmZr7/+WiyGWF889cRTVk2aNBE1Oj/99BNt376dNm7cKM5/8sknxfpCXKPDioqKNNNjfJy33uCgi2uIpCzSG2+8IbrLQkND6fr162IPMzs7OxozZky9xwv6Z4G4Dog7ll4eEEWR/nc20AX9zf/nIhUUl1HHUG8a3KJRtZe7t02Q2AiVu8SQfau6AGKYrxu5OdUp+W1mU2A5YjkEWwss5gawyAyQra0t9ezZ0yA3zlNoHORwHdCAAQPE9BcHP4MGDRLnc/cWr+Mj4YCmffv24sCn81YcfPzZZ5/VXObatWsi2OHrfOSRR8jX11e01eu7RhHUX8sgLxrYvJHIAn2+DVmg+uBA5tfD6tq0d4Y3q3EjTB83R+oX4y+OrzqGLFDl6a/mFjz9xUJ9XMnRzpbyi0vp2u18uYcDYLHs67IVxuLFi3Wuwqyvr776qsbzORukjVeAvtvaF9xKD+bj5QGR9M+5VDEdw1mgpha49oo5mLPhApWpSGR+OobefXsLngbjx/2v49fpjcExyBJYSQE046nPCH93kdHiTjDehgYATBAA8RTTvffeSxEREaJd3cHBocL5vCkqgKRNcAO6J6YhbbtwgxZvi6O5D7eVe0gW51DCLRHM8Lo1XPtTGwOa+5OHkz0lZeSL3+8a7ktKZw0F0Np1QBwA8YrQA2uYDgUAA06Bvfzyy6IDjDureHpJe/0cPgBUxpkf9uexJLp6K0/u4VgUznjOWndOHOe9v2pbR8U7hw9vrS78xzQYUUFxKcXfyLGKDFDFFaFRCA1gsgzQd999R3/88YfIAgHURvsm3tQnuiHtvKjOAs1+sI3cQ7IYG8+kipZ23t/r1YHqQLK2eFHEXw5fFcsRvD+ypQiKlOpCSraYQvR1cxQLSFpLAIRd4QFMmAHy8fER018A+pgyQN2l9/uRa3TtNrJAtVFSWkYfbzwvjj/bO0xseaGPrmE+FOTlTNkFJbTtfBopmdQBxtmfmgrILa0VPu5GjtjgFQBMEAC9//77orWcd2YHqC0u3O0Z6UslZSpasj1e7uFYBM7eXLqRK7q6nuuj/4KGXPg8qnxNIJ5+VDJNAbQV1P+wEG9XsaFrUUmZ2OAVAEwQAPH+X+vXr6dGjRpR69atqUOHDhUOANV5ub96Cofbua9noH23JnlFJTT/H/WWFy/1jyQP54rNBrUlLYq4/UIa3c4tIlJ6AbQV1P9IwW2UvzQNhjogAJPUAI0ePbpONwTAnUg8LXPg8i2xpcOMUa3kHpLZWr7rMt3ILqQmPq40tmtovWpFOOvBGRCuBXq8W92vy1LxYoHSFJilrwGkLaqRO51KyhR1QEPxpwRg/ACIp78A6mrKgCj6v+UH6OdDV2nyPZHUSM+6FqVs2cABIntjSIzYAbw+OAvEARB3gykxAEq8lUe5RaXicQy3onWoYjSF0MgAAdRF/d5ZAfTUPcKXOjf1FrULS8s/5KGiRVtixQd268ZedF95K3t9jGwXRLwO4pErtykxPU+x9T+8/1d1+6dZdicYAiCAutD73aC0tFRsQdGlSxcKCAgQXWHaB4CacAeOtC7QTwcSKS27QO4hmZWEm7m04kCiOD5tWDODrODMWbaekX6K3SDVmhZA1LUnGBfK8xcKADByADRjxgz69NNP6dFHH6XMzEx67bXX6IEHHhB7hHGHGMDd9Ir0o/ZNGlBhSRl9ufOS3MMxK3M3XRCdcn2jG1KP8qDFEEa3K98h/ljSXbeTsTbWsgVGZbzEgbuTvXi9JKATDMD4AdCKFSvoyy+/pNdff53s7e3FxqPLly+n9957T2w6CqBPFujH/Ymi5gWITlzNoL9PJhMvU/P2sNpteVFbQ1sFiMUUL93MpRPXMkmRawBZWQaI/46klcExDQZgggAoJSVFtL8zd3d3kQVi9913H/399991GAIoUb/ohtQm2EvsaM0dT0rHWZnZ689ripYN3a3k5mRPg1s20mSBlOJWbhElZ6qnWZtZWQBUsRAaK0IDGD0ACg4OpuTkZHGcV4TetGmTOH7o0CFycrL8JebBdN9euSOMfb8vQXxQKdn2izdo36V00an0+uAYo9wGb43B1p64TsWlZYrK/jT1dRXTRdaGW+HZxRRkgACMHgDdf//9tGXLFnH8pZdeonfffZeioqLoySefpKefflrvAYBy9W/mTy2DPCmvqJS+2q3cWiDeymBOefZnfI+m1LiBi1Fup3ekH/m5O1J6bhHtir1BSiqAtqb1f7TFlBdCX0xDAASgL72/Es2ePVtznAuhQ0NDae/evSIIGjFihN4DAOWSaoGe/+EIfbf3Ck3oHU4NXB1JaXh9nvMp2eTpbE+T+xlvnz1uAR/RNoi+2ZNAq45dp/7N1FNi1szatsCorhWeuwd5x3slb3gLYNQMUHFxscjyXL58p2ajW7duohMMwQ/UxaDmjcT6LDmFJfT1ngRSGv7Q+nTTBXGcF4Y0dgAobY2x6UwKZRcUk7Wzti0wKuOd7Tlw5v1QuR0eAIwUADk4ONAff/yhz68A1IjXuZE6wr7Zc5ky863/Q1nbd3sT6HpmAQV6OYvpL2PjxRXDG7qJJQg2nE4haw8uebd0aw6AOIsqTYPFYhoMwLg1QLwX2OrVq/X9NYBqDW0ZQNGN3Cm7oIS+VVAWKCOviBZvixPHXxsUbZLpC/7AfKA8C2TtiyLGpuaI+ipvVwcKsOItV6LKp8EuoBAawLg1QFzr88EHH9CePXuoY8eO5OZWcW+dl19+Wd+rBIXjLNBL/aPopZ+PiWLop3s1rfPu55bk8+3xlFVQIqYAH+gQbLLbHdWuMX2y6SLtjU+nlMwCCvBytu71f4I8ReBnraI1awGhFR7AqAHQV199RQ0aNKAjR46IQ5WiVgRAUAfDWwfS/H8uUvyNXPp+3xV64Z5IsmZJGfn07V51tuutoc3IzgBbXtRWiI+r2I/tUMJtWnMiiZ7rY7zCazlZewF05S0xsBgigJGnwLgAurrDpUvKbWWG+rErzwKxL3ddEkXR1mzepgti/6Zu4T7UL6ahyW///vbqjNOfR613GszaW+Ard4JdvZ1H+UWlcg8HwGJYz9bIYPHuaxNIYX5ulJFXTD/uv0LWiqdmuPWdTRvWXJbpmXtbB5Kjna1ov5emiqxJWZnKavcAq8zP3Yl83RyJt3iLS8M0GEBt1Wlp1GvXrtGaNWsoMTGRiooqruDLG6UC1HWdGp76euO3E2KT1Ce7h5Kro/Wt3jtnw3nxYXVvm0BqG9JAljF4uTrQPc0a0sYzqaIY2tqyJNdu54ssIgd5EQ3VNTLWjFeETr90iy6kZlPrYC+5hwNgEfT+dOFVoEeOHEnh4eF0/vx5atWqFSUkJIi9jDp06GCcUYJijG4XRAu3xFLirTxasT+RJvQJJ2uyN/4mbb9wg+xtbehNI215oc80GAdAfx27TlOHmLYOydjOJqv3KIwOcCcHO+tPdPM02P5LtygWdUAAtab3O8O0adPojTfeoFOnTpGzs7NYF+jq1avUt29fevjhh/W9OoAqWaAXywugl+28ZFU1DTwtI214+n9dm1BTv4odlKbGGSBeRC8lq4AOXEonq1wA0coyW3erA+IMEAAYKQA6d+6c2PeL2dvbU35+vtgVnlvj58yZo+/VAVRxf4fGYj+smzmF9PPBRLIWf59KppPXMsnN0U6z+KOcnOzt6N42QeK4VJNkLc4mZysyAOK1jwDASAEQr/sj1f0EBgZSfHy85rybN2/qe3UAVfCUhdQGv3RHvFjR19Jxx9fcjeotL7jtnAtXzYG0Ncb60ylWlW27swaQMupheCFRaXkFJWxxAiBLAMR7f+3evVscHz58OL3++us0c+ZMsUcYnwdgCA92bExBXs6Ull1Ivx6+SpbupwNXRF0TBz7P9g4jc9Ep1JuCvV1EwfA/51LJWlbY5kCANQtUZ0asHe8hx/uCsVh0ggEYJwDiLq+uXbuK4zNmzKABAwbQL7/8Qk2bNhWLJAIYanpmUvnO6Eu2x1NhieVmJ/gb+cKt6i0vXhkYRW5O9ma1CvfoduVbY1jJNJjU/h7i40KeClhRvOo0GOqAAIwSAHH3V5s2bTTTYUuXLqWTJ0+KYujQ0FB9rw6gWo90DhF7OCVnFtBvh6+Rpfpi5yW6lVtE4X5u9GjnEDI3o8unwXZcvEHpOYVk6ZRWAF05AMKWGAC1U+f+0MOHD9MPP/wgDpW3xAAwVBZoYt9wTRaI62gsTVpWAS3fdVkcnzo0xixbsiP93alNsBeVlKnofyeTyXq2wFBG/U/lOiBsiQFQO7Z1WQSxd+/e1KVLF5oyZYo4dO7cmXr16iXOAzCkx7o0oYYeTqKm48+jlvf6mr8llvKLS6lDkwY0pGUAmStpGswausE0GSArXwG6MuwJBmDkAOjZZ5+l4uJi0Q5/69YtceDjZWVl4jwAQ3J2sKPnyxdDXLw9jopLLScLFH8jh345pC7gflumLS9qa0TbILEQ4vGrGXT5Zi5ZKq4Vk7aDUFoAFFW+K3xqViFl5qETDMDgAdCOHTtoyZIlFBNzZxVbPr5o0SLauXOnvlcHcFdju4aSn7sjXb2Vb1GFuh9vOE+lZSoa2NyfuoT5kDnjLFuvSD+LzwJx8MNTeV4uDqKLUEk8nO/c54tpyAIBGDwACgkJERmgykpLSykoSL2oGoAhuTja0XPlWaDPtsVRiQVkgY5cuSW2meDdJd4a2owswQMd7nSD8dY2ll4Abc4ZN2PBNBiAEQOguXPn0ksvvSSKoCV8nGuBPvnkE32vDqDWWSAfN0e6kp5Ha05cJ3PGwcOsdeotLx7uGEJR5d055m5Qi0bk6mgn1is6mphBlkgpO8DftRMsBQEQgMEDoPHjx9Px48fFWkBOTk7iwMePHj0qFkP08fHRHAAMhdfOkRYQ/GxrnJhaMlebz6bS4Su3ydnBll4dFE2WwtXRnoaWF2qvOmZ5BefaGSBr292+ttAKD1B7eq/INn/+fH1/BcAgnuzeVKypc+lmLv3v5HUaVd65ZE54em7OBnX25+meYRRgYXUovA/bn8eSRDv8e/e1JEd782vbrynzdqcFXqkBEFrhAYwWAI0bN07fXwEwCHcne3qmZxjN23yRFm2NoxFtgsRKxubktyPXKP5GLnm7OtDE8pWsLUmPCD9REH0ju1AsjMjTYpbi2m3eB6uEHOxsxNpGSiTd7/TcIrGopa+Z7DkHYI4s5+sdAAfgPZuSp7O96PZZd9q8Fu3LKyqh/26+KI6/2D/KIrdh4Fb4UW3VzQyW1HHHpOxPlL+HRWWuDD2N2cTHVRzHNBhAzZT5LgEWi4OKp3upa4EWbYmjMjOqBfp692WxeStvLvp4tyZkqXgajG0+l0qZ+ZaznoxSF0CsDNNgALWDAAgszlM9wsjDyZ4upGbTprMpZA54r6+lOy6J428OiRHbeFgqrp/hD1HeemSDmWXZanJO4fU/VQuhEQAB1AQBEFgcL1cHGt+zqTi+YEucWaxZs2hrLOUUllDLIE9Rm2TJeP0caYNUS1oUUekt8BIEQABGCIB4AUR7e3s6ffq0Pr8GYHDcYeXmaCe+9f9zLk3WsSSm59GP+6+I428Pa2Z2hdl1IXXY7b90S+zDZu54qo6LoJXcAi+J0kyB5ZjFlwMAqwiAHBwcqEmTJmLVZwA5ebs50pM91FmghVtiZX2j/2TTBSouVVHvKD/qHdWQrEHjBi7ULVy9ltdfx5MsZvqLx83bYChZREN3sQI5B4XczQcABpoC+9e//kXvvPOO2AQVQE4TeoeLlYtPJWXStgvyZIFOXcvUrExtKVte1Nb90jTYUfPfGgMF0BU3EG7q6yaOc50cABgoAPrss8/Epqe87xdvgtqhQ4cKBwBT4a0xnugWKlstEN/e7A3nxPHR7YKoVWMvsiZDWwWKdvLYtBw6Ux5gmCulL4BYGVaEBjDCQoijR4/W91cAjObZ3uH03b4EOnE1g3bG3qS+0aabguLb2xOXTo52tvT64BiyNjyVNKh5I/r7VLJYE8icAzxkgCriLr4NZ7AnGIBBA6Dp06fr+ysARsOrFvNGqV/tvkwL/rlIfaL8TLILOK8/NHu9esuLJ7qHUkj54nPWhrvBOAD668R1mja8uVgo0dxwu35smvqDHhkgNWkD3ovljwsAGKgNPiMjg5YvX07Tpk3T1ALxZqhJSeZfLAnW5/k+4WKqhncw3xufbpLbXH08SRTeejjb04v3RJK14owab+vBxbR742+SOYq/kSOK0Pm54EUogSgmQB0AxaITDMBwAdDJkycpOjqa5syZQ5988okIhtiff/4pAiIAU/P3dKb/66JeeXnBP8bvCCsoLqV5m9RbXkzqFyE60qwVB5b3la9rxMXQZj39FehpkuyfJeAiaHtbG7E21fXMArmHA2AdAdBrr71G48ePp9jYWHJ2vrPT9fDhw0VxNIAcJvaNELU4BxNuibVrjOmHfVfE2jgBns5iPSJrJy2KuOFMitjvzFwLoJW+/k/lwDXMT90JhgURAQwUAB06dIief/75Kqc3btyYUlLMY1sCUJ4AL2d6tHOIZl0gY+G1VT7bFieOvzYoWrQcW7sOTRqIDTbzikpp89lUMjcogNYtunwaDIXQAAYKgJycnCgrq2pL7MWLF6lhQ+tYBA4s08R+EeRgZ0P7LqXTwcvGyQIt2R4vgqAof3d6oHzTUGunvTXGn2Y2DcbTnWiB1y3aH63wAAYNgEaOHEkffPCB2BZDenNMTEykt956ix588EF9rw7AYHgV4Ic6hmj25jK06xn59M2ey5pFD+3tlLOVnrQo4q7YG2a1ujDXt3BAyvUu0hYQoBYToH48pA45AKhI73fwefPmUU5ODvn7+1N+fj717duXIiMjycPDg2bOnKnXdS1ZsoTatGlDnp6e4tC9e3dav359tZc/c+aMCLKaNm0qAq/58+frvNzixYvFZbhGqWvXrnTw4EF97yZYqMn9IsSH4a7Ym3Tkym2DXvd/N1+kwpIy6tLUhwY09ycl4XqSdiENqExFtLZ85Wtzmv6K9HcnJ3vrn46sSys8d4Lxsg0AUM8AyMvLizZv3kxr166lhQsX0osvvkjr1q2jHTt2kJubuuiutoKDg2n27Nl05MgROnz4MPXv359GjRolAh1d8vLyKDw8XPxOQECAzsv88ssvolCb1yvi1vy2bdvSkCFDKC1N3g0zwTR4PR5pasqQtUAXUrLpj6PXxPG3hzdTZLfR/Wa4Q7y0Bxjqf6oK9XEVjQH5xaWajWIBoB4BUEGBuqWyV69eNHnyZJo6dSoNHDiQ6mLEiBGieywqKkq01nMGyd3dnfbv36/z8p07d6a5c+fSY489JmqRdPn0009pwoQJ9NRTT1GLFi1o6dKl5OrqSl9//XWdxgiW54V7IsWCfTsu3qDjV9XLNNTXnA3nRfZjWKsA6tDEm5TovjaBIrvGe6/Fmcm0inYLPFTEU7QR/uppMOwJBmCAAKhBgwbUp08fevfdd2nr1q1iGswQeIf5lStXUm5urpgKq4uioiKRTdIOyGxtbcXP+/btq/b3CgsLRWG39gEsV6ivG41up85WLDJAFmj/pXTaej5NBFVvDrG+LS9qy9fdSbPVyOpj5jENpimARgao2i0xGFrhAQwQAP3zzz80dOhQOnDggCiI9vb2Ftkg3iWep8b0derUKZH14YzOxIkTadWqVSJzUxc3b94UgVSjRo0qnM4/19SiP2vWLDG1Jx1CQtSFtGC5XrgngnjXhi3n0+h0Uma9uoxmlW95MaZLCIU3VHahrdQNxithy11XklVQTIm38sRxZIBq3hQ1FgEQQP0DIA523nnnHdq0aZNYBXrbtm2iCPrjjz8WgZG+eEf548ePi4Bq0qRJNG7cODp79iyZEq9gnZmZqTlcvXrVpLcPhseBysi2QfWuBVp3KkVstOrqaEdTBkST0g1q0YjcnexFTclhAxeZ6+t8svpDPcjLmRq4Wu9q3IYIgC6gFR6g/puhSmv+bN++XXPgKaT77ruP+vXrp/d1OTo6igCKdezYUSy0uGDBAlq2bJne1+Xn50d2dnaUmlpxsTb+ubqiacbZp+pqisByvdg/UmziuelsqqgV0XeapLi0jOZuVGd/JvQOFxuvKh0v/Mh1UL8duSaKobuE+cg2lrPX1Zk9TH/dfQqM90srLVOZ5Wa2ABaTAeIVn7t160YbNmwQ/3PbOk898dTVlClT6j2gsrIyEVDVBQdTHERt2bKlwvXxz3WtKwLLFenvodnHqi7rAq08mEgJ6Xnk5+5IE/qEG2GElt0N9vfJ61RYUirbOLAA4t2FeLuSs4MtFZWU0ZX0XLmHA2DZARCv9szt6FxTwwfOrtS1EJqnnnj/sISEBFELxD9zRmns2LHi/CeffLLCBqtc5MzTZXzg47z7PB+Pi1NvTcC4Bf7LL7+k7777js6dOyem1biwmrvCQHle6q/OLq4/nSJa2WuLN5FcUD519vKAKDHtA2pdw33FPmhZBSW07bx8y0ugAPrubHmBSM2K0KgDAqhXAMQBBwc+b7/9tsjUcD0QTz316NFDFELrg9fm4SCH64AGDBggpr82btxIgwYNEufzCtPJycmay1+/fp3at28vDnw670bPx5999lnNZR599FFx+nvvvUft2rUT4+VsVeXCaFBODcTw1gF6Z4G+3HmJbuYUUVNfVxpTvtM8qPE0yqj2QbKuCcTTk9IWDy0CvWQZg6XVAWFLDICKbFTc5lJH6enpImPz119/0c8//yymm7gLy9JxGzx3g3FBNK9QDZaN63+GL9xFvHbh5lf7iKmxmqRlF1C/udvF5p+L/68D3dsm0GRjtRTnU7Jo6PxdYqG9g/8aYPIiZM7mDZm/kzyc7OnE9MEi0wG6LdsRLzoZ+XXMr2cAa5alx+e33hmgP//8k15++WWxhQVnVXiKibfG4C0yeOVlAHPDUySDWzQiDvU/23pnurQ63DXGwU/bkAaa7BFU1CzAk5oFeFBRaRn9fepOltZUziarC6CbB3oi+LkLtMIDGCgA4rV6eCrqueeeo2PHjolpLCko4m0nAMwR1/GwNSeu06Ub1U8F8Hk/H1QvgzBtmDK3vKgtacuR1TJMg0krQDcPrDmbB0TRAerH6NKNXFEMDQB1DIA44Pn999/FHmCtW7fW99cBZNGqsRcNbO4vtrP4bFv1WaC5Gy+IduH+zfypW7ivScdoaUa2bSymFQ8l3Kar5QsSmgoKoGuP10niIv6SMhUloBMMoO4BEOM6nz/++IM++ugjceAMkDXU/oB1e6m/Ogv01/HrlHCz6gfB0cTboluMZ1TeGtpMhhFalgAvZ+oRoQ4S/zpuuiwQly3e2QMMBdB3w1nMKGyJAVD/AIhbzps3by66tzjw4cMTTzxBLVu2pPj4eH2vDsBkuKanX0xDkeH5fHtclQ/V2evUix4+2CGYYsqnDaBm97cPFv//eSxJPIamkJJVQLfzikU3mvTBDjWLllrh9VgKAsDa6R0Aca1PRESE2C6Ci575wO3qYWFh4jwAS8gC/Xk0qcK0zZZzaXQw4RY52dvSq4Ow5UVtDWnZSCy0x/UlvEu8KUjZn8iG7mJlari7OxkgtMID1DkA2rFjh9j3y8fnzhL4vr6+NHv2bHEegDnrGOpNvaP8RD3EZ9tiaV98uljLZvqa0+L88T2bUlADF7mHaTE8nB1oUIsAk64JdA71P3qTMpoX05ABAqhzAMR7ZmVnV/0j4lZ43ooCwNxNKe8I++XQNRrz5X569ZfjlJRRQDZaUwVQe/eXL4q49sR1Kik1fpcRtsCoeys8174VFKNeE6BOARBvesot8Lx7O8/582H//v2iPX7kyJF4VMHs3czRvdccV7C88dsJ2nDa9OvaWLLeUQ3J181RrJy9K+6mCVvgEQDVlr+HE3m5OIguSJ6uBIA6BEALFy4UNUC8uaizs7M49OzZU+zozru4A5gzLoCesfZsjZfh8/lyUDsOdrY0om2QSdYE4j3aeINahjWA9OsEk3aGRycYgJreOzw2aNBAbH3B3WC82SjjrjAOgADM3cHLtyg5s6Da8zns4fP5ct3LW7zh7ka3b0zf7k2gjWdSRJBirM1jz5dPf/FmrL7uTka5DWsV1chDrNmEAAhArdbvUrzP19y5c2nNmjViJ3bevHT69Onk4oKCUbAcvM+XIS8Ham2DvSjcz40u3cyljadT6MGO6vZ4Q8MCiHUXg01RAeo2BTZz5kyx87u7uzs1btxYTHe98MILtf11ALPg7+Fs0MvBnSkWzgKx1UZcFPHOAogIgPSFxRAB6hgAff/99/T555/Txo0bafXq1bR27VpasWKFyAwBWIouYT4U6OUsOr504dP5fL4c6Gd0O3UAtCfuJqVmGSeDhhb4+meArt7Oo7yiErmHA2A5ARAvdjh8+HDNzwMHDhTf+nhjVABLwasHTx/RQhyvHARJP/P5fDnQTxNfV+oU6i06jdYcN/z7ArfYny9fyRgZIP1xzRR36/GC3XFpmAYDqHUAVFJSIjq+tDk4OFBxcbExxgVgNENbBdKSxzuIvay08c98Op8PdSNNgxljUcTLN3OpsKSM3BztqImPq8GvXwmwIjRAHYqgeb2f8ePHi4UQJQUFBWL9Hzc3N81pvDcYgLnjIIdXMOZuLy545pofnvZC5qd+7m0dSDPWnhHFyhdSsg26p5pUAN0s0JNs8TzVeRps/6VbFIs6IIDaB0Djxo2rctrjjz9u6PEAmAwHO2h1NyxvN0fqF+NPm8+miizQ28OaGey6UQBtmFZ4dgEBEEDtA6BvvvnGuCMBAKvwQPvGIgD663gSTR0SY7BsDVrgDbclRiymwAD0XwkaAKAm9zTzJw9ne7Gg5IHLtwxynTwFjwxQ/UmrQSdl5FN2Aeo3QdkQAAGAQTk72IlaILbq2DWDXGdadiGl5xYRJ5MMWVekNA1cHcW+YCwWnWCgcAiAAMDg7i/vBlt/KsUgu49L018RDd1FgAV1JwWQKIQGpUMABAAG17mpDzVu4ELZhSW05Vxava9PM/2F+p96i/IvL4ROQQYIlA0BEAAYHBc+j2oXZLBpME0BNOp/DFYHFJuGDBAoGwIgADDqNNj2CzfoVm5Rva7rXHkGqDkCoHqLLp8C43WaAJQMARAAGG3NmVaNPamkTEV/n6z71hi5hSV0OT1XHEcAVH9R/u6awvLMPHSCgXIhAAIAo2+QWp+tMXj/L96/iruXGpZ3MEHdeTg7iPosdhHTYKBgCIAAwGhGtg0SretHEzMo4aY6i6MvLIBovD3BMA0GSoYACACMxt/TmXpFNRTHVx+vWxYICyAac0VoBECgXAiAAMCo7m+v7gZbfSxJrOisr3PIABktAMKu8KBkCIAAwKgGtwggFwc7SkjPo2NXM/T63dIyFZ1PQQbIWK3wF5EBAgVDAAQARuXmZE9DWwVoskD6uHwzlwqKy0QAFerrZqQRKk+kvzvZ2JDYXuRmTqHcwwGQBQIgADC60eVrAq09cZ2KS8v0LoBuFuhBdgbaVR6IXB3tKcTbVRxHFgiUCgEQABhdzwhf8nN3ott5xbTjwo1a/x4KoE2wIjTqgEChEAABgNHZ29ne2RpDj24wtMCbohAaGSBQJgRAAGDSrTH+OZtKWQW1W4EYGSDjQQAESocACABMomWQpyi+LSwpow2nU+56+bTsAlGgy6U/zQIQABmzFb4uyxMAWDoEQABgEjY2Npos0Kqjd58GO5eszkyE+bmRi6Od0cenNOEN3URwmZlfLPYFA1AaBEAAYDJSHdD+y+l0PSO/dtNfQV4mGZvSODvYUdPypQUwDQZKhAAIAEwm2NuVuoT5iM1N15y4XqsC6OaB6qkaMDysCA1KhgAIAExKexqsptqTs9czxf8ogDbBitDYFBUUCAEQAJjU8NaB5GhnSxdSszV1PpXlFZXQpfLd49ECbzzRAeUZoDQEQKA8CIAAwKS8XBxoQHP/GneIv5CSLabJePFEfw9nE49QibvCoxMMlAcBEADItjXGX8eTxIanlWEBRNPgImh7WxvKKSyh65kFcg8HwKQQAAGAyfWLaSgyQalZhbQvPr3K+eekAAj1P0blaG8r2uEZOsFAaRAAAYDJOdnb0X1tAsXxVTp2iL/TAo8AyNiipE4wFEKDwiAAAgBZu8E2nE6m/KJSzek8JXa+/MMYGSDji0ErPCgUAiAAkEXHUG8K8XGh3KJS2nT2ztYYV9JzKa+olJwdbMUq0GCiVnhMgYHCIAACAPm2xminzgKt1poGkwqgYwI8yY73agCTTIHFpeVQmY6CdABrhQAIAGQzqnwabGfsTbHxKcMO8KYV6uMqiqHzi0vp2u2atycBsCYIgABANhEN3altsJeo+1lbvjUGWuBNy97OVjwPjBenBFAKBEAAYBbF0NI0GDJApheDOiBQIARAACCr+9oGiVqfE9cy6VDCLUrLLiQbG6Jm5ds0gAlb4REAgYIgAAIAWfF2F32i/MTxaX+eFP8HeDiTs4OdzCNTDuwKD0qEAAgAZCe1u8elqTdATc4qoF5ztoo1gsB0awHF38ihktIyuYcDYP0B0JIlS6hNmzbk6ekpDt27d6f169fX+Du//fYbNWvWjJydnal169a0bt26CuePHz9etNdqH4YOHWrkewIAdcVBzjd7EqqcnpJZQJN+PIogyASCvV3IxcGOikrK6MqtPLmHA2D9AVBwcDDNnj2bjhw5QocPH6b+/fvTqFGj6MyZMzovv3fvXhozZgw988wzdOzYMRo9erQ4nD59usLlOOBJTk7WHH7++WcT3SMA0Ad3f81Ye5Z0rT4jncbn69owFQzH1taGIv3VhdCxqAMChZA1ABoxYgQNHz6coqKiKDo6mmbOnEnu7u60f/9+nZdfsGCBCG7efPNNat68OX344YfUoUMH+uyzzypczsnJiQICAjQHb29vE90jANDHwcu3KLmGXcg57OHz+XJgmjqgCymoAwJlMJsaoNLSUlq5ciXl5uaKqTBd9u3bRwMHDqxw2pAhQ8Tp2rZv307+/v4UExNDkyZNovT0qrtNayssLKSsrKwKBwAwvrTsAoNeDgywJUYaMkCgDPZyD+DUqVMi4CkoKBDZn1WrVlGLFi10XjYlJYUaNWpU4TT+mU+XcIbogQceoLCwMIqPj6d33nmHhg0bJoIkOzvdXSWzZs2iGTNmGPieAcDd+Hs4G/RyUHfR5csOYAoMlEL2AIizNMePH6fMzEz6/fffady4cbRjx45qg6C7eeyxxzTHuUiai6wjIiJEVmjAgAE6f2fatGn02muvaX7mDFBISEidbh8Aaq9LmA8FejmLgmddVT68E1iAl7O4HJhmCuzSjVxRDM3bYwBYM9lf4Y6OjhQZGUkdO3YUmZi2bduKWh9duJ4nNTW1wmn8M59enfDwcPLz86O4uLhqL8M1Q1InmnQAAOPjBRCnj1B/2am87an0M5+PTVGNL8jLmdyd7KmkTEUJ6erlCACsmewBUGVlZWWiJkcXnirbsmVLhdM2b95cbc0Qu3btmqgBCgwMNPhYAaD+hrYKpCWPdxCZHm38M5/O54Px8ZIhUdgSAxRE1ikwnnri+pwmTZpQdnY2/fTTT2KqauPGjeL8J598kho3biwyQ2zKlCnUt29fmjdvHt17772iaJrb57/44gtxfk5OjqjlefDBB0VWiGuApk6dKjJMXCwNAOaJg5xBLQJEtxcXPHPND097IfNjWtH+HnQsMYMupmQTtZF7NABWHAClpaWJIIfX6vHy8hL1Ohz8DBo0SJyfmJhItrZ3klQ9evQQQdK///1vUdzM7fOrV6+mVq1aifO5yPnkyZP03XffUUZGBgUFBdHgwYNFuzxPcwGA+eJgp3uEr9zDUDSpEBpbYoAS2KhUKqwwVgkXQXNAxoXZqAcCAKXYFXuDnvjqIIX7udHWN/rJPRwAo35+m10NEAAAyNsJxkXQBcWlcg8HwKgQAAEAgODv4UReLg7EO49wOzyANUMABAAAmk4wzYrQ6AQDK4cACAAAqkyDIQACa4cACAAANBAAgVIgAAIAAI07iyGiFR6sGwIgAADQiCnPAF29nUd5RSVyDwfAaBAAAQCAhq+7E/m6ORKvEBeXhiwQWC8EQAAAUE0dEAIgsF4IgAAAoAK0woMSIAACAIAKotAJBgqAAAgAACqIKd8UNRZTYGDFEAABAEAF0f7qACgpI5+yC4rlHg6AUSAAAgCACrxcHaiRp5M4HotOMLBSCIAAAKCKKH91IfSvh67Svvh0KuUdUgGsiL3cAwAAAPOy4XQyHU3MEMdXHroqDoFezjR9RAsa2ipQ7uEBGAQyQAAAUCH4mfTjUcorKq1wekpmgTidzwewBgiAAABA4GmuGWvPkq7JLuk0Ph/TYWANEAABAIBw8PItSs4sqPZ8Dnv4fL4cgKVDAAQAAEJadoFBLwdgzhAAAQCA4O/hbNDLAZgzBEAAACB0CfMR3V42NVymgYuDuByApUMABAAAgp2tjWh1Z9UFQRn5xfSfdeeopLTMpGMDMDQEQAAAoMHr/Cx5vAMFeFWc5uLM0LBWAeL4V7sv07hvDtLt3CKZRglQfzYqlQr9jJVkZWWRl5cXZWZmkqenp9zDAQAwOW51524vLnjmmh+e9uIM0bpTyfTGbyfEOkEhPi70xROdqHkg3ifB8j6/EQDpgAAIAKB651OyaML3h+nqrXxycbCjeY+0peGtsUI0WNbnN6bAAABAL80CPGnNC72oV6Qf5ReX0uQVR2nuxvNYIBEsCgIgAADQm7ebI337VGea0DtM/Lx4W7zICmUVFMs9NIBaQQAEAAB1Ym9nS/+6twX999G25GRvS1vPp9Hoz/ZQXFqO3EMDuCsEQAAAUC/3tw+m3yf2EJ1il27m0ujFe+ifs6lyDwugRgiAAACg3loHe9GaF3tRl6Y+lFNYQhN+OEyLtsRSGeqCwEwhAAIAAINo6OFEPz7blZ7oFkrcXzxv80VRIJ1bWCL30ACqQAAEAAAG42hvSx+ObkWzH2hNDnY2tOFMCj3w+V66kp4r99AAKkAABAAABvdYlya08rluIit0ITWbRn62h3bF3pB7WAAaCIAAAMAoOob60NoXe1HbkAaUmV9M474+SF/sjCesvwvmAAEQAAAYDe8p9stz3eihjsHE9dD/WXeeXv3lOBUUl8o9NFA4BEAAAGBUzg52NPehNvT+iBZiP7HVx6/TQ0v3UlJGvtxDAwVDAAQAAEZnY2ND43uG0Q/PdCFvVwc6nZRFIxftpgOX0uUeGigUAiAAADCZHhF+Yr2gFoGelJ5bRGOXH6Dv9yWgLghMDgEQAACYVIiPK/0xqQeNaBtEJWUqeu+vM/T2H6eosAR1QWA6CIAAAMDkXBztaOFj7ejtYc3Ixobol8NXacwX+yktq0DuoYFCIAACAADZ6oIm9o2gb8Z3Jk9nezqamEH3LdpNRxNvyz00UAAEQAAAIKt+Mf7014u9KMrfndKyC+mxZfvp10NX5R4WWDkEQAAAILswPzda9UJPGtyiERWVltHUP07S9L9OU3FpmdxDAyuFAAgAAMyCu5M9LX28I70yMEr8/N2+K/T48gOUnlMo99DACiEAAgAAs2Fra0OvDIymL57oSG6OdnTg8i2xj9jppEy5hwZWBgEQAACYncEtA2j1Cz2pqa+rWDGaV47+63iS3MMCK4IACAAAzFJUIw/664Ve1De6IRUUl9GUlcdp1rpzVMqbigHUEwIgAAAwW16uDvT1+M6iXZ4t23mJxn9zkDLziuUeGlg4BEAAAGDWeANVXjBx0Zj25OxgS7tib9LIxbvpYmq23EMDC4YACAAALAJvncFbaDRu4EJX0vNo9OI9tOF0itzDAguFAAgAACxGyyAvWvtSL+oe7kt5RaU08ccj9Onmi1SGuiDQEwIgAACwKD5ujvT9M13oqZ5Nxc8Lt8TScz8coewC1AVB7SEAAgAAi+NgZ0vTR7SkuQ+1IUd7W/rnXCrd//leunQjR+6hgYVAAAQAABbr4U4h9Ovz3amRpxPFpeXQqMV7aNv5NLmHBRYAARAAAFi0diENRF1Qx1Bvyi4ooae/O0Sfb48jlUol1gzaF58uFlHk/y11DSHcD8OzUfErRCZLliwRh4SEBPFzy5Yt6b333qNhw4ZV+zu//fYbvfvuu+J3oqKiaM6cOTR8+HDN+Xx3pk+fTl9++SVlZGRQz549xW3wZWsrKyuLvLy8KDMzkzw9Pet5LwEAwBQKS0rp/TVn6OeD6p3kO4Q2oKTb+ZSadWcvsUAvZ5o+ogUNbRVIlmLD6WSasfYsJWcWaE7D/aj/57esGaDg4GCaPXs2HTlyhA4fPkz9+/enUaNG0ZkzZ3Refu/evTRmzBh65pln6NixYzR69GhxOH36tOYyH3/8MS1cuJCWLl1KBw4cIDc3NxoyZAgVFNx5wAEAwPo42dvRrAfa0EejW5GtDdHRKxkVgh+WkllAk348Kj6MLQGPk8erHTQw3A8LzwDp4uPjQ3PnzhVBTmWPPvoo5ebm0v/+9z/Nad26daN27dqJgIfvSlBQEL3++uv0xhtviPM5CmzUqBF9++239Nhjj9VqDMgAAQBYLp5W6TLzH0rPLar2Mv4eTvTbxO5ikUVzvh8PLd1HN7IrBnHWdj9siCjAy5l2v9W/3vdDn89vezITpaWlYnqLA5zu3bvrvMy+ffvotddeq3AaZ3dWr14tjl++fJlSUlJo4MCBmvP5gejatav43eoCoMLCQnHQfgABAMAyHbx8q8bgh6VlF1LfudvJ0lnD/VARicwQP2/dI3xNdruyB0CnTp0SAQ9PUbm7u9OqVauoRYsWOi/LwQ1nc7Txz3y6dL50WnWX0WXWrFk0Y8YMA9wbAACQW1p27Uoe7G1tzD5zUlKLImFruR9ptXzerCYAiomJoePHj4t01e+//07jxo2jHTt2VBsEGcO0adMqZJY4AxQSEmKy2wcAAMPx93Cu1eV+eKarSTMO+uIuqTFf7lfM/fCv5fNmNW3wjo6OFBkZSR07dhSZmLZt29KCBQt0XjYgIIBSU1MrnMY/8+nS+dJp1V1GFycnJzFXqH0AAADL1CXMR3QXVZcT4dP5fL6cOcP9sPIAqLKysrIK9TjaeKpsy5YtFU7bvHmzpmYoLCxMBDral+FsDneDVVdXBAAA1oWng7i1mlX+0JV+5vPNedqI4X5YcQDEU087d+4Ua/pwLRD/vH37dho7dqw4/8knnxSnSaZMmUIbNmygefPm0fnz5+n9998X7fMvvviiON/GxoZeeeUV+uijj2jNmjXiOvk6uDOM2+UBAEAZeF2ZJY93EN1F2vhnPt1S1s/B/bDSGqC0tDQRoCQnJ4turTZt2tDGjRtp0KBB4vzExESytb0To/Xo0YN++ukn+ve//03vvPOOWNyQO8BatWqluczUqVNFJ9lzzz0nFkLs1auXCJqcnU07twgAAPLiD9VBLQJEdxEX2HKNCU+zmHvGpDLcD4WsA2QOsA4QAACA5bGYlaABAAAA5IAACAAAABQHARAAAAAoDgIgAAAAUBwEQAAAAKA4CIAAAABAcRAAAQAAgOIgAAIAAADFQQAEAAAAiiPrVhjmSlocm1eUBAAAAMsgfW7XZpMLBEA6ZGdni/9DQkLkHgoAAADU4XOct8SoCfYC06GsrIyuX79OHh4eYod5Q0enHFhdvXoV+4yZATwf5gXPh3nB82Fe8HzcHYc0HPwEBQVV2ExdF2SAdOAHLTg42Ki3wS9evIDNB54P84Lnw7zg+TAveD5qdrfMjwRF0AAAAKA4CIAAAABAcRAAmZiTkxNNnz5d/A/yw/NhXvB8mBc8H+YFz4dhoQgaAAAAFAcZIAAAAFAcBEAAAACgOAiAAAAAQHEQAAEAAIDiIAAyocWLF1PTpk3J2dmZunbtSgcPHpR7SIo0a9Ys6ty5s1jp29/fn0aPHk0XLlyQe1hQbvbs2WIF9ldeeUXuoShaUlISPf744+Tr60suLi7UunVrOnz4sNzDUqTS0lJ69913KSwsTDwXERER9OGHH9ZqvyuoHgIgE/nll1/otddeEy2MR48epbZt29KQIUMoLS1N7qEpzo4dO+iFF16g/fv30+bNm6m4uJgGDx5Mubm5cg9N8Q4dOkTLli2jNm3ayD0URbt9+zb17NmTHBwcaP369XT27FmaN28eeXt7yz00RZozZw4tWbKEPvvsMzp37pz4+eOPP6ZFixbJPTSLhjZ4E+GMD2cd+AUs7TfGe7q89NJL9Pbbb8s9PEW7ceOGyARxYNSnTx+5h6NYOTk51KFDB/r888/po48+onbt2tH8+fPlHpYi8XvSnj17aNeuXXIPBYjovvvuo0aNGtFXX32lOe3BBx8U2aAff/xR1rFZMmSATKCoqIiOHDlCAwcOrLDfGP+8b98+WccGRJmZmeJ/Hx8fuYeiaJyVu/feeyv8nYA81qxZQ506daKHH35YfDlo3749ffnll3IPS7F69OhBW7ZsoYsXL4qfT5w4Qbt376Zhw4bJPTSLhs1QTeDmzZtiDpcjeG388/nz52UbF6gzcVxrwun+Vq1ayT0cxVq5cqWYGuYpMJDfpUuXxJQLT9u/88474nl5+eWXydHRkcaNGyf38BSZkeOd4Js1a0Z2dnbi82TmzJk0duxYuYdm0RAAASk963D69GnxbQrkcfXqVZoyZYqox+IGATCPLwacAfrPf/4jfuYMEP+dLF26FAGQDH799VdasWIF/fTTT9SyZUs6fvy4+OIWFBSE56MeEACZgJ+fn4jaU1NTK5zOPwcEBMg2LqV78cUX6X//+x/t3LmTgoOD5R6OYvH0MDcDcP2PhL/h8vPCNXOFhYXi7wdMJzAwkFq0aFHhtObNm9Mff/wh25iU7M033xRZoMcee0z8zB15V65cER2tCIDqDjVAJsBp444dO4o5XO1vWPxz9+7dZR2bEnHdPwc/q1atoq1bt4rWUpDPgAED6NSpU+JbrXTg7AOn9/k4gh/T4ynhyktDcP1JaGiobGNSsry8PFE3qo3/LvhzBOoOGSAT4bl0jtT5jb1Lly6iu4Xbrp966im5h6bIaS9OJf/1119iLaCUlBRxupeXl+iqANPi56By/ZWbm5tYfwZ1WfJ49dVXReEtT4E98sgjYs2yL774QhzA9EaMGCFqfpo0aSKmwI4dO0affvopPf3003IPzaKhDd6EOJ0/d+5c8YHLLb4LFy4U7fFgWrzIni7ffPMNjR8/3uTjgar69euHNniZ8fTwtGnTKDY2VmRJ+UvchAkT5B6WImVnZ4uFEDlrzdPFXPszZswYeu+998QMA9QNAiAAAABQHNQAAQAAgOIgAAIAAADFQQAEAAAAioMACAAAABQHARAAAAAoDgIgAAAAUBwEQAAAAKA4CIAAwKoXvVy9enWdf3/79u3iOjIyMuo1Dl5gc/To0fW6DgAwLARAAFBnN27coEmTJokl+p2cnMTmvkOGDKE9e/aQNeDtIJKTk8U2KQBgXbAXGADU2YMPPkhFRUX03XffUXh4OKWmpopNftPT08ka8DYDHNQBgPVBBggA6oSnhXbt2kVz5syhe+65R+wUzhv98v5RI0eO1FyON21s3bq12OA0JCSEJk+eTDk5OZrzv/32W2rQoIHYeyomJoZcXV3poYceEjtgc2DVtGlT8vb2ppdffplKS0s1v8enf/jhh2JPJL7uxo0b0+LFi2sc89WrV8Xmnnx7Pj4+NGrUKEpISKj1FJg01o0bN1Lz5s3J3d2dhg4dKrJEEh4j75vFl+MNXadOnUqVdxziXbxnzZol9tjiDXjbtm1Lv//+uziPLztw4ECRSZN+79atWxQcHCz2fgIAw0AABAB1wh/+fOAam8LCwmovZ2trKzb+PXPmjAhotm7dKoICbRzs8GVWrlxJGzZsEIHH/fffT+vWrROHH374gZYtW6YJEiS8uTAHD7w79ttvv01TpkyhzZs36xxHcXGxCCp493kO3HiaTgpgOItVWzzWTz75RIxp586dlJiYSG+88Ybm/Hnz5olA6euvv6bdu3eL4IU3sdTGwc/3339PS5cuFY8L777++OOP044dO0TAxY/ToUOHxGPCJk6cKAI8BEAABsSboQIA1MXvv/+u8vb2Vjk7O6t69OihmjZtmurEiRM1/s5vv/2m8vX11fz8zTffcJpDFRcXpznt+eefV7m6uqqys7M1pw0ZMkScLgkNDVUNHTq0wnU/+uijqmHDhml+5utdtWqVOP7DDz+oYmJiVGVlZZrzCwsLVS4uLqqNGzfqHOu2bdvEddy+fbvasS5evFjVqFEjzc+BgYGqjz/+WPNzcXGxKjg4WDVq1Cjxc0FBgbhve/furXBbzzzzjGrMmDGan3/99VfxuL799tsqNzc31cWLF2t4VAFAX8gAAUC9aoCuX79Oa9asEZkUztx06NBBZEAk//zzDw0YMEBkMDj78sQTT4gaIc6kSHjaKyIiQvNzo0aNxBQXZ2i0T0tLS6tw+927d6/y87lz53SO9cSJExQXFyfGIGWveBqsoKCA4uPja32fK481MDBQM67MzEwxHda1a1fN+fb29tSpUyfNzzwGvu+DBg3SjIMPnBHSHsfDDz8ssmCzZ88WGaeoqKhajxEA7g5F0ABQL87OzuLDnA/vvvsuPfvsszR9+nTR+s31Nffdd5/oFJs5c6YIOHha6JlnnhHTThxMMAcHhwrXydNAuk7j2pm64rqjjh070ooVK6qc17Bhw1pfj65xVa7xuds42N9//y2CQm3cSSfhIOnIkSNkZ2dHsbGxtb5+AKgdBEAAYFAtWrTQrL3DH+ActHBdDNcCsV9//dVgt7V///4qP3Nxsi6cmfrll1/I39+fPD09yRi4XZ4zQgcOHKA+ffqI00pKSsTjwLcvPT4c6HDtUN++fau9rtdff108ZuvXr6fhw4fTvffeS/379zfKuAGUCAEQANQJT2PxNM3TTz9Nbdq0EVNLhw8fpo8//lh0V7HIyEhRfLxo0SIaMWKEKDzmwl9D4evj2+NFBrn4+bfffhOZFV3Gjh0riqZ5bB988IHoqrpy5Qr9+eefoiibfzYELsTmaSuesmrWrJnogtNeSJEfJy6a5sJnDg579eolps74vnBgNm7cOHEfuIh63759InB68803xeknT54UHXEAUH+oAQKAOuG6Fa51+e9//yuyHa1atRJTYBMmTKDPPvtMXIY7tDgA4FZ5Pp+nn7gDylA4S8JBV/v27emjjz4St8WdXrrwdBt3bfGijQ888IDIFPFUHNcAGTIjxGPiOicOWLgmiQMeruXRxu37/FjxY8Hj4PopDnq4LZ4Xl+Rxvf/++5qs0YwZM0QNFHeDAYBh2HAltIGuCwDAZLhI+pVXXhEHAAB9IQMEAAAAioMACAAAABQHU2AAAACgOMgAAQAAgOIgAAIAAADFQQAEAAAAioMACAAAABQHARAAAAAoDgIgAAAAUBwEQAAAAKA4CIAAAABAcRAAAQAAgOL8P/CoCJeO6ui8AAAAAElFTkSuQmCC", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot the power parameter (index 1 in surface_fractal_params)\n", "ds_result.sel(surface_fractal_params='surface_fractal_power').surface_fractal_fit_val.plot(marker='o')\n", "plt.ylabel('Power parameter')\n", "plt.xlabel('Sample index')\n" ] }, { "cell_type": "markdown", "id": "a08b975d", "metadata": {}, "source": [ "## Conclusion\n", " \n", "In this tutorial, we demonstrated how to use the AutoSAS module to fit small-angle scattering (SAS) data. We:\n", "\n", "1. Loaded synthetic dataset with 10 samples and fit it using a surface fractal model\n", "2. Visualized the fits by plotting the data and model curves on log-log axes\n", "3. Analyzed the quality of the fits by examining the residuals between the model and data\n", "4. Explored how the model parameters vary across different samples\n", "\n", "The AutoSAS module provides a flexible framework for fitting SAS data with different models, evaluating fit quality, and extracting physical parameters. \n" ] } ], "metadata": { "kernelspec": { "display_name": "venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.10" } }, "nbformat": 4, "nbformat_minor": 5 }