836 lines
134 KiB
Plaintext
836 lines
134 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "4b8ea041",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Statistica della molla statica\n",
|
|
"Passo passo logica dello studio di una molla in condizione statica"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 42,
|
|
"id": "6bf32773",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Requirement already satisfied: matplotlib in ./.venv/lib/python3.13/site-packages (3.10.8)\n",
|
|
"Requirement already satisfied: numpy in ./.venv/lib/python3.13/site-packages (2.4.3)\n",
|
|
"Requirement already satisfied: pandas in ./.venv/lib/python3.13/site-packages (3.0.1)\n",
|
|
"Requirement already satisfied: scipy in ./.venv/lib/python3.13/site-packages (1.17.1)\n",
|
|
"Requirement already satisfied: seaborn in ./.venv/lib/python3.13/site-packages (0.13.2)\n",
|
|
"Requirement already satisfied: contourpy>=1.0.1 in ./.venv/lib/python3.13/site-packages (from matplotlib) (1.3.3)\n",
|
|
"Requirement already satisfied: cycler>=0.10 in ./.venv/lib/python3.13/site-packages (from matplotlib) (0.12.1)\n",
|
|
"Requirement already satisfied: fonttools>=4.22.0 in ./.venv/lib/python3.13/site-packages (from matplotlib) (4.62.0)\n",
|
|
"Requirement already satisfied: kiwisolver>=1.3.1 in ./.venv/lib/python3.13/site-packages (from matplotlib) (1.5.0)\n",
|
|
"Requirement already satisfied: packaging>=20.0 in ./.venv/lib/python3.13/site-packages (from matplotlib) (26.0)\n",
|
|
"Requirement already satisfied: pillow>=8 in ./.venv/lib/python3.13/site-packages (from matplotlib) (12.1.1)\n",
|
|
"Requirement already satisfied: pyparsing>=3 in ./.venv/lib/python3.13/site-packages (from matplotlib) (3.3.2)\n",
|
|
"Requirement already satisfied: python-dateutil>=2.7 in ./.venv/lib/python3.13/site-packages (from matplotlib) (2.9.0.post0)\n",
|
|
"Requirement already satisfied: six>=1.5 in ./.venv/lib/python3.13/site-packages (from python-dateutil>=2.7->matplotlib) (1.17.0)\n",
|
|
"Note: you may need to restart the kernel to use updated packages.\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"pip install matplotlib numpy pandas scipy seaborn"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "2e1b4f68",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import numpy as np\n",
|
|
"import pandas as pd\n",
|
|
"import scipy as sc\n",
|
|
"import seaborn as sns\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"import matplotlib as mpl\n",
|
|
"\n",
|
|
"g = 9.805\n",
|
|
"ug = 0.001\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "9986ac20",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Sezione inutile all'ultilizzo in lab: creazione di dati pseudo random"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 59,
|
|
"id": "a5b574c7",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>m1</th>\n",
|
|
" <th>m2</th>\n",
|
|
" <th>m3</th>\n",
|
|
" <th>m4</th>\n",
|
|
" <th>m5</th>\n",
|
|
" <th>Dx1</th>\n",
|
|
" <th>Dx2</th>\n",
|
|
" <th>Dx3</th>\n",
|
|
" <th>Dx4</th>\n",
|
|
" <th>Dx5</th>\n",
|
|
" <th>Dx6</th>\n",
|
|
" <th>Dx7</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>0.050</td>\n",
|
|
" <td>0.052432</td>\n",
|
|
" <td>0.038498</td>\n",
|
|
" <td>0.041740</td>\n",
|
|
" <td>0.066845</td>\n",
|
|
" <td>0.018047</td>\n",
|
|
" <td>0.025734</td>\n",
|
|
" <td>0.031742</td>\n",
|
|
" <td>0.022223</td>\n",
|
|
" <td>0.021998</td>\n",
|
|
" <td>0.021180</td>\n",
|
|
" <td>0.022974</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>0.075</td>\n",
|
|
" <td>0.072613</td>\n",
|
|
" <td>0.062558</td>\n",
|
|
" <td>0.077425</td>\n",
|
|
" <td>0.015478</td>\n",
|
|
" <td>0.042429</td>\n",
|
|
" <td>0.040160</td>\n",
|
|
" <td>0.037280</td>\n",
|
|
" <td>0.033654</td>\n",
|
|
" <td>0.042858</td>\n",
|
|
" <td>0.037256</td>\n",
|
|
" <td>0.043517</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>0.100</td>\n",
|
|
" <td>0.103347</td>\n",
|
|
" <td>0.101605</td>\n",
|
|
" <td>0.099361</td>\n",
|
|
" <td>0.093900</td>\n",
|
|
" <td>0.052411</td>\n",
|
|
" <td>0.046097</td>\n",
|
|
" <td>0.050659</td>\n",
|
|
" <td>0.049701</td>\n",
|
|
" <td>0.047669</td>\n",
|
|
" <td>0.039527</td>\n",
|
|
" <td>0.049989</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>0.125</td>\n",
|
|
" <td>0.118064</td>\n",
|
|
" <td>0.150049</td>\n",
|
|
" <td>0.124056</td>\n",
|
|
" <td>0.153998</td>\n",
|
|
" <td>0.059645</td>\n",
|
|
" <td>0.056738</td>\n",
|
|
" <td>0.066964</td>\n",
|
|
" <td>0.065501</td>\n",
|
|
" <td>0.064932</td>\n",
|
|
" <td>0.051581</td>\n",
|
|
" <td>0.068314</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>0.150</td>\n",
|
|
" <td>0.158329</td>\n",
|
|
" <td>0.143522</td>\n",
|
|
" <td>0.153235</td>\n",
|
|
" <td>0.125121</td>\n",
|
|
" <td>0.070399</td>\n",
|
|
" <td>0.063578</td>\n",
|
|
" <td>0.077659</td>\n",
|
|
" <td>0.072795</td>\n",
|
|
" <td>0.067691</td>\n",
|
|
" <td>0.066485</td>\n",
|
|
" <td>0.074349</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>0.175</td>\n",
|
|
" <td>0.174045</td>\n",
|
|
" <td>0.152967</td>\n",
|
|
" <td>0.181660</td>\n",
|
|
" <td>0.176064</td>\n",
|
|
" <td>0.087671</td>\n",
|
|
" <td>0.090652</td>\n",
|
|
" <td>0.088689</td>\n",
|
|
" <td>0.087106</td>\n",
|
|
" <td>0.078646</td>\n",
|
|
" <td>0.081791</td>\n",
|
|
" <td>0.080701</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <td>0.200</td>\n",
|
|
" <td>0.202672</td>\n",
|
|
" <td>0.184025</td>\n",
|
|
" <td>0.201895</td>\n",
|
|
" <td>0.229997</td>\n",
|
|
" <td>0.090162</td>\n",
|
|
" <td>0.098133</td>\n",
|
|
" <td>0.096154</td>\n",
|
|
" <td>0.100708</td>\n",
|
|
" <td>0.097934</td>\n",
|
|
" <td>0.094379</td>\n",
|
|
" <td>0.102352</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <td>0.225</td>\n",
|
|
" <td>0.228883</td>\n",
|
|
" <td>0.260549</td>\n",
|
|
" <td>0.226784</td>\n",
|
|
" <td>0.201636</td>\n",
|
|
" <td>0.104527</td>\n",
|
|
" <td>0.111335</td>\n",
|
|
" <td>0.105212</td>\n",
|
|
" <td>0.113755</td>\n",
|
|
" <td>0.108067</td>\n",
|
|
" <td>0.108022</td>\n",
|
|
" <td>0.107109</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>8</th>\n",
|
|
" <td>0.250</td>\n",
|
|
" <td>0.251224</td>\n",
|
|
" <td>0.242992</td>\n",
|
|
" <td>0.238627</td>\n",
|
|
" <td>0.266212</td>\n",
|
|
" <td>0.129012</td>\n",
|
|
" <td>0.118645</td>\n",
|
|
" <td>0.124443</td>\n",
|
|
" <td>0.118103</td>\n",
|
|
" <td>0.123003</td>\n",
|
|
" <td>0.121608</td>\n",
|
|
" <td>0.124631</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>9</th>\n",
|
|
" <td>0.275</td>\n",
|
|
" <td>0.275899</td>\n",
|
|
" <td>0.251327</td>\n",
|
|
" <td>0.280781</td>\n",
|
|
" <td>0.312978</td>\n",
|
|
" <td>0.136631</td>\n",
|
|
" <td>0.140951</td>\n",
|
|
" <td>0.132259</td>\n",
|
|
" <td>0.137163</td>\n",
|
|
" <td>0.137445</td>\n",
|
|
" <td>0.130444</td>\n",
|
|
" <td>0.140669</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>10</th>\n",
|
|
" <td>0.300</td>\n",
|
|
" <td>0.293292</td>\n",
|
|
" <td>0.293954</td>\n",
|
|
" <td>0.296745</td>\n",
|
|
" <td>0.308939</td>\n",
|
|
" <td>0.153415</td>\n",
|
|
" <td>0.151791</td>\n",
|
|
" <td>0.151211</td>\n",
|
|
" <td>0.146986</td>\n",
|
|
" <td>0.148656</td>\n",
|
|
" <td>0.147098</td>\n",
|
|
" <td>0.150745</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>11</th>\n",
|
|
" <td>0.325</td>\n",
|
|
" <td>0.324090</td>\n",
|
|
" <td>0.330965</td>\n",
|
|
" <td>0.334900</td>\n",
|
|
" <td>0.357583</td>\n",
|
|
" <td>0.160549</td>\n",
|
|
" <td>0.158722</td>\n",
|
|
" <td>0.160388</td>\n",
|
|
" <td>0.156324</td>\n",
|
|
" <td>0.157541</td>\n",
|
|
" <td>0.162296</td>\n",
|
|
" <td>0.161074</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>12</th>\n",
|
|
" <td>0.350</td>\n",
|
|
" <td>0.347289</td>\n",
|
|
" <td>0.355742</td>\n",
|
|
" <td>0.363132</td>\n",
|
|
" <td>0.347237</td>\n",
|
|
" <td>0.180310</td>\n",
|
|
" <td>0.168808</td>\n",
|
|
" <td>0.167861</td>\n",
|
|
" <td>0.168199</td>\n",
|
|
" <td>0.166944</td>\n",
|
|
" <td>0.172948</td>\n",
|
|
" <td>0.166314</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>13</th>\n",
|
|
" <td>0.375</td>\n",
|
|
" <td>0.375010</td>\n",
|
|
" <td>0.412261</td>\n",
|
|
" <td>0.358674</td>\n",
|
|
" <td>0.366582</td>\n",
|
|
" <td>0.178874</td>\n",
|
|
" <td>0.182060</td>\n",
|
|
" <td>0.185182</td>\n",
|
|
" <td>0.182708</td>\n",
|
|
" <td>0.178580</td>\n",
|
|
" <td>0.188249</td>\n",
|
|
" <td>0.183653</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>14</th>\n",
|
|
" <td>0.400</td>\n",
|
|
" <td>0.386501</td>\n",
|
|
" <td>0.396172</td>\n",
|
|
" <td>0.413298</td>\n",
|
|
" <td>0.409323</td>\n",
|
|
" <td>0.202518</td>\n",
|
|
" <td>0.192107</td>\n",
|
|
" <td>0.199646</td>\n",
|
|
" <td>0.191132</td>\n",
|
|
" <td>0.197280</td>\n",
|
|
" <td>0.205252</td>\n",
|
|
" <td>0.192378</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>15</th>\n",
|
|
" <td>0.425</td>\n",
|
|
" <td>0.417214</td>\n",
|
|
" <td>0.394087</td>\n",
|
|
" <td>0.418190</td>\n",
|
|
" <td>0.396204</td>\n",
|
|
" <td>0.213574</td>\n",
|
|
" <td>0.208489</td>\n",
|
|
" <td>0.209244</td>\n",
|
|
" <td>0.201062</td>\n",
|
|
" <td>0.216948</td>\n",
|
|
" <td>0.205209</td>\n",
|
|
" <td>0.215061</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>16</th>\n",
|
|
" <td>0.450</td>\n",
|
|
" <td>0.448536</td>\n",
|
|
" <td>0.480177</td>\n",
|
|
" <td>0.439624</td>\n",
|
|
" <td>0.472196</td>\n",
|
|
" <td>0.226967</td>\n",
|
|
" <td>0.217532</td>\n",
|
|
" <td>0.216700</td>\n",
|
|
" <td>0.220931</td>\n",
|
|
" <td>0.220583</td>\n",
|
|
" <td>0.228625</td>\n",
|
|
" <td>0.223440</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>17</th>\n",
|
|
" <td>0.475</td>\n",
|
|
" <td>0.476295</td>\n",
|
|
" <td>0.480740</td>\n",
|
|
" <td>0.472676</td>\n",
|
|
" <td>0.475891</td>\n",
|
|
" <td>0.241500</td>\n",
|
|
" <td>0.235796</td>\n",
|
|
" <td>0.234180</td>\n",
|
|
" <td>0.236741</td>\n",
|
|
" <td>0.226907</td>\n",
|
|
" <td>0.227570</td>\n",
|
|
" <td>0.237174</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" m1 m2 m3 m4 m5 Dx1 Dx2 \\\n",
|
|
"0 0.050 0.052432 0.038498 0.041740 0.066845 0.018047 0.025734 \n",
|
|
"1 0.075 0.072613 0.062558 0.077425 0.015478 0.042429 0.040160 \n",
|
|
"2 0.100 0.103347 0.101605 0.099361 0.093900 0.052411 0.046097 \n",
|
|
"3 0.125 0.118064 0.150049 0.124056 0.153998 0.059645 0.056738 \n",
|
|
"4 0.150 0.158329 0.143522 0.153235 0.125121 0.070399 0.063578 \n",
|
|
"5 0.175 0.174045 0.152967 0.181660 0.176064 0.087671 0.090652 \n",
|
|
"6 0.200 0.202672 0.184025 0.201895 0.229997 0.090162 0.098133 \n",
|
|
"7 0.225 0.228883 0.260549 0.226784 0.201636 0.104527 0.111335 \n",
|
|
"8 0.250 0.251224 0.242992 0.238627 0.266212 0.129012 0.118645 \n",
|
|
"9 0.275 0.275899 0.251327 0.280781 0.312978 0.136631 0.140951 \n",
|
|
"10 0.300 0.293292 0.293954 0.296745 0.308939 0.153415 0.151791 \n",
|
|
"11 0.325 0.324090 0.330965 0.334900 0.357583 0.160549 0.158722 \n",
|
|
"12 0.350 0.347289 0.355742 0.363132 0.347237 0.180310 0.168808 \n",
|
|
"13 0.375 0.375010 0.412261 0.358674 0.366582 0.178874 0.182060 \n",
|
|
"14 0.400 0.386501 0.396172 0.413298 0.409323 0.202518 0.192107 \n",
|
|
"15 0.425 0.417214 0.394087 0.418190 0.396204 0.213574 0.208489 \n",
|
|
"16 0.450 0.448536 0.480177 0.439624 0.472196 0.226967 0.217532 \n",
|
|
"17 0.475 0.476295 0.480740 0.472676 0.475891 0.241500 0.235796 \n",
|
|
"\n",
|
|
" Dx3 Dx4 Dx5 Dx6 Dx7 \n",
|
|
"0 0.031742 0.022223 0.021998 0.021180 0.022974 \n",
|
|
"1 0.037280 0.033654 0.042858 0.037256 0.043517 \n",
|
|
"2 0.050659 0.049701 0.047669 0.039527 0.049989 \n",
|
|
"3 0.066964 0.065501 0.064932 0.051581 0.068314 \n",
|
|
"4 0.077659 0.072795 0.067691 0.066485 0.074349 \n",
|
|
"5 0.088689 0.087106 0.078646 0.081791 0.080701 \n",
|
|
"6 0.096154 0.100708 0.097934 0.094379 0.102352 \n",
|
|
"7 0.105212 0.113755 0.108067 0.108022 0.107109 \n",
|
|
"8 0.124443 0.118103 0.123003 0.121608 0.124631 \n",
|
|
"9 0.132259 0.137163 0.137445 0.130444 0.140669 \n",
|
|
"10 0.151211 0.146986 0.148656 0.147098 0.150745 \n",
|
|
"11 0.160388 0.156324 0.157541 0.162296 0.161074 \n",
|
|
"12 0.167861 0.168199 0.166944 0.172948 0.166314 \n",
|
|
"13 0.185182 0.182708 0.178580 0.188249 0.183653 \n",
|
|
"14 0.199646 0.191132 0.197280 0.205252 0.192378 \n",
|
|
"15 0.209244 0.201062 0.216948 0.205209 0.215061 \n",
|
|
"16 0.216700 0.220931 0.220583 0.228625 0.223440 \n",
|
|
"17 0.234180 0.236741 0.226907 0.227570 0.237174 "
|
|
]
|
|
},
|
|
"execution_count": 59,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"rng = np.random.default_rng(42)\n",
|
|
"\n",
|
|
"m1 = np.arange(0.05, 0.5, 0.025)\n",
|
|
"rng = np.random.default_rng(50)\n",
|
|
"m2 = m1 + rng.normal(0, 0.0050, size=m1.size)\n",
|
|
"rng = np.random.default_rng(51)\n",
|
|
"m3 = m1 + rng.normal(0, 0.020, size=m1.size)\n",
|
|
"rng = np.random.default_rng(52)\n",
|
|
"m4 = m1 + rng.normal(0, 0.010, size=m1.size)\n",
|
|
"rng = np.random.default_rng(55)\n",
|
|
"m5 = m1 + rng.normal(0, 0.020, size=m1.size)\n",
|
|
"\n",
|
|
"\n",
|
|
"K_vera = 20.0\n",
|
|
"\n",
|
|
"Dx_vero = (m1 * g) / K_vera\n",
|
|
"Dx_errore1 = Dx_vero + rng.normal(0, 0.0050, size=Dx_vero.size)\n",
|
|
"rng = np.random.default_rng(43)\n",
|
|
"Dx_errore2 = Dx_vero + rng.normal(0, 0.0050, size=Dx_vero.size)\n",
|
|
"rng = np.random.default_rng(44)\n",
|
|
"Dx_errore3 = Dx_vero + rng.normal(0, 0.0050, size=Dx_vero.size)\n",
|
|
"rng = np.random.default_rng(45)\n",
|
|
"Dx_errore4 = Dx_vero + rng.normal(0, 0.0050, size=Dx_vero.size)\n",
|
|
"rng = np.random.default_rng(46)\n",
|
|
"Dx_errore5 = Dx_vero + rng.normal(0, 0.0050, size=Dx_vero.size)\n",
|
|
"rng = np.random.default_rng(47)\n",
|
|
"Dx_errore6 = Dx_vero + rng.normal(0, 0.0050, size=Dx_vero.size)\n",
|
|
"rng = np.random.default_rng(48)\n",
|
|
"Dx_errore7 = Dx_vero + rng.normal(0, 0.0050, size=Dx_vero.size)\n",
|
|
"\n",
|
|
"df = pd.DataFrame({\n",
|
|
" 'm1': m1,\n",
|
|
" 'm2': m2,\n",
|
|
" 'm3': m3,\n",
|
|
" 'm4': m4,\n",
|
|
" 'm5': m5,\n",
|
|
" 'Dx1': Dx_errore1,\n",
|
|
" 'Dx2': Dx_errore2,\n",
|
|
" 'Dx3': Dx_errore3,\n",
|
|
" 'Dx4': Dx_errore4,\n",
|
|
" 'Dx5': Dx_errore5,\n",
|
|
" 'Dx6': Dx_errore6,\n",
|
|
" 'Dx7': Dx_errore7,\n",
|
|
"})\n",
|
|
"\n",
|
|
"df"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "e90c3495",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Realmente vorremmo prendere i dati da un csv\n",
|
|
"```python\n",
|
|
"df = pd.read_csv(r'molla.csv')\n",
|
|
"```"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "f3b7dfe0",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Inzio dello studio statistico della molla"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"id": "d98f6172",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"ename": "TypeError",
|
|
"evalue": "Cannot perform reduction 'mean' with string dtype",
|
|
"output_type": "error",
|
|
"traceback": [
|
|
"\u001b[31m---------------------------------------------------------------------------\u001b[39m",
|
|
"\u001b[31mTypeError\u001b[39m Traceback (most recent call last)",
|
|
"\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[3]\u001b[39m\u001b[32m, line 61\u001b[39m\n\u001b[32m 57\u001b[39m sigma = np.sqrt(\u001b[32m1.0\u001b[39m / den)\n\u001b[32m 59\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m media, sigma\n\u001b[32m---> \u001b[39m\u001b[32m61\u001b[39m df = \u001b[43mcalcola_Dx_stats\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdf\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43merr_arbitrario_DX\u001b[49m\u001b[43m=\u001b[49m\u001b[32;43m0.01\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[32m 62\u001b[39m df = calcola_m_stats(df, err_arbitrario_m=\u001b[32m0.01\u001b[39m)\n\u001b[32m 64\u001b[39m df[\u001b[33m\"\u001b[39m\u001b[33mK\u001b[39m\u001b[33m\"\u001b[39m] = df.m * g / df.Dx\n",
|
|
"\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[3]\u001b[39m\u001b[32m, line 19\u001b[39m, in \u001b[36mcalcola_Dx_stats\u001b[39m\u001b[34m(df, err_arbitrario_DX)\u001b[39m\n\u001b[32m 16\u001b[39m sigma = valori.std(ddof=\u001b[32m1\u001b[39m) \u001b[38;5;66;03m# sigma sperimentale S\u001b[39;00m\n\u001b[32m 17\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m pd.Series({\u001b[33m'\u001b[39m\u001b[33mDx\u001b[39m\u001b[33m'\u001b[39m: media, \u001b[33m'\u001b[39m\u001b[33muDx\u001b[39m\u001b[33m'\u001b[39m: sigma})\n\u001b[32m---> \u001b[39m\u001b[32m19\u001b[39m stats = \u001b[43mdf\u001b[49m\u001b[43m.\u001b[49m\u001b[43mapply\u001b[49m\u001b[43m(\u001b[49m\u001b[43mriga_stats\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[43m=\u001b[49m\u001b[32;43m1\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[32m 20\u001b[39m df[\u001b[33m'\u001b[39m\u001b[33mDx\u001b[39m\u001b[33m'\u001b[39m] = stats[\u001b[33m'\u001b[39m\u001b[33mDx\u001b[39m\u001b[33m'\u001b[39m]\n\u001b[32m 21\u001b[39m df[\u001b[33m'\u001b[39m\u001b[33muDx\u001b[39m\u001b[33m'\u001b[39m] = stats[\u001b[33m'\u001b[39m\u001b[33muDx\u001b[39m\u001b[33m'\u001b[39m]\n",
|
|
"\u001b[36mFile \u001b[39m\u001b[32m~/uni/lab/.venv/lib/python3.13/site-packages/pandas/core/frame.py:12419\u001b[39m, in \u001b[36mDataFrame.apply\u001b[39m\u001b[34m(self, func, axis, raw, result_type, args, by_row, engine, engine_kwargs, **kwargs)\u001b[39m\n\u001b[32m 12405\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mUnknown engine \u001b[39m\u001b[33m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mengine\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m'\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m 12407\u001b[39m op = frame_apply(\n\u001b[32m 12408\u001b[39m \u001b[38;5;28mself\u001b[39m,\n\u001b[32m 12409\u001b[39m func=func,\n\u001b[32m (...)\u001b[39m\u001b[32m 12417\u001b[39m kwargs=kwargs,\n\u001b[32m 12418\u001b[39m )\n\u001b[32m> \u001b[39m\u001b[32m12419\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mop\u001b[49m\u001b[43m.\u001b[49m\u001b[43mapply\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m.__finalize__(\u001b[38;5;28mself\u001b[39m, method=\u001b[33m\"\u001b[39m\u001b[33mapply\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m 12420\u001b[39m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mhasattr\u001b[39m(engine, \u001b[33m\"\u001b[39m\u001b[33m__pandas_udf__\u001b[39m\u001b[33m\"\u001b[39m):\n\u001b[32m 12421\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m result_type \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n",
|
|
"\u001b[36mFile \u001b[39m\u001b[32m~/uni/lab/.venv/lib/python3.13/site-packages/pandas/core/apply.py:1015\u001b[39m, in \u001b[36mFrameApply.apply\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 1012\u001b[39m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m.raw:\n\u001b[32m 1013\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m.apply_raw(engine=\u001b[38;5;28mself\u001b[39m.engine, engine_kwargs=\u001b[38;5;28mself\u001b[39m.engine_kwargs)\n\u001b[32m-> \u001b[39m\u001b[32m1015\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mapply_standard\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
|
|
"\u001b[36mFile \u001b[39m\u001b[32m~/uni/lab/.venv/lib/python3.13/site-packages/pandas/core/apply.py:1167\u001b[39m, in \u001b[36mFrameApply.apply_standard\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 1165\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mapply_standard\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[32m 1166\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m.engine == \u001b[33m\"\u001b[39m\u001b[33mpython\u001b[39m\u001b[33m\"\u001b[39m:\n\u001b[32m-> \u001b[39m\u001b[32m1167\u001b[39m results, res_index = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mapply_series_generator\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1168\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m 1169\u001b[39m results, res_index = \u001b[38;5;28mself\u001b[39m.apply_series_numba()\n",
|
|
"\u001b[36mFile \u001b[39m\u001b[32m~/uni/lab/.venv/lib/python3.13/site-packages/pandas/core/apply.py:1183\u001b[39m, in \u001b[36mFrameApply.apply_series_generator\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 1180\u001b[39m results = {}\n\u001b[32m 1182\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m i, v \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(series_gen):\n\u001b[32m-> \u001b[39m\u001b[32m1183\u001b[39m results[i] = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43mv\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1184\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(results[i], ABCSeries):\n\u001b[32m 1185\u001b[39m \u001b[38;5;66;03m# If we have a view on v, we need to make a copy because\u001b[39;00m\n\u001b[32m 1186\u001b[39m \u001b[38;5;66;03m# series_generator will swap out the underlying data\u001b[39;00m\n\u001b[32m 1187\u001b[39m results[i] = results[i].copy(deep=\u001b[38;5;28;01mFalse\u001b[39;00m)\n",
|
|
"\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[3]\u001b[39m\u001b[32m, line 15\u001b[39m, in \u001b[36mcalcola_Dx_stats.<locals>.riga_stats\u001b[39m\u001b[34m(row)\u001b[39m\n\u001b[32m 13\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m pd.Series({\u001b[33m'\u001b[39m\u001b[33mDx\u001b[39m\u001b[33m'\u001b[39m: valori.iloc[\u001b[32m0\u001b[39m], \u001b[33m'\u001b[39m\u001b[33muDx\u001b[39m\u001b[33m'\u001b[39m: err_arbitrario_DX})\n\u001b[32m 14\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m---> \u001b[39m\u001b[32m15\u001b[39m media = \u001b[43mvalori\u001b[49m\u001b[43m.\u001b[49m\u001b[43mmean\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 16\u001b[39m sigma = valori.std(ddof=\u001b[32m1\u001b[39m) \u001b[38;5;66;03m# sigma sperimentale S\u001b[39;00m\n\u001b[32m 17\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m pd.Series({\u001b[33m'\u001b[39m\u001b[33mDx\u001b[39m\u001b[33m'\u001b[39m: media, \u001b[33m'\u001b[39m\u001b[33muDx\u001b[39m\u001b[33m'\u001b[39m: sigma})\n",
|
|
"\u001b[36mFile \u001b[39m\u001b[32m~/uni/lab/.venv/lib/python3.13/site-packages/pandas/util/_decorators.py:336\u001b[39m, in \u001b[36mdeprecate_nonkeyword_arguments.<locals>.decorate.<locals>.wrapper\u001b[39m\u001b[34m(*args, **kwargs)\u001b[39m\n\u001b[32m 330\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(args) > num_allow_args:\n\u001b[32m 331\u001b[39m warnings.warn(\n\u001b[32m 332\u001b[39m msg.format(arguments=_format_argument_list(allow_args)),\n\u001b[32m 333\u001b[39m klass,\n\u001b[32m 334\u001b[39m stacklevel=find_stack_level(),\n\u001b[32m 335\u001b[39m )\n\u001b[32m--> \u001b[39m\u001b[32m336\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
|
|
"\u001b[36mFile \u001b[39m\u001b[32m~/uni/lab/.venv/lib/python3.13/site-packages/pandas/core/series.py:8113\u001b[39m, in \u001b[36mSeries.mean\u001b[39m\u001b[34m(self, axis, skipna, numeric_only, **kwargs)\u001b[39m\n\u001b[32m 8063\u001b[39m \u001b[38;5;129m@deprecate_nonkeyword_arguments\u001b[39m(Pandas4Warning, allowed_args=[\u001b[33m\"\u001b[39m\u001b[33mself\u001b[39m\u001b[33m\"\u001b[39m], name=\u001b[33m\"\u001b[39m\u001b[33mmean\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m 8064\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mmean\u001b[39m(\n\u001b[32m 8065\u001b[39m \u001b[38;5;28mself\u001b[39m,\n\u001b[32m (...)\u001b[39m\u001b[32m 8069\u001b[39m **kwargs,\n\u001b[32m 8070\u001b[39m ) -> Any:\n\u001b[32m 8071\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33;03m\"\"\"\u001b[39;00m\n\u001b[32m 8072\u001b[39m \u001b[33;03m Return the mean of the values over the requested axis.\u001b[39;00m\n\u001b[32m 8073\u001b[39m \n\u001b[32m (...)\u001b[39m\u001b[32m 8111\u001b[39m \u001b[33;03m 2.0\u001b[39;00m\n\u001b[32m 8112\u001b[39m \u001b[33;03m \"\"\"\u001b[39;00m\n\u001b[32m-> \u001b[39m\u001b[32m8113\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mNDFrame\u001b[49m\u001b[43m.\u001b[49m\u001b[43mmean\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 8114\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[43m=\u001b[49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mskipna\u001b[49m\u001b[43m=\u001b[49m\u001b[43mskipna\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnumeric_only\u001b[49m\u001b[43m=\u001b[49m\u001b[43mnumeric_only\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\n\u001b[32m 8115\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n",
|
|
"\u001b[36mFile \u001b[39m\u001b[32m~/uni/lab/.venv/lib/python3.13/site-packages/pandas/core/generic.py:11831\u001b[39m, in \u001b[36mNDFrame.mean\u001b[39m\u001b[34m(self, axis, skipna, numeric_only, **kwargs)\u001b[39m\n\u001b[32m 11823\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mmean\u001b[39m(\n\u001b[32m 11824\u001b[39m \u001b[38;5;28mself\u001b[39m,\n\u001b[32m 11825\u001b[39m *,\n\u001b[32m (...)\u001b[39m\u001b[32m 11829\u001b[39m **kwargs,\n\u001b[32m 11830\u001b[39m ) -> Series | \u001b[38;5;28mfloat\u001b[39m:\n\u001b[32m> \u001b[39m\u001b[32m11831\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_stat_function\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 11832\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mmean\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnanops\u001b[49m\u001b[43m.\u001b[49m\u001b[43mnanmean\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mskipna\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnumeric_only\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\n\u001b[32m 11833\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n",
|
|
"\u001b[36mFile \u001b[39m\u001b[32m~/uni/lab/.venv/lib/python3.13/site-packages/pandas/core/generic.py:11785\u001b[39m, in \u001b[36mNDFrame._stat_function\u001b[39m\u001b[34m(self, name, func, axis, skipna, numeric_only, **kwargs)\u001b[39m\n\u001b[32m 11781\u001b[39m nv.validate_func(name, (), kwargs)\n\u001b[32m 11783\u001b[39m validate_bool_kwarg(skipna, \u001b[33m\"\u001b[39m\u001b[33mskipna\u001b[39m\u001b[33m\"\u001b[39m, none_allowed=\u001b[38;5;28;01mFalse\u001b[39;00m)\n\u001b[32m> \u001b[39m\u001b[32m11785\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_reduce\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 11786\u001b[39m \u001b[43m \u001b[49m\u001b[43mfunc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mname\u001b[49m\u001b[43m=\u001b[49m\u001b[43mname\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[43m=\u001b[49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mskipna\u001b[49m\u001b[43m=\u001b[49m\u001b[43mskipna\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnumeric_only\u001b[49m\u001b[43m=\u001b[49m\u001b[43mnumeric_only\u001b[49m\n\u001b[32m 11787\u001b[39m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n",
|
|
"\u001b[36mFile \u001b[39m\u001b[32m~/uni/lab/.venv/lib/python3.13/site-packages/pandas/core/series.py:7480\u001b[39m, in \u001b[36mSeries._reduce\u001b[39m\u001b[34m(self, op, name, axis, skipna, numeric_only, filter_type, **kwds)\u001b[39m\n\u001b[32m 7476\u001b[39m \u001b[38;5;28mself\u001b[39m._get_axis_number(axis)\n\u001b[32m 7478\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(delegate, ExtensionArray):\n\u001b[32m 7479\u001b[39m \u001b[38;5;66;03m# dispatch to ExtensionArray interface\u001b[39;00m\n\u001b[32m-> \u001b[39m\u001b[32m7480\u001b[39m result = \u001b[43mdelegate\u001b[49m\u001b[43m.\u001b[49m\u001b[43m_reduce\u001b[49m\u001b[43m(\u001b[49m\u001b[43mname\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mskipna\u001b[49m\u001b[43m=\u001b[49m\u001b[43mskipna\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwds\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 7482\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m 7483\u001b[39m \u001b[38;5;66;03m# dispatch to numpy arrays\u001b[39;00m\n\u001b[32m 7484\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m numeric_only \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m.dtype.kind \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m \u001b[33m\"\u001b[39m\u001b[33miufcb\u001b[39m\u001b[33m\"\u001b[39m:\n\u001b[32m 7485\u001b[39m \u001b[38;5;66;03m# i.e. not is_numeric_dtype(self.dtype)\u001b[39;00m\n",
|
|
"\u001b[36mFile \u001b[39m\u001b[32m~/uni/lab/.venv/lib/python3.13/site-packages/pandas/core/arrays/string_.py:967\u001b[39m, in \u001b[36mStringArray._reduce\u001b[39m\u001b[34m(self, name, skipna, keepdims, axis, **kwargs)\u001b[39m\n\u001b[32m 964\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m._from_sequence([result], dtype=\u001b[38;5;28mself\u001b[39m.dtype)\n\u001b[32m 965\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m result\n\u001b[32m--> \u001b[39m\u001b[32m967\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m(\u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mCannot perform reduction \u001b[39m\u001b[33m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mname\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m'\u001b[39m\u001b[33m with string dtype\u001b[39m\u001b[33m\"\u001b[39m)\n",
|
|
"\u001b[31mTypeError\u001b[39m: Cannot perform reduction 'mean' with string dtype"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"df = pd.read_csv(r'statica1.csv')\n",
|
|
"\n",
|
|
"def calcola_Dx_stats(df, err_arbitrario_DX):\n",
|
|
" dx_cols = [col for col in df.columns if col.startswith('Dx')]\n",
|
|
" \n",
|
|
" def riga_stats(row):\n",
|
|
" valori = row[dx_cols].dropna()\n",
|
|
" n = len(valori)\n",
|
|
" \n",
|
|
" if n == 0:\n",
|
|
" return pd.Series({'Dx': np.nan, 'uDx': np.nan})\n",
|
|
" elif n == 1:\n",
|
|
" return pd.Series({'Dx': valori.iloc[0], 'uDx': err_arbitrario_DX})\n",
|
|
" else:\n",
|
|
" media = valori.mean()\n",
|
|
" sigma = valori.std(ddof=1) # sigma sperimentale S\n",
|
|
" return pd.Series({'Dx': media, 'uDx': sigma})\n",
|
|
" \n",
|
|
" stats = df.apply(riga_stats, axis=1)\n",
|
|
" df['Dx'] = stats['Dx']\n",
|
|
" df['uDx'] = stats['uDx']\n",
|
|
" \n",
|
|
" return df\n",
|
|
"\n",
|
|
"def calcola_m_stats(df, err_arbitrario_m):\n",
|
|
" m_cols = [col for col in df.columns if col.startswith('m')]\n",
|
|
" \n",
|
|
" def riga_stats(row):\n",
|
|
" valori = row[m_cols].dropna()\n",
|
|
" n = len(valori)\n",
|
|
" \n",
|
|
" if n == 0:\n",
|
|
" return pd.Series({'m': np.nan, 'um': np.nan})\n",
|
|
" elif n == 1:\n",
|
|
" return pd.Series({'m': valori.iloc[0], 'um': err_arbitrario_m})\n",
|
|
" else:\n",
|
|
" media = valori.mean()\n",
|
|
" sigma = valori.std(ddof=1) # sigma sperimentale S\n",
|
|
" return pd.Series({'m': media, 'um': sigma})\n",
|
|
" \n",
|
|
" stats = df.apply(riga_stats, axis=1)\n",
|
|
" df['m'] = stats['m']\n",
|
|
" df['um'] = stats['um']\n",
|
|
" \n",
|
|
" return df\n",
|
|
"\n",
|
|
"def mediaPesata(x, ux, dim = 0):\n",
|
|
" x_arr = x.to_numpy() if isinstance(x, (pd.Series, pd.DataFrame)) else np.asarray(x)\n",
|
|
" sigma_arr = ux.to_numpy() if isinstance(ux, (pd.Series, pd.DataFrame)) else np.asarray(ux)\n",
|
|
"\n",
|
|
" w = 1.0 / (sigma_arr ** 2)\n",
|
|
"\n",
|
|
" num = np.nansum(w * x_arr, axis=dim)\n",
|
|
" den = np.nansum(w, axis=dim)\n",
|
|
"\n",
|
|
" media = num / den\n",
|
|
" sigma = np.sqrt(1.0 / den)\n",
|
|
"\n",
|
|
" return media, sigma\n",
|
|
"\n",
|
|
"df = calcola_Dx_stats(df, err_arbitrario_DX=0.01)\n",
|
|
"df = calcola_m_stats(df, err_arbitrario_m=0.01)\n",
|
|
"\n",
|
|
"df[\"K\"] = df.m * g / df.Dx\n",
|
|
"df[\"uK\"] = np.sqrt( (df.m * g / df.Dx**2)**2 * df.uDx**2 + (g/df.Dx)**2 * df.um**2 + (df.m / df.Dx)**2 * ug**2)\n",
|
|
"\n",
|
|
"df[\"F\"] = df.m * g\n",
|
|
"df[\"uF\"] = np.sqrt( df.m**2 * ug**2 + g**2 * df.um**2)\n",
|
|
"media_K, sigma_K = mediaPesata(df[\"K\"], df[\"uK\"])\n",
|
|
"\n",
|
|
"#chi 2\n",
|
|
"chi2_val = np.sum((df[\"K\"] - media_K)**2 / df[\"uK\"]**2) # formula corretta\n",
|
|
"dof = len(df[\"K\"]) - 1 # -1 perché stimi solo la media\n",
|
|
"chi2_rid = chi2_val / dof\n",
|
|
"p_value = 1 - sc.stats.chi2.cdf(chi2_val, dof)\n",
|
|
"\n",
|
|
"print(\"#\"*60)\n",
|
|
"print(\"Valori di K\")\n",
|
|
"print(\"media pesata K:\", media_K)\n",
|
|
"print(\"sigma K:\", sigma_K)\n",
|
|
"print(f\"Chi2 : {chi2_val:.4f}\")\n",
|
|
"print(f\"DOF : {dof}\")\n",
|
|
"print(f\"Chi2 ridotto : {chi2_rid:.4f} (ideale ~ 1)\")\n",
|
|
"print(f\"p-value : {p_value:.4f}\")\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "215645fe",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Fit lineare di K\n",
|
|
"Funzione fatta come quella spiegata dalla Carpi."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 74,
|
|
"id": "6b8e71d0",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"############################################################\n",
|
|
"Calcolo della regressione lineare\n",
|
|
"A = 19.8275 +- 0.4716\n",
|
|
"B = 0.0194 +- 0.0685\n",
|
|
"cov_AB = -0.029082\n",
|
|
"p-value chi² = 0.0016\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"def sigma_y_equiv(x, y, sigma_x, sigma_y):\n",
|
|
" # Stima iniziale di A con sola sigma_y\n",
|
|
" sy2 = sigma_y**2\n",
|
|
" Sw = np.sum(1 / sy2)\n",
|
|
" Sx = np.sum(x / sy2)\n",
|
|
" Sxx = np.sum(x**2 / sy2)\n",
|
|
" Sy = np.sum(y / sy2)\n",
|
|
" Sxy = np.sum(x * y / sy2)\n",
|
|
" delta = Sxx * Sw - Sx**2\n",
|
|
" A_est = (Sxy * Sw - Sx * Sy) / delta\n",
|
|
"\n",
|
|
" # Propagazione\n",
|
|
" sigma_eq = np.sqrt(sigma_y**2 + A_est**2 * sigma_x**2)\n",
|
|
" return sigma_eq\n",
|
|
"\n",
|
|
"\n",
|
|
"def reg_lin(x, y, sigma_x, sigma_y):\n",
|
|
" x = np.asarray(x, dtype=float)\n",
|
|
" y = np.asarray(y, dtype=float)\n",
|
|
" sigma_x = np.asarray(sigma_x, dtype=float)\n",
|
|
" sigma_y = np.asarray(sigma_y, dtype=float)\n",
|
|
"\n",
|
|
" # Propagazione errore x → y\n",
|
|
" sigma_y_eq = sigma_y_equiv(x, y, sigma_x, sigma_y)\n",
|
|
"\n",
|
|
" # Somme pesate\n",
|
|
" w = 1.0 / sigma_y_eq**2\n",
|
|
" Sw = np.sum(w)\n",
|
|
" Sx = np.sum(w * x)\n",
|
|
" Sxx = np.sum(w * x**2)\n",
|
|
" Sy = np.sum(w * y)\n",
|
|
" Sxy = np.sum(w * x * y)\n",
|
|
" delta = Sxx * Sw - Sx**2\n",
|
|
"\n",
|
|
" # Parametri\n",
|
|
" A = (Sxy * Sw - Sx * Sy) / delta\n",
|
|
" B = (Sxx * Sy - Sxy * Sx) / delta\n",
|
|
" sigma_A = np.sqrt(Sw / delta)\n",
|
|
" sigma_B = np.sqrt(Sxx / delta)\n",
|
|
" cov_AB = -Sx / delta\n",
|
|
"\n",
|
|
" # Chi quadro\n",
|
|
" x2 = np.sum((y - A * x - B)**2 / sigma_y_eq**2)\n",
|
|
" dof = len(x) - 2\n",
|
|
" chi = sc.stats.chi2.cdf(x2, dof) # P(X² > x2)\n",
|
|
"\n",
|
|
" return A, B, sigma_A, sigma_B, cov_AB, chi\n",
|
|
"\n",
|
|
"A, B, sA, sB, covAB, chi = reg_lin(df[\"Dx\"], df[\"F\"], df[\"uDx\"], df[\"uF\"])\n",
|
|
"print(\"#\"*60)\n",
|
|
"print(\"Calcolo della regressione lineare\")\n",
|
|
"print(f\"A = {A:.4f} +- {sA:.4f}\")\n",
|
|
"print(f\"B = {B:.4f} +- {sB:.4f}\")\n",
|
|
"print(f\"cov_AB = {covAB:.6f}\")\n",
|
|
"print(f\"p-value chi² = {chi:.4f}\")\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "bfbc49bf",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Grafico potente dei dati"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "3d1f0dc8",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"<>:25: SyntaxWarning: invalid escape sequence '\\p'\n",
|
|
"<>:25: SyntaxWarning: invalid escape sequence '\\p'\n",
|
|
"/tmp/ipykernel_2965/2212367346.py:25: SyntaxWarning: invalid escape sequence '\\p'\n",
|
|
" label=r\"Incertezza fit $\\pm\\,\\sigma$\")\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"Text(0.04, 0.95, '$k = A = (19.8 \\\\pm 0.5)\\\\ \\\\mathrm{N/m}$\\n$B = (0.020 \\\\pm 0.075)\\\\ \\\\mathrm{N}$')"
|
|
]
|
|
},
|
|
"execution_count": 51,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA58AAALOCAYAAAAutKeaAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAXEgAAFxIBZ5/SUgABAABJREFUeJzs3Xd4U9X/B/B32iYddC+6J7QsRWQpqOBElvBFBRWVoYIICA5Af4ITvwIqAqKIIDhAEURky1AQURQQRYZ00UV3S+lu0yTn90e/jS1NSktOmjR9v56H59Gbc+/9NPfd25zce85VCCEEiIiIiIiIiMzIztIFEBERERERke1j55OIiIiIiIjMjp1PIiIiIiIiMjt2PomIiIiIiMjs2PkkIiIiIiIis2Pnk4iIiIiIiMyOnU8iIiIiIiIyO3Y+iYiIiIiIyOzY+SQiIiIiIiKzY+eTiIiIiIiIzI6dTyIiIiIiIjI7dj6JiIiIiIjI7Nj5JCIiIiIiIrNj55OIiIiIiIjMjp1PImqW8ePHQ6FQXNW/gwcPWrp8qzNixAgoFAr8+OOPV2z7119/XfV7/+qrr5r/h2ml/vnnH4SGhqJ///6orKy0dDltRmPnEubVPFJSUpp0Xjbld+LVV181elzHjx/foL0152D16tUNaiIi0yiEEMLSRRBR65GRkYHCwkJs3boVc+fOBQDs2bMHQUFBRtc5duwYJk6ciAMHDmDgwIEtVKn1Ky0thZ+fH1xdXZGdnQ17e/tG21dWViIxMREAMGjQIGRmZmLEiBGYP39+o+tdc801eOWVV6R8kIuIiEBqairWrl1r8INka/Tuu+/i+eefBwAcP34cPXv2tHBFbUNj5xJ/f3/4+/tbuELbU11djbi4OAA15wUABs/LpvxO5ObmIjc3V3/eB4A1a9agd+/e8PLyQnBwcL32tTkw1N7SOSgsLERGRka92vixmcg0DpYugIhal+DgYAQHB+P48eP6ZTExMYiIiDC6Tn5+fgtU1vrs3LkTlZWVGDt27BU7ngDg5OSEbt26AQCUSiUAwNPTU7+Mrs6DDz6I77//HqGhobjuuussXU6bcTXnEjKNUqls0vnClN+J2g5j3fN+ZGSk0f3W5qCp7VuSl5cXvLy8+DeMSCJ2PonI7Nzd3dG3b1+4u7tbuhSrsnnzZgDAvffea9b99O3bFyEhIWbdR2sWFBSEffv2WboMIqvB3wkiMhd2PonI7K6//nr89ttvli7DqlRWVmLXrl3w8PDA7bffbtZ98b0nIiIia8AJh4jIbMaPH2/0FjqtVou1a9fi9ttvh6+vLxwdHREcHIz7778fP/30U4P2Bw8ebDDxQ0pKCn755ReMHDkS7du3h729PRQKhX6fAwcObNJkPIGBgfX2lZKSggULFuDOO+9EYGAglEol3N3d0bNnT7z++usoLi42+b3Zs2cPysrKMGzYMKhUKpO3d7lPP/1U/x4Zk5SUhKlTp6Jbt25wd3eHs7MzYmNj8eijj+Lrr79GRUWFvm1ERAQUCgVSU1MBABMmTLjiRCKZmZl49tln0alTJ7i4uMDV1RWdO3fG9OnTkZSU1KB97T7qTjZSUFCAadOmITQ0FI6OjggNDcW0adNQVFRk9Oc6dOgQ7rvvPnTo0AHOzs76YzdjxgwcOHCg3pity7Pw6aefGt3ugQMHcP/99yM4OBiOjo7w9fXF7bffjk8//RRarbZBe0PbTklJwaOPPorAwEA4OjoiOjoaL730EtRqtdH9AjXj7saOHat/H7y8vNC3b1/897//bfS9aCsKCwvxyiuvoHv37nB1dYWLiws6dOiAiRMn4uTJk42uu2XLFgwcOBAeHh5o164dOnfujP/7v/9DcXFxg3OIoZybun58fDwmTZqEqKgoODk5wd3dHddddx1efPFFZGdnX/V7olar8c477+Daa6+Fs7MzvL29MXDgQP0dF8Y053fCEpr7t0PWuobUnmebMlHS/v37MWrUKAQGBkKlUsHHxwcDBgzA8uXLOdEZtS2CiOgqrF27VgAQAERycrLBNuPGjRPh4eENll+8eFHccsstAoC4++67xY4dO8Tx48fFF198IWJiYgQA8cwzz9Rbp7S0VJw6dUrs2bNHv99FixaJbt26ifXr14vjx4+LNWvWCBcXF/0+BwwYIKZMmSJOnTrV4N+KFSv023nzzTfr7WvAgAECgBgwYIDYvHmzOHbsmNi2bZsYO3asUCgUIjo6WmRlZZn0/j3yyCMCgPj222+vav3w8HABQIwbN87g67XHx9ix+eGHH4Sjo6MIDg4WK1asEL/++qv4+eefxaJFi4S3t7cAIF599VV9+7i4OHHq1CkRFBQkAIj58+fXez8vXLhQb/v79+8X7u7uwsnJSbz22mvi4MGDYu/eveLFF18UKpVKuLi4NPjZa/fRq1cvAUBMnTpV9OjRQ7z//vvi2LFjYsuWLeL6668XAET//v2FVqtt8HO9+eabAoC44YYbxMaNG8WxY8fE3r17xfTp04W9vb0AIA4ePKhvX1t/7c+1du3aBtvU6XRi+vTpAoCIjY0VX3zxhTh+/LjYsWOHGDRokAAgBg4cKAoLC+utd/m2X3zxRXHttdeKTz/9VBw7dkxs2LBBREVFCQDigQceMHichBBi4cKFQqFQiODgYLFy5Upx5MgR8d1334kHHnhAABARERHi3LlzRte3dk05lzTmr7/+EkFBQcLOzk4888wzYu/eveLgwYPirbfeEm5ubsLe3l588MEHBtd9/vnnBQDh6+srli9fLo4dOyb27dsnHnroIdGlSxfRvXt3AUB/Hrk856auv27dOqFSqYSnp6dYvHixOHz4sNi5c6d46qmnhEKhED4+PuKXX35p9ntSVlamP491795dbNy4Ufzxxx9i8+bNok+fPvrfEwDiwIED9dZtyu9EUxw4cMDoPq62/dX87ZCxbt3a6iosLBS//PKLiIyMFJ07dxa///67OHXqlMjJydG30el0Ytq0aQKA6Ny5s/j888/Fb7/9JjZu3CjuvPNOAUBcd9119dYhsmXsfBLRVTGl81n7gX3o0KFCp9PVey0vL0//oWfRokUN1k1OTtbvNyIiQly8eLHe60888US9zucrr7zSYBt5eXkiODhYABCDBw9uUMOAAQNEz549hVqtbrDuiy++KACIUaNGGfyZm0KtVgtPT0/Rrl07UV5eflXbMLXz2aNHDwFA7N27t8Frhw4dEgAMvne1+23sA2lCQoJwc3MTAMSePXsavP7NN98IAMLFxUUkJSU1eL32Q7ODg0O9jqIQQhQUFAgnJycBQOzfv7/ea/n5+cLBwUE4OjqKkpKSBtt9/fXXjX6wbezn+u9//ysAiJCQEFFQUFDvNa1WK+6++259ng2p3baLi4uIi4ur99rZs2f1eU5ISGiw7oYNGwQA4eXlJbKzsxu8XvuhtkuXLkKj0Rjcv7UzpfOZn5+v/13++OOPG7x+9OhRoVAohJ2dnTh8+HC91zZu3CgACHt7e/Hnn382WPexxx7T12Xod8HU9Q8fPiwcHByEUqkUp0+fbvD6O++8IwAIf39/cenSJaPvgSFPPfWUACAiIyNFUVFRvdfKy8v1neLGOnpN+V1vjDk6n6b87TBlXWOdz9zcXNGjRw9x/fXXi7y8PIM1L1iwQAAQHTp0EGVlZQ1eHz58uAAgBg0aZHB9IlvDzicRXZW6Hxjt7e0N/lMoFA06n7t379avd+LECYPbfvvttwUA4erq2uDDft3O59tvv91g3cLCQpGeni6EqPngfvlVA51Op/8QEhoaKvLz8w3+bJd3emqlpKTof+bLP9Q1Ve17cN99913V+kL8+8FQoVAYfO/t7Owa/TDv6OgoAIhff/3V4Ov333+/WL9+vdH9NvaBtPaK3G233Wa0Te2VhunTpzd4rbbz2atXL4Pr9u/f3+AH+iNHjuhzU1VV1WC9xMREMXToUPH33383+efKz88X7dq1EwDE4sWLDdZz7NgxfSYNdbZrt23seNd2ni7fd3V1tQgNDRUAxOuvv25w3YyMDP2+N2/ebLCNtTOl8/nCCy/oP9hf3qGoVXt1afjw4fWWd+nSpdEvktLT04VCoTDaeTR1/RtuuEEAEBMnTjS4flVVlT577777rsE2hmRkZAgHBwcBQCxbtsxgm/Xr17do59POzs7o34nLz1nGajLlb4epf3cMdT7T0tJEbGysuPnmm43+LSgoKNAfw88//9xgm19++UW/7T/++MNgGyJbwjGfRGSyXbt24a+//mrw75577mnQduPGjQAAHx8f9OjRw+D27rrrLgA1z8HctWuX0f3edNNNDZZ5enrqZ3YdM2YM+vXrV+/1N998E3v27IFSqcTXX38NHx+fBtsYP348BgwYYHCf4eHhAGrGDiUkJBitrTG1Y65GjRp1VevXdc899xh8719//fVG14uJiQEATJ48GUeOHGnw+saNG/HQQw81ux61Wo2tW7cCQKPPdI2NjQUA/PDDD0bb9O7d2+Dy2ucEXj4eLioqCg4ODigtLcXYsWMbjHeNjo7Gjh079M83bIqdO3eirKwMAHDHHXcYbNOrVy94eXkB+DffhjT35zly5AjS09MBGH8vg4KC9LNIN/Ze2qra9/uWW26BQqEw2KZTp04AasaN63Q6AEBiYiLOnj0LALjtttsMrhcSEoLIyEiDr5m6fnp6un4iMGPHVqVSISoqCkDzju2uXbug0Wgare3mm29u8vZkWL16tcHzVN1/q1evbnQbpvztkPl3B6gZp3vTTTchKCgIe/bsMTqTe93zh7HjXJtPoG3+DlPbw9luichkxp7N5+np2WDZ33//DQBGP5Rd/trJkyfx8MMPG2zn5+fXrDoPHjyonwhiwYIFuPHGGw220+l0+PLLL/HVV1/h5MmTKCgoQHV1dYN2paWlzdo/UNNp3bp1KxwdHTFs2LBmr385Y8/5rPvsREOWLl2KESNG4NSpU+jXrx86duyI4cOHY+jQoRgwYECTnjtqSHx8vH6ioldffRWvvfaawXa1nYC0tDSj2zL0xQAAODs7A0CDSTr8/f3x3//+F3PmzME333yDzZs344YbbsDQoUMxfPhwXHvttc3+eWrzCkDfETAkMjIShYWFjU5u09yfp+62br31VqPbrZ3sqLH30haVlpbi/PnzAIC1a9fis88+M9iuNmslJSUoLCyEj4+PvuMIoNHnigYEBOj3UZep69c9tuPHj8eECRMMrn81x7YptQUEBDR5ezI05bmdV3qWpil/O2T+3Tl58iTuuusu5ObmwsXFpdGa6x7nxvZdq639DlPbxM4nEZmNoVkSa2fmrP3AbUjdP+iNzeTZnA5STk4OHnzwQWi1WowcORLPPvuswXbV1dUYOnQo9u3bh6CgIMyePRs9evSAt7e3vk3tlTNRZ9bUpvr555+Rl5eHYcOGwc3NrdnrN9X48eMNzqxZ69Zbb8Xp06fx/vvvY926dUhISMDixYuxePFiBAYGYs6cOXj66aeNXk0ypu7xeuWVV654dbex7V9NB3jWrFm4+eabsXz5cmzZsgVHjhzBkSNHMHfuXHTv3h0LFy7EoEGDmry9uj9PUzIrK6+Xb2v79u0IDQ1ttL2rq2uTtx0REaGfuVim8PDwRmdYlqnu+zNp0iRMmzbtiuvUXqGqO2N1Y8dVqVQaXG7q+nVr//jjj9G3b1+j2wDQrBmxm1KbsbqsmSl/O2T+3Rk4cCAGDRqErVu34ty5c3juuefw4YcfNlozAJw4cQJ2do3fcFh7BwWRLWPnk4halIeHBwCgvLzcaJu6r9W2N4VOp8NDDz2E7OxsREVFYe3atUbbfvjhh9i3bx8cHBywd+9edO3a1eT911V7y+29994rdbtXIywsDG+//TYWLlyIX375BZs3b8b69euRlZWFmTNnIjs7G2+99Vaztln3eLm7u1/xaoc53HDDDbjhhhtQUVGB3bt3Y9OmTdiyZQtOnjyJwYMHY+fOnRg8eHCTtlX35ykvLzfawavNrIy8Gtp3YGCg1Pdy7969V3y8y9Uwx2ODjKn7/jg5OTXr/al7m2Rj5yJDdzzIWL9u7T4+PlKP7eW1GcqssbqsmSl/O2T+3Rk/fjzee+89fPjhh5g6dSpWrFiBoUOHYujQoUZrBmrOt4buBiJqazjmk4haVO2tj4ZuRatV97Xu3bubvM/XXnsNP/74IxwdHbFp06ZGPwDUjrmJiYmR3vEUQmDLli1wcHAwOB7WXLKzs1FYWGj0dTs7O9x8881YsmQJUlNTcd999wEAFi9erB871lQdO3bUX104d+6c0XYajQaffPIJdu7c2aztN4ezszNGjRqFr776CgkJCYiNjYUQAu+8806Tt1H3Vt3GMpucnAxATl5r1d1WY+9leno6Vq9ejRMnTjR52zExMejWrZv0f7Vjic2l7q3zrq6u+luhG3t/AGD9+vX4+uuv9f/fpUsX/X83dqXW2HM2TV2/qcf20qVLWL16NQ4dOmS0zdXUZsrzQy3FlL8dMv/uvPfeewCAp556CiNGjAAATJw4Ebm5uQ3aNvU4//PPP1i9evVVzyNA1Jqw80lELWrMmDEAah4K/8cffxhss3fvXgA1Hy6HDBli0v727duH+fPnA6j50HD99dfXez0vLw/33Xcf8vLyAPw7PszYLbWm3FL422+/ISMjAwMHDqx3G6+53XDDDXjmmWfqLQsICMCKFSsatHVxccHcuXMB1EwedPHixXqvOzjU3DBT9/05f/48NmzYgIKCAjg6OmLkyJEAgN27d+vHrF1u9+7dePzxxw1OdnS1fv31VwQEBBgcdxkaGoopU6YAALKyspq8zWHDhqFdu3YAarJkyLFjx/Sd+9p8y3DjjTciLCwMALBjxw6j7ZYsWYInnniiwbGyRQcPHqw3jrj2/T506FC9203rOnXqFB5++GFs375dv6xDhw76TtqPP/5ocL2MjAz9lwqXM3X90NBQ/Zjzxo7tF198gSeeeALx8fFG21xuyJAh+t9TY7X9/PPPTd6etTDlb4e5/u588sknCA4ORm5uLiZOnNjg9aFDh+qvPDd2nOfOnYtJkyZd1VAOotaGnU8ialGDBg3Sj7mbO3dugz+2+fn5WLJkCYCaMYOmdNIyMzPx8MMPQ6fT4cEHH9R3PuoqKyvD5s2b9TMS1s4CGRcXh2PHjjVo/8EHH1x1Pd9++y0A67jlNicnB1999ZW+s11X7Tf0ERERDSZ1qp2opG5H58svv8SDDz6IkpISAMDrr78Od3d3pKWl6Y9lXaWlpXjhhRfg4eHRpHF6TaVWq5GTk4NNmzYZfL325+rTp0+Tt+nt7a3vjC9evBgFBQX1XtfpdHj55ZcB1HzQvPPOO6+mdIMcHBzw9ttvAwC+/vpr/P777w3anDp1CitXrkTfvn2NzsZry55//nmEhISgoqICL730UoPXNRoNZsyYAaVSidmzZ9d7rfYK6rZt2/DXX381WPfVV19tdEyyqeu/8847cHBw0N/yfrnMzEz897//RXh4uNHJbwwJCgrCpEmTANR8MXF5p7yiogILFixo8vashSl/O8z1d8fHxwdffPEF7OzssHPnzgZjP729vfXnh+XLlxu88rpv3z5s3boV999/v9nvHCCyBhzzSUTNkpGRgcLCQmRkZOiXxcfH62d+jY2NveJkFl999RVGjBiB77//HoMHD8bTTz+NgIAA/PPPP3jjjTeQmZmJmTNn4vnnn9evU11djbi4OGRmZjbYb7t27RrMJKjVavHggw8iNzcXbm5uGD16NPbv39+glpycnHr/P23aNP0st0OGDMH//d//4YYbbkBxcTE2bNiALVu26NsmJyfD19cXkZGR+qtjjdm8eTPs7Ozwn//854ptDSktLdU/nqF2ZtSsrCyDP1ddl8+iWuvnn3/GoEGDMGnSJERERKCiogJHjhzBggUL4OTkhI8//rjBh+d77rkHv/zyCz777DP07t0bJSUl+Oijj9CjRw/9VboOHTpg69atGDVqFGbNmoW4uDiMGTMGbm5uOHPmDBYuXIi0tDRs3ry53qybycnJKCsr038RkJubi9OnT8Pf3x/+/v767F26dAlAzS2Jp0+fhpeXF4KDg/W1vvXWW8jLy8PIkSPRvn17FBQUYNu2bVi5ciUiIiL0V8IB4PTp0wD+HQOXkZFRb58AMGfOHGRkZGD58uXo168f5s2bhy5duiA7Oxvvv/8+vv/+ewwYMADr1q2r917Fx8dDrVY32HZISAg8PT2v+PMCwOjRo3HhwgXMmjULd955J+bMmYPbbrsNGo0Ghw8fxqJFi+Dv748NGzY0mgFrdPbsWWRmZtabnfWXX35BYmKi0XUu//Du7e2NXbt2YejQoVi+fDmys7MxceJE+Pn5ITExEYsXL8aJEyfw8ccfN5jt+P7778fzzz+Pd955B3feeSdeffVV3HDDDbh06RLWrl2L/Px89O/f3+hVQlPX79evH9atW4fx48fjoYcewowZMzB8+HA4ODjgjz/+wFtvvYXq6mrs2LEDTk5OTX1bAQBvv/02Tp8+jUOHDuGWW27B3LlzER0djeTkZCxcuBDXXnstTp06BeDf81hwcDC8vLya9DvRmNzcXOTm5ta76lu7j9rf1bpqf68Ntb98n1fzt8OUdcvKypCcnFyvttr3p1u3bqiuroafnx9Gjx6NDRs24Pnnn0dsbCzat2+v/7vw/PPPIysrC++99x769eun/5tSWlqKffv2YenSpejevbvBO1GIbJLFnjBKRK3SuHHj9A/ENvSvqQ+Jr66uFp988okYOHCg8PLyEkqlUgQGBop7773X4APGk5OTje5zwIABzWp/pbpLSkrEvHnzROfOnYWjo6NwdHQUHTt2FFOnThUpKSkN1jX2kPa6Tpw4IQCIm2++uUnvjyF//vlns36muv/GjRtXb1vnzp0TL7/8srj55puFn5+fcHBwEE5OTiImJkY8+eSTIj4+3mANarVazJkzR4SFhQkHBwcRGBgoRo8ebfC4Z2dnizlz5oiuXbsKFxcXoVKpRHR0tJg8ebJISEho0H7AgAEGa3/llVeEEMazV/dnO3jwoJg6daro0aOH8PDwEPb29sLNzU307NlTvPrqq6KwsLDePo29X7X7rOuHH34Q9957rwgICBBKpVJ4eXmJW2+9VaxZs0ZoNJoG7cPDww1ue+3atU36eev666+/xPjx40V4eLhQqVTCxcVFdO/eXbz66qtGH3Bv7a50Lmns3+WKiorE/PnzxfXXXy/c3NyEUqkUoaGh4uGHHxYnTpxotI7NmzeLW265Rbi6ugoXFxfRrVs38eabbwq1Wi1uvvlmAUC8+eabZls/KSlJTJ06VXTs2FE4OTkJJycn0blzZ/Hcc8+JrKyspr+hl6mqqhKLFi0S3bp1E46OjsLd3V307t1bfPDBB0Kr1TZ4T1esWCGEaN7vhCGvvPJKk89DQjSeA0P7bO7fDlPWPXDgQKMZbOzvzOXb++mnn8To0aNFUFCQUCqVws3NTfTt21csXrxYVFZWNum9JbIFCiF4gzkRkbnNnTsXb775JpYsWYIZM2ZYuhwiaoLaK4SrVq3C448/3uLrExHZGo75JCJqAbVjuq703EsiahmXLl3C3LlzG4zjrVVSUoK4uDgAwE033SR9fSKitoidTyKiFvDPP/9ACIHQ0FBLl0JEqOk8vvnmm/j4448Nvr548WKo1WoMGTIEnTp1kr4+EVFbxAmHiIiIqM2aN28ecnJyMGzYMPj6+iInJwdff/011q5di2uuuQZr16416/pERG0Jx3wSERFRm6PVarF3715s27YNR44cQU5ODgoKCuDi4oKuXbvivvvuw5NPPglnZ2ezrE9E1Bax80lERERERERmxzGfREREREREZHbsfBIREREREZHZsfNJREREREREZsfOJxEREREREZkdO59ERERERERkdux8EhERERERkdmx80lERERERERmx84nERERERERmR07n0RERERERGR27HwSERERERGR2bHzSURERERERGbHzicRERERERGZHTufREREREREZHbsfBIREREREZHZOVi6AKoREBCAsrIyhIWFWboUIiIiIiKiBtLS0tCuXTtkZ2df1fq88mklysrKoFarLV0G2RitVmvpEsjGMFMkGzNFsjFTJBsz9a/q6mqUlZVd9fq88mklwsLCUFVVhdOnT0OhUFi6HLIBQgjExcUhNjaWmSIpmCmSjZki2Zgpko2Zqq9r164mrc8rn0RERERERGR27HxaEaVSaekSyMYEBQVZugSyMcwUycZMkWzMFMnGTMnD226tiJ2dHS/nkzQKhQLu7u6WLoNsCDNFsjFTJBszRbIxU3LxyqcVqaqqghDC0mWQjRBC4Ny5c8wUScNMkWzMFMnGTJFszJRc7HwSERERERGR2bHzSURERERERGbHzqcV4XhPko2TWJFszBTJxkyRbMwUycZMyaMQvIHZKtQ+M+fMmTMWroSIiIiIiKghU/ssvPJpRbRaLQczkzRCCOTn5zNTJA0zRbIxUyQbM0WyMVNysfNpRTQajaVLIBuTn59v6RLIxjBTJBszRbIxUyQbMyUPO59ERERERERkdux8EhERERERkdmx82lFOJMWyRYYGGjpEsjGMFMkGzNFsjFTJBszJY+DpQugf9nZ2fFxKySNQqGAh4eHpcsgG8JMkWzMFMnGTJFszJRcvPJpRdRqNWfSImmEEIiLi2OmSBpmimRjpkg2ZopkY6bkYufTijDUJBszRbIxUyQbM0WyMVMkGzMlDzufREREREREZHYc82lFWnK8p06nQ2FhIfLz81FWVgaNRgOdTtdi+yfzE0KgoqIChYWFHEtsBvb29nBwcIC7uzt8fX3h7u7eJt5nBwf+2SC5mCmSjZki2ZgpeRSC15GtQteuXQEAZ86cMet+hBA4f/48cnJyoNVqzbovorZEpVIhJCQEwcHBli6FiIiIyCxM7bOwG29FtFothBBmu3pSO2A6Ly8PQM2HZV9fX3h5eUGpVMLOjndh2xqtVgt7e3tLl2GTtFot1Go1CgoKUFBQALVajfPnz0On0yE0NNTS5ZmFEAKFhYXw8vJqE1d5yfyYKZKNmSLZmCm52Pm0IhqNxmzbrtvxVCgUiI2Nha+vL3+JbJgQApWVlXBycuJxNiNfX1/odDqkp6cjLS0NKSkpUCgUCAkJsXRpZpGbmwsvLy9Ll0E2hJki2Zgpko2ZkoeXutqI0tJSfcezc+fO8PPzY4eESBI7OzuEh4cjPDwcAJCamsrb2omIiIguw85nG1F7q62vry98fHwsXA2RbQoNDYWzszN0Oh0uXrxo6XKIiIjISgmtFtm7tkKnVlu6lBbFzqcVMddMWkII5OfnA6jpfFLboVQqLV1Cm6JQKPS/Y7Vf+Nia9u3bW7oEsjHMFMnGTJFssjNVePx3/DH+PsTNfwkZ36yXum1rxzGfVsTe3t4st8JWVlaiqqoKdnZ2vF+9DVEoFJwa3AJ8fX2Rnp6OS5cuWboU6RQKBc8hJBUzRbIxUySbzExVXEhD0vJ3UHDoRwCAg5s7HFzdpGy7teCVTyuiVqthjiffVFdXA6iZ3ZYzn7YdtRMO8WlKLcvR0RFAzWy4tvbsXCEEEhISmCmShpki2Zgpkk1GpjSlJUj64F0ce+iemo6nvT2C73sIfTbuQuA990ms1vrxsogVMdeJsnYWXXY82x7+8W15da82azQaqFQqC1YjHydSItmYKZKNmSLZrjZTQqtF9o4tSP54GaoLa+aC8OrbH9FPz0a7yGiZJbYa7Hy2IZzdlsj8+HtGREREl04cReLShShLiAMAOIdFIvrpWfC+8eY2/VmBt9024uDBg1AoFI3+mzlzprT9WVsQi4uL8euvv+Kvv/6ydCkWsXfvXmRkZDRYXlJSgpdffhknTpywQFXNYy2ZSkxMRE5ODk6fPo1ff/3VIjXMmDED11xzjUX2bUvs7Phng+Ripkg2Zopka06mKjLSceb/ZuLktIkoS4iDg5s7omfMQa9138Kn3y1W89nMUvjbeQUODg6IjY01+k/m7FcqlcpqArlhwwbcfPPN6N+/v0U7n5MnT8b27dtbfL/z589HQkICgoOD9cvUajWWLl2KqKgovPHGGyguLja6fmJiIh5++GGMGzcOI0aMwH333Yfz5883ad8nT57Eo48+imnTpuGRRx7BzTffjHXr1jX7Z1AoFHBycmpWpoqLi/HMM8/giSeewJNPPom7774bR44cadZ+Z82a1eBLmkGDBsHf3x/dunXDDz/8gM8//7xJ29qwYQP69+8PhUIBV1dXnD59ukGb/Px8zJs3DwEBAVAoFBgwYAA2bNjQoN2WLVswatSoZv0sVJ9CoUBMTIzVnKeo9WOmSDZmimRraqY0ZaU4/+F7OPbQPcg/uB+ws0PQqAfQ5+udCBnzCOwc+AQCgLfdXlFwcDDOnTvXIvvS6XQQQljFCfOBBx5Aamoq/v77b9xxxx0WqeHkyZNYvXo1oqKiMHz48Bbb7+uvv47CwkLMnTu33vJTp07hgQcewJ9//onPPvvM6PpJSUno168fNm/ejJtvvhkA8NZbb+GGG27AkSNHEB1t/B7/I0eO4O6778Yvv/yCbt26AQDi4+PRo0cPqNVqTJw4sck/hxACWq22ybMol5aW4pZbbkHv3r2xatUqAMC+ffswcOBA/Pjjj+jfv/8Vt1FUVIRNmzZh0KBB+mUKhQLjx4/X1zBv3jyMHz8eXl5eVzyuDzzwAP7zn//g2muvRXx8PEaOHInjx4/D09NT38bX1xdvvPEG+vTpg4kTJ2L37t1wcXGpt53jx48jPT0d//nPf674M5BxQggUFRXBw8PDKs5T1PoxUyQbM0WyXSlTNc/r/A7JK5eh+mIBAMCr94014zqjO7Z0uVaPnU8rUjsrrbU4evQoYmNjERISYpH9z5w5EzqdDmfPnm2xfe7btw+ff/45zpw50+C1nj17AgAiIiIa3cZTTz2F0NBQfccTAGbPno1ly5bhySefxL59+4yuu2zZMnTs2FHf8QSAmJgY3H777fj444+b1fkEajLV1Imm5s2bh7///hs7duzQL7vzzjtxww03YMKECTh79uwVH93y0UcfYdq0aXj++ecbbbdkyRL06NEDffr0ueLdA46OjggMDER2djaSkpLw0EMPYceOHQ1ugYmNjUXHjh0bdDwB4Ntvv0VERASuu+66RvdFV5adnQ0PDw9Ll0E2hJki2Zgpks1Ypi79eRxJSxeiNP4fAIBzaDiips+CT/8B/PLDCN52SwbpdDocPHjQYlc9v/32W5SVlQGAwY6gOeh0OkybNg0zZszQPy6judLT07F37956nUegZqbhO+64A/v372+0M11SUoKUlBRUVlY2qK25NmzYgKlTpzapbXl5OVatWoVrrrmmwZcNQ4cORUJCQr1OqSG1tyWr1WocO3as0Zo9PT0xYsSIBleXG7NmzRo4Oztj9+7dmDdvXoPXVSqV0Zllt2zZwqueREREJEVF5gWceelZnJw6HqXx/8De1Q1R02eh17rv4HvTQHY8G8HO5xVUV1dj+fLluOmmmxAcHAx/f3/06tULL7zwgsHJaGzFn3/+iYsXL+L2229v8X1XVVVh7ty5+Pzzz6FQKHDu3LkWeWTIzp07ER8fj2HDhl31NmonIQoKCmrwWmxsLADghx9+MLr+wIEDUVBQgKefflr/MycnJ+PHH3/EtGnTmlXLuXPnGt1XXUePHkVZWRm6du3a4LXaSXp27drV6DbWrVuHrKwsvPTSS+jTpw+CgoKwYMEC/aN+Lnf33Xfj888/R25ubpNq7NmzJ1avXg2g5jbmLVu2NGm9f/75B+fOndN3PnNzc7FixQrceuutWLlyJfbv348+ffrA2dkZPXr0wLlz51BdXY233noLUVFR8PT0xNSpUzl1PxERURunKSvD+Y+W1IzrPLAXsLND4H9Go8/XOxH64DjYKTmu80p42+0VZGZmYs2aNZg9eza6deuGsrIybNu2DW+//TY++ugjbNy4EXfddVeTt2fowz1QM04wIiKiQSdLoVA0aVlT2goh9P99pbb79++Hvb09Bg4ciIqKCixbtgwvvPACRo0ahWnTpuHWW2/Vt01JSblibXUFBAToJ8Ix1Pa9997DHXfcgdjYWISFhSE1NRUpKSmN3u4qo4Zvv/0W7u7uBo9D3e0aej9rlZSUAKgZ+3j5az4+PgDQ4EHFdWuYOnUqtmzZglWrVuH8+fOYPHkylixZgs8++wz33Xeffr/GajO0/PJ1DLWtHdccEBDQoG1AQACAmivQtWOSDe1r4MCB2LZtG86ePYutW7fiyJEjePHFF/Hrr7/i22+/rXf7r0KhQPfu3aFWq7F582Y8+eSTDbZn6Gd48MEH8ddff+Htt9/GuHHjEBsbi86dO9f7GS+vbfPmzfD390e/fv0ghMCFCxfw559/4uDBgwCA3r1748MPP0R6ejrGjBmDxx57DJ07d8Y999yj/13/8MMPMWDAANx///1G67y83tpaGstiU7J6pbYyzxFNWe7r6yv9PGUM2zbetiWPvbnaCiGanClj2LbxttZ67M11jmCmGl/e2toa05JthRDw8fZG9s7vkLJyKdQF+QAAz559EfX0LLh2iNW3s4Z6m9u2ucfIVOx8NiI4OBgvvfQS5s2bV+82zL59+yIyMhJPPPEE7r33Xpw9exahoaFS9hkfH6//78DAQHh4eCA+Pl4fAKVSiejoaFy8eBF5eXn6tgEBAfD09ERCQoL+dkd7e3t07NgRpaWlqKqqgrOzMyorK6FUKuHg4ICqqqp6nVEnJydotVpUV1dj37596NGjB1xdXaFUKpGXl4cvv/wSI0eO1O9Tp9NBrVYjKiqqWT/j999/j9tuuw1KpRJqtbre7ZlFRUVYtmwZjhw5gsrKSsTExCA1NRVnz55FUFBQvba1x6Sqquqqarj11luhUqlQXV0NrVaLo0ePIjg4WP+eVFVV6dvb2dnB0dER1dXV+it5tbXb2dnpb5OtnQgnISEBGo2m3lW/2npLS0v17Wu3W7ftd999h0cffRTff/89fvjhB8ydOxdDhw5FVVUVnJycGmzX2PGsPUHUvYXXWNvCwkIANbeu1ravbav837d4+fn5+hpqc1LLwcEBUVFRCA4Oxh133IGnn34a+/fvx6RJk7B9+3a88847mDFjhr6tUqmEl5cXVCoVDh48iPHjx8PJyUmfqbrbVSqV0Ol0qKqqQmVlJV555RWcOnUK33//PUaOHIlDhw7Bw8NDX0/t8az13XffYfjw4frtdu7cGaNGjcKqVavQtWtXvPbaawBqvhi66aabcODAASxYsAC9evUCUDMW9vPPP8euXbvqTZBUOzu1oZwIIVBVVYXExETY29sjNDQUTk5OSEhI0Ld1cnJCREQE8vLycPHiRf3y4OBguLq6Ii4urt6+oqKiUFBQgPz8fP1yWeeIS5cuIScnR9/W398f3t7eSEpK0mdNoVAgNjYWSqWy3nnK19cXvr6+OH/+fL1MdOrUCSUlJcjMzNQv8/HxgZ+fH1JSUuq9bzExMSgvL8eFCxf0y7y8vNC+fXukpaWhoqJCv7xDhw5Qq9VIS0vTL/Pw8EBgYCDS09NRXl6uXx4dHQ2NRoPU1FT9Mnd3dwQFBSEjIwOlpaX65ZGRkQBq7jSo5erqipCQEGRlZdWb3To8PBwODg5ISkrSL3NxcUFYWBiys7NRVFSkXx4WFgaVSoXExET9MmdnZ4SHhyM3N1f/uwcAISEhcHFxqff+Ojo6IjIyEvn5+SgoKNAvDwoKgru7e72c1B77puTEwcEBHTp0QGFhYb27D9q3bw8vLy8kJibqf4/s7OwQExODoqIiZGdn69v6+fnBx8en3rGvzUlxcTGysrL0bWtzkpycXO93PDY2Fo6OjvV+Zm9vb/j7+yM1NbXe+atjx46orKxEenq6fpmnpycCAgIMHvvq6mqDOblw4YJ+WAcAREVFQafT1fsS083NDcHBwcjMzNR/qQjUjPm3s7OrN3t5u3btEBoaavDYK5VKgznJycnBpUuX9Mtt6Rxh7Ni35Dni8t8jniNqtNZzRGlpab27DVv6HOFbWoTU5e+g7H/jOu39A+A3fjJiRtyHzMxMZNR5j9vCOUKtVhsd5tQUCtES9zPaIK1Wi9jYWCQlJWHWrFlYtGiRSdvr2rUr1Go14uLi6n2rIOPbpYKCApw9exbt2rVDjx49rrjdqqoqeHt7Y8aMGXj55Zcxf/58jBkzpt4zEuuu/913312xtrpuuukm+Pr6Gmz7+OOPIyAgAPPnzwcAPPPMM1i6dCkWLlyIWbNmGd2mjBo8PDzQrVs3/PLLLwbXqW376quv4vXXX8ePP/6IgQMH1mtTWlqKoKAgVFRUIDk5ud74ySVLluDZZ5/F7NmzsWDBAqP1XrhwARMmTEBMTAw++eQTqNVqDB8+HF9//TWcnZ0N/mypqakNli9ZsgTffPMNDh8+3ODnaN++PZycnPTL3nvvPTz33HOYO3cuXn/99XptExMT0bFjR8TExODcuXPNyt/ff/+N3r17o2PHjvUek1LbNiAgACEhITh+/HiD7dVtO3DgQKxdu1Z/9buoqAg33HAD4uLiMHz4cHz33XdITU3FhAkTcODAAf26aWlpiIiIwI4dOzBkyBD98oMHD+K2227Dyy+/jFdffVW//NFHH8W6detw/vx5/b60Wi2USiUGDx6MnTt3Gq2zbr0///wzAKBPnz6NnqBb2zfbQM1dGlFRUVLPU8awbeNtrfVKRXOvfJ4/f75JmTKGbRtva63H3pxXPpkp48tbW1tjWqJtZXYmkj9YjLwf9wAA7Nu5Imz8ZATf9xDs/vcFtDXVe7Vtm3uMau/ivNo5WXjl8yrZ29ujZ8+eSEpK0n/QNJUQot4Vq1qGLnEbu+zdWNvLt22s7ZEjR1BRUYHo6Gjccsst+OabbxAeHm50u6ZM5FK3hj///BPbtm1DYmKifnmXLl0AAGfPnm30Ur+MGsrLy6FUKhvdT9330NCxcnNzw2uvvYbnnnsOjz76KNavXw9fX1/s27cPH3zwAYCab8WMHePU1FT0798f7733Hu6//3489dRTGD16NLZv346ZM2di5cqVBuur/UbWEENXhQ8cOFCv41x7a21lZWWD7dd+o+zt7V3vZzfk8uXdu3fH4MGDsW/fPoM/s6OjI4qLixt9z+u2r23n6emJrVu3om/fvti+fTtee+01TJgwoUEN3333Hdzc3HDHHXcYzP7lx7D21uC6y2tn+C0vL29SncZqbqxNc7bX1OXmaCuEgEajMct5yhi2bbxtSx17c7ZtTqaMYdvG21rrsTfXOYKZanx5a2trjLna6ioqkLbuE1z48lPo1FWAnR2cb74d3We9BEdvX6urt6VzYip2Pk0QGBgIAPVuc7AFtZPUbNu2DcePH8fhw4cNdj5r1b1VqSlqx1tebubMmfD19cWYMWP0y2pvN7nS41Zk1NCuXbt6t3pcrWeffRYuLi5YtmwZOnXqhLCwMDz00EO49tprkZSU1OgkTi+//DIUCoV+bGG3bt3w008/oUePHvjkk0/w5ptvwtfXt8F6hibf2bBhA3788UeDHdbLZ+MNCwsDgHq3y9SqXVb7RUBzde7cucHV11rV1dVXPR1+bGwsvvrqKwwbNgxvvPGGfkxtXd9++y2GDBly1bMXExERUdsgdDrk7NmO5BVLoc6vudXY8/o+iHp6NjJ0gMqr4ecMaj52Phvx/fffo3fv3gY/1AL/fij38vKSsj9zfcPQXPv378dNN92ErVu3okOHDliyZAnGjh1rtH1jV90MufyqGwB88803KCoqwunTp+tNTJOfnw8/Pz/8888/+ivD5qohMjKy3tgKUzz55JP1JtEpKCjA/Pnz0atXL8TExBhd79ixYw0edeLn54fJkyfj5ZdfRlJSksHOZ92xuLX+/PNPHDlyBCNHjrxitvr06QM3NzeDnfxTp04BwFU/diczMxPXX3+9wddKS0tNevbm4MGD8dZbb2HOnDl47rnn0L9/f/1reXl5OHz4ML788sur3j41ZC3nKbIdzBTJxkxRcxWd+hNJSxai5J+aIUJOQSGInv48fG6puWCgqDPOlkzDzmcjBg8ejDVr1uhv56tLp9PpH6vRr18/KfurncDEkoqKinD8+HHMnTsXCoUCTz/9NGbOnIl9+/bhzjvvRHx8fIPOU1MfeVHr8qtuFRUVmDVrFtatW1ev4wnUDED39/dHbm4uUlNTjc54a2oNQM1EUuvXr2+0k3u13nrrLVRUVNQbT6nRaLBlyxbceOON+g6nv78/4uLiGtTg7u4OoGYQeVPV3nLUlJ9FpVLh0UcfxYoVK5CTk4P27dvrX9u9ezf8/Pz0tzYbqhuoOY7Ozs71tltQUIAdO3bgiy++aLDP0tJSlJaWomfPnlesr6qqyuhV6dmzZ+PkyZMNOplbt26FUqmsN9aTTKNQKPSPDCKSgZki2Zgpao7K7Cwkr3gPuftqHidn79IOYeMnI2T0w7CrM2cDMyWRIKMAiFtuuUVotdoGr3322WcCgHB0dBSJiYkm76tLly6iU6dOQqfTmbytyxUUFIhDhw6JEydOXLHtd999JwCIn376SQghRFlZmQgMDBRdunQRx44dEytXrpRe36xZs8SQIUOMvt6vXz8BQHz55ZfS913X999/LwCIuLi4RttNmTJFABC7du1q0nb37dsnHBwcxOzZs+stX7FihQAg+vXrp1+2Z88eYW9vL5YtW6ZfVlFRIXr16iXGjx/fjJ9GiJdfflmEh4c3OVMFBQUiIiJCTJkyRb/s4MGDwt7eXmzatKnRuk+cOCHs7e1F586dxY8//iiEEKK4uFgMHTpUzJ8/3+D+fvvtNwFA/P77743WpVarhY+Pj9i8ebPRNuXl5aJnz55iwIAB+mWDBw82mqudO3cKAGLu3Ln1lj/44IMCgPj777/1y8rKygQA0b9//0brrOvQoUPi0KFDoqqqqsnrtAY6nU5cunTJLOcpapuYKZKNmaKm0JSXifMfvy8ODbheHLyxqzjYr5s499+XRVVBXoO2zFR9Xbp0EV26dLnq9dn5bIS9vb0AIO68806xe/dukZSUJE6fPi3efPNN4eTkJJydnRv9QNwcXbp0EdHR0RbvfE6fPl04OzvX+9C8fft24enpKUaPHi2qq6ul1aVWq8X06dOFQqEQPXv2FNu2bav3ekpKinj33XdFu3btBAARGxsrtmzZIm3/l9PpdKJTp07ivffeM/j633//LV577TV9PT169BArVqwQubm5Rre5fft24ebmJubNm9fg2B46dEh4enqKZ555pt7y33//XQwZMkSMGjVKTJkyRfznP/8RH3zwQbPf+08//VQ88MADzcpUdna2mDhxonjooYfEU089Je666y6xZ8+eK9ZdUlIiHn74YeHj4yOcnJzE4MGDxaRJk8SxY8eM7mv+/Pmib9++jdbzySefiN69ewsAwsPDQzzzzDOirKzMYNv09HQxZswYIYQQRUVFQqVSiVWrVjVo9+OPP4oBAwYIAKJz587iyy+/FGq1WqxevVoEBAQIAGLEiBHi8OHDIikpSUycOFEAEM7OzmLZsmWisLCw0Zpr3yNb7Xz+888//ANM0jBTJBszRY3RabUie/c28es9t9V0Om/sKv6cMk4UnztrfB1mqh5TO5981EojMjMz8dVXX2HPnj04ffo08vPzoVQqER4ejttvvx0zZ85EdHS0lH117doVVVVVSEhIkH7L58WLF3HmzBm4urrqH7VChu3YsQPPPvsszp49q5/ltLmEEDh27BiWLl2KjIwMzJ8/HzfddJPkSuszNOGS+N9jcxwdHRtkytikTy1FrVajU6dO+Oqrr9C3b1+L1WEutTNg9+3b16RnYVkbIQTi4uIQGxtr8SECZBuYKZKNmSJjik+fROLShSg58zcAwCkwGFHTnofvwDsazQozVR8ftWJGQUFBeO655/Dcc89ZuhRqIcOGDcP27duxcOFCvPTSS1e1jY0bN0IIgUWLFjVrjKYpZEy41JLmzZuHKVOm2GTHk4iIiKxHZU4WklcsQe7emmd127u4IOzRSQgZ8wjsOBt+i2Pn04pc7ZU2kmv58uUYN24ctm3bhnvuuafZ69d9VExLMTThkhACWq0W9vb2V3zUSktas2YNXF1dMWvWLIvVQFfP0GzLRKZgpkg2ZooAQFtZgfR1a5C+fi10VZWAQoGAoSMRMelpOPr6NWtbzJQ87O1YEUOdBGp5SqUS69atw7Jly5CVlaV/nqs1M/SoFWt0+vRp+Pj4YOLEiZYuha6CQqHgH2CSipki2ZgpEkIgd+9OJK94D1W5OQAA9+7Xo8OMOXDr1LXZ22Om5GLn04pUV1eb5TEf1Hx2dnaYOXOmpcswiRACarXaKh7hU6tbt24WvepKphFCIDk5GZGRkVaTKWrdmCmSjZlq24rPnkLiewtQcuYkAMAxIAjR056D7613XXUemCm52Pm0IjqdztIlkI1hpkg2Y89bJbpazBTJxky1PVV5OUhesQQ5328HANg5OyPs0ScQ8sCjsHc0fYJFZkoedj6JiIiIiKjV0VZW4MJXnyHti0+gq6wAALQfMgKRk2fA0c/fwtWRIex8EhERERFRqyGEQN7+3Tj/4WJU5WQDANyv7VEzrrMzh/dYM3Y+rYgjp3smySz5LE+yTbGxsZYugWwMM0WyMVO2rfjsKSQtXYjiU38BABzbByDqqWfhd8dgs43JZKbkYefTinB8Hsmm0+lgZ2dn6TLIhpSWlsLV1dXSZZANYaZINmbKNlXl5SL5oyXI2b0NAGDn5IywRx5HyEPjpIzrbAwzJQ8/lVqR6upqS5dANoYD5Em2jIwMS5dANoaZItmYKduirapE6qcrcfSBofqOZ/vB96DP1zsQPmGy2TueADMlE698Uquwd+9edO3aFcHBwZYuhUyQmJgINzc35OXlobi4GP369bN0SURERGSFhBDI++F7nP9gMapysgAA7t26I3rmC3Dvco2Fq6OrxSufZPXmz5+PhISEeh3P4uJiPPPMM3jiiSfw5JNP4u6778aRI0eatL3mrPv999+jX79+cHZ2hoeHB+655x78888/Jm1TNlP33ZT1X3zxRSgUCqP/tm/f3mC7s2bNatBu0KBB8Pf3R7du3fDDDz/g888/b1KNGzZsQP/+/aFQKODq6orTp083aJOfn4958+YhICAACoUCAwYMwIYNG5r8PhAREZF1KDl3Bn89NQ7/vDwLVTlZcPRvj86vLsJ1K9ex49nKKYQQwtJFENC1a1dotVr8888/0gdLX7x4EWfOnIGrqyt69OjRpHWysrKwYcMGLFiwALm5ufD19cWwYcNQUlKCs2fPok+fPpg3bx6io6Ol1nq5119/HYWFhXjvvff0y0pLS3HTTTehd+/eWLVqFQBg3759GDZsGH788Uf079/f6Paas+7+/fsxYsQI3H777VCpVPj111+RlZUFLy8v/PnnnwgPDze5HlM1tu8ffvgBffv2hYODg9FMNaX26upqRERE4Nprr21w5Tk5ORm//fYb8vLy4OLiol9eVFSE7t27o1OnTvplCoUC48ePx5gxY/TLxo8fj3vvvRfDhw+/4s9aVVWFa6+9FvHx8YiOjsbx48fh6enZoN327dsxceJEpKam1qupJf38888AgL59+0KlUlmkBnMQQiAvLw9+fn580DZJwUyRbMxU61aVn4fkj5YiZ/dWQAjYOTkjdOwEhI6dAHsnZ4vUxEzV17VrVwDAmTNnrm4DgqxCly5dRJcuXcyy7YKCAnHo0CFx4sSJZq979913CwDigw8+0C/7559/hIODgwgICBAlJSUyS61n7969Ijo6WlRWVtZbPnPmTKFQKER6enq95bfccovo2LGjqK6uNrrNpq6r0+lEr169RFxcnL5NaWmpGDRokAAgZsyYIaUeU5m676asv2nTJrFmzRqD68+YMUPce++9DZYvWLBAvP3221esv7CwUERERIjs7OwrthVCiAEDBgh3d3cBQAwePFhotdoGbeLi4sSNN97YpO2Zy6FDh8ShQ4dEVVWVResgIiJqDbSVlSLl05Xi0G29xMEbu4qDN3YVZ1+dIypzsixdGl3G1D4Lb7u1ItXV1RBWdCFap9Ph6NGjsLe3x/33369f3qlTJ4SFhSE7Oxt//PGH2fY9bdo0zJgxo94jaMrLy7Fq1Spcc801CAkJqbfO0KFDkZCQgB07dhjcZnPW/f333/HEE08gJiZG36Zdu3ZYtGgRAODcuXMm12PIhg0bMGnSpCa1bcq+t2zZYjRTTa39hhtuwIQJExqsL4TAN998g3vvvbfecrVajaVLl0KtVuPYsWONzuLs6emJESNGYO7cuU36mQFgzZo1cHZ2xu7duzFv3rwGr6tUKpu62mhNhBBISUmxqvMUtW7MFMnGTLUuQgjk/bgXxx66Bykrl0FXUQG3rteix8fr0fmVBXD0D7B0icyUZOx8WhFre9TKb7/9hosXL2LgwIHw8/PTL8/OzsaFCxegUqnQsWNHs+x7586diI+Px7Bhw+otP3r0KMrKyvSX/Ou65pqaMQC7du0yuM3mrBsdHW2ww1X78wYFBZlcjyHnzp3D3r17m9S2KfvevXu3Sevv2rWrQce01i+//IL8/HwMHTq03vJ169YhKysLL730Evr06YOgoCAsWLAAGo3G4HbuvvtufP7558jNzTVaa109e/bE6tWrAQBvvfUWtmzZ0qT1SI7KykpLl0A2hpki2ZgpyyivVDfrX86pv/H7UxNwYt4sXMrOhsqvPTq9sgA9Vq6De7fulv5x6mGm5OFst2RUbaepdoyeTqfD3r178eKLL6J9+/b48MMP9Z2wWikpKc3aR0BAAJycGk6RvWXLFri7uyMyMrLe8torjoGBgQ3WqV1m7B705qxbt7NdV20HaeTIkSbXY6qm7NvQ5EjNWb+x2jdt2oQ77rgD7u7u9ZYPHDgQ27dvx9mzZ/Hdd9/hyJEjePHFF/Hrr79iy5YtsLe3r9f+uuuug1qtxrfffosnn3zS6P7qeuihh3Dy5EksWrQI48aNQ6dOndC5c+cmrUtERETydRzb8G6kK2sPBNwNAEhb9wrsnS0zVwO1HF75JKN27twJOzs7bN26Ff369UO7du0wevRoPPXUU0hOTm5wVRIAIiMjm/Xvt99+M7jvo0ePGrziVlhYCAAGJ5Jp164dAKCgoMDgNk1Zt9b333+P3r176392Gdu8Wk3Z98WLF01a31jtxm65BYCoqCgMGzYMs2fPxq+//oo9e/YgICAA27dvx5IlSxq0b9++PVQqFQ4dOmS0VkPeeustDB48GCUlJRg5ciSKioqatT4RERFZD3Y82wZe+bQidcc2WlpmZib++usv9OrVSz9mMSMjA6NGjcKUKVPg4OBg8LbU5t4C2a1bN4PL09LSDL5W+x4Zmm3Mzq7muxRj9+Sbsi5QM9vqqlWr8Nlnn+nbm7JNQ1eJL126BI1GY/C1y68SN2XfjTGl9l9++QW5ubkYMWLEFfdz1113Yc+ePejVqxfWrFmD5557rt7rCoUCnp6eiIuLu+K2Lq/xq6++Qt++fREXF4dHHnkEW7dubdY2qPnMdas9tV3MFMnWFjJVXqk2aX0XJ/lzIySsf8Pg8rKKKlz3+HwAwIqcfXAUWrjFdkHk1Gfh0dW6bq81pi1kqqWw82lFrGnMZ+0tt7fffrt+WXBwMJYuXYobb7wRTz/9NO69994Gt1zW3o5qqvLyciiVygbLAwJqBp5XVFQYXAcAvL29DW7TlHUBYN68eXj99dfrjZE0ZZuX31J8pdcOHDiAgQMHNmvfXl5eRvdhSu0bN27EwIEDG32/6rr22msxePBg7Nu3z+Drjo6OKC4ubtK26vLw8MDWrVvRt29fbN++Ha+++qrBL0VInsrKSos9woZsEzNFsrWFTF3dLa7/yti8UFIl/zLUoS2NP4ekJQsB+AMA3Ly90WXK0/AfNAyKJnxRbi3aQqZaCjufVqS6utrSJejt3LkTAHDrrbfWW177nNDS0lLExcWhd+/e9V6XNeazXbt2UKsbfqsXFhYGoGbSo8vVLuvSpYvBfZmy7ooVK3DNNddgyJAh0rZp6Crxhg0b8OOPP+Ljjz9u8NrlV4Kbsu/Y2FiD+zaldiEENm/ebHCm2cZ07twZhw8fNvhadXU1PDw8mrW9WrGxsfjqq68wbNgwvPHGG/Dx8bmq7VDTpKenN5orouZipkg2Zsoy6l6NVRfmI3XNSmTv3ooq2AHt7wQAdFn5Jdy8PFGhbjgJoTmuxsrCTMnDzic1oFarsX//fjg4OKB///71Xrt06ZL+v93c3Bqs29jVPEMuv5pXdzu1YxLr6tOnD9zc3HD27NkGr506dQoAcMcddxjc19Wu++WXX8LOzg6PPPKI1HoMXSX+66+/8NtvvzXpCnJT9n3bbbeZtL6h2g8fPozs7Gz85z//uWKNdWVmZuL66683+FppaSmuu+66Zm2vrsGDB+Ott97CnDlz8NxzzzXILRERkS0xdotreaUa3R+ree3kJ/NatENn8Gps+0H1/vf6ae8aXd8cV2PJ+rDzSQ0cOnQIpaWl6N27N1xdXeu99u233wKouYrVqVOnBuvKGvPZt29frF+/HkKIemMSVSoVHn30UaxYsQI5OTlo3769/rXdu3fDz89P3ynSaDTYsmULbrzxRoSEhDRr3bo/T1ZWVoNxiuXl5fjggw8wa9asZm9Tlqb8PPfccw+Ahu9FU9c3VPumTZvQv3//eu3rqqiogLOzc71lBQUF2LFjB7744osG7UtLS1FaWoqePXte8WeuqqoyeEUcAGbPno2TJ0/iyy+/vOJ2iIiIWrOmdCpdnFQt1vnkMzCpyQRZhS5duoiYmBih0+mkb7ugoEAcOnRInDhxokntn3zySQFAPPLII/WWf/3118LV1VX4+vqKP/74Q3qddX3//fcCgIiLi2vwWkFBgYiIiBBTpkzRLzt48KCwt7cXmzZt0i9bsWKFACD69evX7HWFEGL37t3Cz89PjBkzpt6/+++/X0RGRop9+/Y1e5tX8sorr4jw8PAmt29s3xs3bhRqtVrodDqD78XV1K7VakVQUJBYsmSJwXpOnDgh7O3tRefOncWPP/4ohBCiuLhYDB06VMyfP9/gOr/99psAIH7//fdGf1a1Wi18fHzE5s2bjbYpLy8XPXv2FAMGDGh0W+Z26NAhcejQIVFVVWXROmTT6XQiKyvLLOcpapuYKZKtrWeqrKJKBI2aLYJGzRZlFS3zN6gk4Zz4a9pE8X2/a8X3/a4VPw6/TZzf8o0oLasQZRVVTf5nrdp6pi7XpUsX0aVLl6ten1c+rYiDg4PBmUdbSlFREd5991188sknAICvv/4aFRUV0Ol0SE1NhUKhwLPPPovp06fD19fXrLXcdddd6NSpE3bt2oWYmJh6r3l7e+O3337D//3f/2Hs2LHw9PREYmIidu3ahbvuukvfrmvXrvD09ETfvn2bve7vv/+OUaNGoaKiAl9//XWD+iIiIvSTMTV1m00RFRWFm266qcntTXkvrqb2X375BZmZmRg1apTBejp27IgHH3wQu3fvxpAhQ3DrrbciNDQUr776Knr16mVwnf3796Nv377o06eP0Z9zzZo1+Oijj1BQUICJEyfi8OHDmD9/foPB/87Ozvjuu+/w/PPPG90WXT2FQqGfqIpIBmaKZGOmWo76YgFSVi9H1rbNgE4HZ5UKoQ+OR9gjj8PehibnYabkUgjB6+TWoGvXrqiurkZcXJz0DujFixdx5swZuLq66icMag127NiBZ599FmfPnoWDg+19TyJrciZjhBBQq9VQqVQW/VKjMWq1Gp06ddI/MsVW/PzzzwBqbh9Xqax3AoXmEkIgPT0doaGhVpspal2YKZKtrWeqvFKtH3uZsP4Ns9x2q6uuRsam9Uhd+xG0ZaUAAL/bByHqqWfhFBgsfX+W1tYzdbnapz6cOXPmqta3vU/0rZg1PWrFGgwbNgzbt2/HwoUL8dJLL1m6HOlkTc7UGGvP1Lx58zBlyhSb6njautrH8BDJwkyRbMyUeQghUHD4IM6//zYqLqQBAFxjuyB6xhx4XnfleRtaM2ZKHnY+yaotX74c48aNw7Zt2/ST59gKWZMztVZr1qyBq6srZs2aZelSiIiIqBGlSfFIWrYIl479BgBQ+fgicvIMtB8yolU9r5Msj51PsmpKpRLr1q3DsmXLkJWVhcDAQEuXJE1THqdiq06fPg0fHx9MnDjR0qUQERGREerCi0hd/QEyt24CdDoolEqEPPAowh6dBId27SxdHrVC7HxaEVsaGyaTnZ0dZs6caekyWiVHR0dLl2BQt27dbO5KblsRHR1t6RLIxjBTJBszZTpddTUyN3+FlDUroC0tAQD4DrwTUdOeg3NQiIWra3nMlDzsfBLZMHHZc1KJTFVdXW2TE4CR5TBTJBszdfWEELj4609Iev8dVKSlAABcO3ZC9Mw58OzR27LFWRAzJQ9v0rYiarXaLNut7XxY++QzJJ+5MkXG1f09s8WOf1pamqVLIBvDTJFszNTVKUtOwqlnJuP0rGmoSEuB0ssbMS++huvXfN2mO54AMyUTu/BtQO03NRqNxsKVENm+ur9n/JaUiIisXXXRJaSs/gCZ320EtNqacZ2jH0HY+ElwaOdq6fLIxvCTURtQO+5PrVajqqrKascBEtmCkpKasTGOjo42eeWTiIhsg05TjczNG5C6ZgU0JcUAAJ9bbkP0tOfhHBJm4erIVrHzaUXs7e3Nsl2VSgV3d3cUFxcjPz8fwcG29wBgMsxcmSLj8vPzAQA+Pj4WrsQ8PDw8LF0C2RhmimRjpq6s4NdDSFr2NirSkgEA7TrEIHrGC/Dq2cfClVknZkoedj6tiIODg9mulPj6+qK4uBh5eXkICgriFZk2QKFQcAblFqbRaFBQUAAA8PPzs3A18ikUCpt63BFZHjNFsjFTjStLTkLS+2+j8LfDAAClpzciJk1H4PBRUPALa4OYKbk44ZAVqa6uhhDCLNv29fUFUHNLYEJCgtn2Q9ZDCAG1Ws1j3UK0Wi3OnDkDrVYLlUoFNzc3S5cknRAC6enpzBRJw0yRbMyUYdXFRUhc/F8cf3QUCn87DIWDA0IeGo8+G3ciaOT97Hg2gpmSi1c+rYg5Z6N1dHREp06dcO7cOeTk5ECj0SA4OBju7u68CmrDtFotlEqlpcuwaTqdDoWFhUhPT0dJSQkcHBzQpUsXm/29Kisrs3QJZGOYKZKNmfqXTlONrC0bkbL6g3/Hdd58G6Knc1xnczBT8rDz2YbU3gZ47tw5FBQUoKCgACqVCp6enlAqlbCzs7PZD8xtkRAC1dXVUCqVPK6SCSGg1WqhVqtRWFgIrVYLoObW+W7dutnkVU8iImpdLh79FVkfLUZ5ynkAQLvojoieMQdevW6wcGXUlrHz2cb4+flBpVIhOzsbBQUFUKvVyM3NtXRZZCa1nU8yL5VKBT8/PwQEBMDFxcXS5RAREeHMizPgJLRQenoh4olpCBx+LxR8BBhZGBNoRVpqchgPDw94eHhAp9Ph0qVLKC0thUajMettv2QZWq2WM96aib29PZRKJdzd3eHm5tZmri5HRUVZugSyMcwUydZWM1VdXISkVR/q/19h54CQ+x9G+ITJcHBzt2BlrV9bzZQ5sPPZhtnZ2cHb2xve3t6WLoXMQAihf65rW+kYkfnxSyqSjZki2dpapoRGg8ytm5CyajlKS0qBgLsBANev2QDfjh0tXJ1taGuZMifOdmtF1Gq1pUsgG5OSkmLpEsjGMFMkGzNFsrWlTF08+iuOj7sPie++CU1xEVzC/71C5xIabsHKbEtbypS58conEREREVErUp6ajKTl7+DiLz8BABw8PBHx+DR4DroHGPeahasjMo6dTyIiIiKiVqC6uAipa1ci85svIbQaKOwdEHTvAwifOAVKdw+UV/IuOrJu7HxaEU4MQ7LxkR8kGzNFsjFTJJstZkpoNMja9g2SVy2HpugSAMC73y2InvY8XCI4GY652WKmLIWdTyvi4ODAiWFIGoVCgeDgYEuXQTaEmSLZmCmSzRYzVXjsCJKWLkLZ+QQAgEtEFKKfngPvG/pbuLK2wRYzZUnsfFoRjUYDIQQ7oCSFEAKZmZkICgpipkgKZopkY6ZINlvKVHl6Ks6//zYKDh8EADi4eyDiiWkIGnE/KjQ6g7fY1l3W2C24Lk4t83g/W2BLmbIG7HxaEa1Wa+kSyMaUlJRYugSyMcwUycZMkWytPVOakmKkrl2JjG/WQ2g0gL09gkc9gPDHnoLS3QMA0HHMnCtup/tjbxh9LWPzQmn1tgWtPVPWhJ1PIiIiIiILE1otsrZvRsrH76P6UiEAwPvGmxE1/Xm0i4i2cHVEcrDzSURERERkQYXHf0fS0gUoS/rfuM7wSEQ9PRs+N95ssH3CeuNXNYmsGTufVkSl4v33JFdERISlSyAbw0yRbMwUydaaMlVxIQ1Jy99BwaEfAQAObu4If+wpBI0aAzsHpdH1OGazZbWmTFk7dj6JbJidnZ2lSyAbw0yRbMwUydYaMqUpLUHqZx8j4+sv9OM6g/4zBhGPPQWlh6ely6PLtIZMtRZ8J62IWs0HA5Nc58+ft3QJZGOYKZKNmSLZrDlTQqtF1tZvcHTMUFxYvxZCo4FXn37o9dlmdHz2/9jxtFLWnKnWhlc+iYiIiIjM7NKJo0hcuhBlCXEAAOewCERPnwXvfrfwER7UZrDzSURERERkJhUZ6Tj/wbvIP7gfwP/GdU6cgqBRD8BOaXxcJ5EtYufTivB+cpKtXbt2li6BbAwzRbIxUySbtWRKU1aKtM9W4cLXn0NUVwN2dggaORoRj0+F0tPL0uVRM1hLpmwBO59WRKlU8rYLkkahUCA0NNTSZZANYaZINmaKZLOGTAmtFtm7vkPyymWovlgAAPDqfSOin56NdtEdLVobNZ81ZMqWsPNpRTQaDYQQ7ICSFEIIZGdnIyAggJkiKZgpko2ZItksnalLfx5H0rJFKI07CwBwDg1H1PRZ8Ok/gBlvpSydKVvDzqcV0Wq1li6BbExRURECAgIsXQbZEGaKZGOmSDZLZKoi8wLOf7AY+Qf2AgDsXd0QMXEKgu59kOM6bQDPU/Kw80lEREREdBU0ZWVI+2IVLmz4HEKtBuzsEDjiPkQ8Pg0qL29Ll0dkddj5JCIiIiJqRHll/WexC50OuXt2IGXNh1D/b1yn5/U3IHLqM3CN7AgNAE2ddVycVC1ZLpHVYufTiqhUPDGRXGFhYZYugWwMM0WyMVMkmzky1XHsPMMvqHoDtXdjZgGY+7nBZhmbF0qviVoOz1Py8NkeRDZMyXEmJBkzRbIxUyQbM0WyMVPy8MqnFVGr1VduRNQMSUlJiI2NtXQZZEOYKZKNmSLZZGdKW16OfbcF4sKmdTXP61TYIWDICIRPmAyNsxu6P/YGAODkJ/N4e62N4nlKHnY+iYiIiIguI3Q65Hy/HckfLYE6Pw+OADyu740OM+bAtWMnAPXHgro4qdj5JLoCdj6JiIiIiOoo+vsEkpYsRMm5MwAAp6AQRE9/Hj633M5nPRKZgJ1PK2JnxyG4JJeLi4ulSyAbw0yRbMwUyWZKpiqzs3D+w8XI278bAGDv0g5h4ycjZPTDsOPEkG0Wz1PysPNpRZRKJb9NI2kUCgVnZyOpmCmSjZki2a42U9qKcqStW4ML69dCp64CFAoEDPsPIic9DZWPrxkqpdaC5ym5eKntKuzYsQMKhQIKhQIHDx6Utl2NRgMhhLTtUdsmhEB2djYzRdIwUyQbM0WyNTdTteM6jz4wHGlrP4JOXQWP63rh+jUbEfvi6+x4Es9TkvHKZzNdunQJkydPNsu2tVqtWbZLbdelS5fQvn17S5dBNoSZItmYKZKtqZkqPn0SiUsXouTM3wAAp8BgRE17Hr4D7+CdaFQPz1PysPPZTM8++yyf9UNERETUSlXmZCF5xRLk7t0JALB3cUHYo5MQMuYR2Dk6Wrg6ItvGzmcz7NmzB59++im+//57DBo0yNLlEBEREdmUuo8uuRrOjsYvEGgrK5C+bg3S16+FrqqyZlzn0JGImPQ0HH39TNovETUNO59NVFxcjCeeeALjx4/HXXfdZZZ98IoqyRYaGmrpEsjGMFMkGzNFdXUcO8+k9S98s6BBpoQQyN27E8kr3kNVbg4AwL379egwYw7cOnU1aX/UNvA8JQ87n000a9YsaDQaLF682Gz74KNWSDYnJydLl0A2hpki2Zgpkq1uporP/I3EJQtRcuYkAMAxIAjR056D7613cVwnNRnPU/Kw89kEP/zwA1atWoVvv/0Wnp6eZttPVVWV2bZNbVNCQgJiY2MtXQbZEGaKZGOmqK6E9W8YXF5eqUb3x2peO/nJPLg4GX/mZkJCAiK8PWvGde7ZAQCwc3ZG2KNPIPSBcRzXSc3G85Q87HxeQWlpKR5//HGMHj0aI0eONHl7Xbsavr0jKSkJISEhDaZxVigUTVpmzW2NYdvG28p434UQFs2UMWwrr21LH09zZMoYtm28rbWe85vTtjZPTd2GIWzbeFtrPfbG2ro4qYyee2o5Oyrh7Kg0uA1NRTlKt27EsT3boKusBAC0HzICkZNnQPW/cZ1Xek+b875fXmNj6/HYN7+tMS3Z1tbPU809RqZi5/MKXnjhBZSWluL99983+76EEIiLi9Mf2MDAQHh4eCA+Pl4fAKVSiejoaFy8eBF5eXn6dQMCAuDp6YmEhATodDoAgL29PTp27IhLly4hJydH39bf3x/e3t5ISkqCRqMBUBOm2NhYFBcXIysrS9/W19cXvr6+OH/+PKqrq/XLO3XqhJKSEmRmZuqX+fj4wM/PDykpKfWu4sbExKC8vBwXLlzQL/Py8kL79u2RlpaGiooK/fIOHTpArVYjLS1Nv8zDwwOBgYFIT09HeXm5fnl0dDQ0Gg1SU1P1y9zd3REUFISMjAyUlpbql0dGRgIAkpOT9ctcXV0REhKCrKwsFBcX65eHh4fDwcEBSUlJ+mUuLi4ICwtDdnY2ioqK9MvDwsKgUqmQmJioX+bs7Izw8HDk5uaisLBQvzwkJAQuLi6Ij4/XL3N0dERkZCTy8/NRUFCgXx4UFAR3d3fExcXpl9Ue+4KCAuTn5+uXG8qJg4MDoqOjUVlZWS9T7du3h5eXFxITE/WP9rGzs0NMTAyKioqQnZ2t366fnx98fHzqHfsr5SQ5ORlq9b+TRcTGxqK0tBQZGRn6Zd7e3vD390dqaioq//fBAAA6duyIyspKpKen65d5enoiICDA4LGvrq42mJMLFy6grKxMvzwqKgo6nQ4pKSn6ZW5ubggODkZmZiZKSkr0yyMiImBnZ4fz58/rl7Vr1w6hoaEGj71SqTSYk5ycHFy6dEm/PDQ0FE5OTkhISNAvc3JyQkREBPLy8nDx4kX98uDgYLi6utY79iqVClFRUU069uY8R8TExKCqqqpepniOqNEazxEdOnRAYWEhcnNz9W1b+hwRExMDtVpdL1M8R9RojecIc36OKCv/95jFJ8QjqL1/vXOEEAJVR39BxZYNUOfW5FTZoRPcHhwPj+t6wtHPH2lpadLPEd6+/vXqclYpeY74H1v5HBEZGQmtVlvvPNWWzxFqtRoqlfE7D65EIfjEVKN++ukn3HrrrVi3bh0eeuiheq/Vhu/AgQMYOHCgyfvq2rUrqqurce7cuXrfKljrN1Gt7Vur1thWxvuekpKC8PBwi2XKGLaV17alj6c5MmUM2zbe1lrP+c298pmamtqkTBnDto23tdZj39xzRHmlGjEPvwwAiF/3OlycVPq2Jf+cRtLShSg+9RcAwN7HDx2fngW/2+/W58pc73tFVbV+kqTaumRsl8e+cS195dOWz1PNPUa1d3GeOXOmSfu9HK98GlFeXo7HHnsMw4YNa9DxNBelUmlw0iFDl7iNXfa21rbGsG3jbU1932u/qZW9XR5762rbksfTXJkyhm0bb2ut5/ymtlUoFM3KlDFs23hbazz2prRVKBRQKBSoystF8kdLkLN7GwDAzskZYY88jpCHxsHeseEEMeZ63y+vS9Z2eewb11Jt28J5qjnHyFScXtWIY8eOISkpCXv37oWrq2uDf7UGDx6sX/bf//7XpH1qtdomf3tBdCVCCOTm5jJTJA0zRbIxU3Q1tFWVSP10JY4+MFTf8Ww/+B70+XoHwsZPQkFRMTNF0vA8JRevfBrRp0+fevdVX65jx44AgNWrV6Nv374Aau5BN0XtuAkiWS5evAg/Pz44m+Rhpkg2Zoqa64/x90ORUzMG0K1rd3R45gW4d7kGQE1HgZki2Zgpedj5NMLZ2RkdOnS4Yrvg4OAmtSMiIiKiq1MSf1b/31W52fDwb4+op56D352DzXZ7IBHJx84nERERkQ0rr1RfuVEjGptEx9yq8vOQ/NFSpH6/A2g/CAAQNm4SYh6dCHsnZ4vVRURXh53PZigqKqo35T9Qcxm+dlrpgIAAk7avVCpNWp/ocsHBwZYugWwMM0WyMVPmVzsb69XK2LxQUiVNp6uqQvqGz5D2+SroKioAhb3+tfBHn4B9Ix1iZopkY6bkYeezGWbMmIHPPvus3rJ7771X/9+mDkQ2NNMtkSnqTo5FJAMzRbIxU1SXEAL5B/Yiafm7qMqueQaoW9drETvlOeDNjU3ahjkyZezqcd3ljV1htuTVYzIdz1Py8DmfVqJr166oqqpCQkICxy6QFEIIxMXFITY2lpkiKZgpko2ZahmNdZy6P/YGAODkJ/OMdpBaquNUEncWSUsWoujkHwAAlV97RD31DPzvHIIKtUZ/BTdh/RtGazJXpoLvnWPS+pa4ekxy8DxVH5/zSURERERGNaXz6OKkstjVOXVBPpJXLkX2zu8AIWDn6ITQsRMQOnYC7J1dLFITEZkHO59ERERE1OJ0VVW48PUXSPv8Y2jLywEA/ncNReSUmXBqH2jh6upLWP+GpUsgsgnsfFoRjvkk2VQqjjEhuZgpko2ZanuEEMg/uB/nP3gXlZkXAABunbsheuYL8LjmOpO3b45Mccxm28bzlDzsfFoRpVLJe8lJGoVCgaioKEuXQTaEmSLZmKm2pzT+HBKXLUTRiWMAAJWvP6KmzIT/oGFQ2NlJmdiHmSKZeJ6Si51PK6LVaiGEYAeUpBBCoKCgAD4+PswUScFMkWzMVNuhvpiP5JXvI3vHtzXjOlWOCBk7AWFjJ8Le5d9xnU15LEztJEmGXPhmATNFUvE8JRc7n1ZEo9FYugSyMfn5+fDx8bF0GWRDmCmSjZmybTq1Ghmb1iF17Upoy8sAAH63342op56FU2CQWfbJTJFszJQ87HwSERERkVRCCBQc+hFJy99BZUY6AMCtU1dEz5wDj2uvN7oeJ/Yhsm3sfBIRERGRNKWJcUhaugiX/vgdAKDy9UPkkzPR/u7hUFxhckVTJ/bh4+uJrBs7n1ZEqVRaugSyMYGB1jVVPbV+zBTJxkzZDnXhRaSseh9Z2zYDOh0UKhVCHxyPsEcerzeu09yYKZKNmZKHnU8rYmdnx4HMJI1CoYCHh4elyyAbwkyRbMyUbdBVVyNj03qkrv0I2rJSAIDf7YP+N64zuEVrYaZINmZKLj5Y0oqo1WreLkLSCCEQFxfHTJE0zBTJxky1bkII5P98AMfHjsD55e9AW1YK19gu6P7hZ+jyxrst3vGsrYmZIpmYKbl45dOKMNQkGzNFsjFTJBsz1TqVJsUjadkiXDr2GwBA5eOLyMkz0H7IiCuO6zQ3ZopkY6bkYeeTiIiIiJpEXXgRqas/QObWTfpxnSEPPIqwR56AQ7t2li6PiKwcO59WhOM9STZOYkWyMVMkGzPVOuiqq5HxzZc14zpLSwAAvrfehaipz8I5KMTC1dXHTJFszJQ87HxaEZVKxQ4oSaNQKBAdHW3pMsiGMFMkGzNl/YQQuPjrT0h6/x1UpKUAAFw7dkL0zDnw7NHbssUZwEyRbMyUXOx8WhGtVgshBDugJIUQAhcvXoS3tzczRVIwUyQbM2Xdys4nImnpQhQeOwIAUHp5I/LJGQgYMhIKe3sLV2cYM0WyMVNysfNpRTQajaVLIBuTl5cHb29vS5dBNoSZItmYKetTfakQKbXjOrVaKJRKhIx+BGHjJ8Ghnauly7siZopkY6bkYeeTiIiIiKDTVCNz8wakrlkBTUkxAMB3wO2ImvocnEPCLFwdEdkCdj6JiIiI2riC3w8ja8V7qEhLBgC06xCD6BkvwKtnHwtXRkS2hJ1PK8KZtEi2gIAAS5dANoaZItmYKetw9v+egZPQQunpjYhJ0xE4fJTVjuu8EmaKZGOm5GHn04rY2dlxIDNJo1Ao4OnpaekyyIYwUyQbM2U51cVFSFq5XP//CnsHhIx+BOHjJ8PB1c2ClZmGmSLZmCm57CxdAP1LrVZDCGHpMshGCCEQHx/PTJE0zBTJxky1PJ2mGhmb1uPo/YOR+d1G/fKeazcietrzrbrjCTBTJB8zJRevfFoRhppk0+l0li6BbAwzRbIxUy3n4m+HkbRsEcpTzgMA2kXFABU1rzkHh1qwMrmYKZKNmZKHnU8iIiIiG1aech5J77+Ni0d+BgAoPb0QMWk6PO4YBox7zcLVEVFbws6nFeF4T5LNvpVOFkHWi5ki2Zgp86kuLkLqJx8i89uvIbQaKOwdEHz/WIRPmAwHN3eUV6otXaJZMFMkGzMlDzufVkSlUrEDStIoFAp07NjR0mWQDWGmSDZmyjyERoPMrZuQsmo5NMVFAACfm25F1LTn4BIWYdnizIyZItmYKbnY+bQiWq0WQgh2QEkKIQQuXboET09PZoqkYKZINmZKvou//1IzrjM5CQDgEtkB0TNmw7tPPwtX1jKYKZKNmZKLnU8rotFoLF0C2ZicnBxOD05SMVMkGzMlR3lqMpKWv4OLv/wEAHDw8ETkE9MQeM99UDi0rY97zBTJxkzJ07bORkREREQ2pLq4CKlrVyLzmy/14zqD7nsI4RMmQ+nuYenyiIjqYeeTiIiISBJTJ/FxcVI1qZ3QaJC17Rskr1oOTdElAIB3v1sQPX0WXMIjTaqBiMhc2Pm0Ig5t7LYYMj9/f39Ll0A2hpki2WwtUx3HzjNp/YzNC6/YpvDYESQtXYSy8wkAAJfIaERPnw3vG/qbtG9bYWuZIstjpuRhb8eK2NvbcyAzSaNQKODt7W3pMsiGMFMkGzPVPOXpqTj//jsoOHwAAODg7oGIx6ciaOToRsd1GrsaW3d5Y1dsm3o11howUyQbMyUXO59WRK1Wc7ZbkkYIgaSkJERHRzNTJAUzRbLZYqYS1r9hcHl5pRrdH6t57eQn85rVodOUFCN17UpkfLMeQqMB7O0RPOoBhD/2VJPGdTblamxtbYY05WqstbDFTJFlMVNysfNpRYQQli6BbAxnUCbZmCmSzdYy1ZROpYuTqknthFaLrO2bkfLx+6i+VAgA8L7xZkRNfx7tIqJNrtVW2VqmyPKYKXnY+SQiIiKyMoXHf0fS0gUoS/rfuM7wSEQ9PRs+N97c7G0ZuxpLRNTS2Pm0IryUT7IxUyQbM0WyMVP1VVxIQ9L776Dg5x8BAA5u7gh/7CkEjRoDOwflVW2zNY3ZlIGZItmYKXnY+bQiKpWK4SZpFAoFYmNjLV0G2RBmimRjpv6lKS1B6mcfI+PrL/TjOoP+MwYRjz0FpYenpctrNZgpko2ZkoudTyui0+k44RBJI4RAcXEx3N3dmSmSgpki2ZipmnGd2Tu2IPnjZaguvAgA8OrTD9FPz0a7qA4Wrq71YaZINmZKLnY+rUh1dbWlSyAbk5WVBXd3d0uXQTaEmSLZZGeqsUeGNEVL3qJ66cRRJC5diLKEOACAc1gEoqfPgne/W/gh1wQ8T5FszJQ87HwSERGRzWjKY0Ua0xKPFanIvIDk1cuQf3A/gP+N65w4BUGjHoCd8urGdRIRtQbsfBIRERFJYuzKa93lv054ACpNFWCnRODwUQgfPwlKDy9UagVc2PckIhvGzqcVcXDg4SC5fH19LV0C2RhmimSTnSljjxUpr1Sj+2M1r538ZJ7Zbq9typXXJ31v/fd/jpYCRxfr/7clrrzaOp6nSDZmSh72dqyIvb09x3iQNAqFgidLkoqZItnMkammdCpdnFRt7vEjbQXPUyQbMyUXO59WRK1Wc7ZbkkYIgfPnzyMqKoqZIimYKZLNFjNVe+W1MjsTyR+/j/yfasZ12rdzRdgjjyNo5GiO6zQjW8wUWRYzJRc7n1ZECGHpEsjGcAZlko2ZItlsLVOOOg3SPl+F9A2fQajVcLKzQ+CI+xDx+DSovLwtXV6bYGuZIstjpuRh55OIiIjIREKnQ87ubUj+aAnUBfkAAM+efRE9YzZcO/AB9UREADufRERERCYpOnkCiUsXoPTcWQCAU3AooqfPgs/Nt/I2PSKiOtj5tCKOjo78I0XSKBQKdOrUydJlkA1hpki21p6pyqxMnP/wXeT9sAdAzbjO8AmTEXzfWNipOKGRJbT2TJH1YabkYufTiuh0Ok44RNIIIVBSUgI3NzdmiqRgpki21popbXk50tZ9ggtffgqdugpQKBB4z32IeGIaVN4+li6vTWutmSLrxUzJZWfpAuhfHMxMsmVmZlq6BLIxzBTJ1poyJXQ6ZO/eiqMPDEPapyuhU1fB4/re6PnpJsTMeYUdTyvRmjJFrQMzJQ+vfBIRERFdQdGpP5G0ZCFK/jkNAHAKCkH09Ofhc8vtvBpCRNRE7HwSERERGVGZnYXkFe8hd98uAIC9SzuEjZ+MkNEPc1wnEVEzsfNpRRwceDhILh8f3gJGcjFTJJu1ZkpbUY60dWtwYf1a/bjOgGH/QeSkp6Hy8bV0edQIa80UtV7MlDzs7VgRe3t73rpD0igUCvj5+Vm6DLIhzBTJZo2ZEjodcvfuxPkVS6DOywEAeFzXC9Ez5sAttrOFq6MrscZMUevGTMnFCYesSHV1NYQQli6DbIQQAsnJycwUScNMkWzWlqni0yfx5+SHce71F6HOy4FTYDC6vPkeun+wlh3PVsLaMkWtHzMlF698WhGdTmfpEsjGVFVVWboEsjHMFMlmDZmqzMlC8oolyN27EwBg7+KCsEefQMiYR2Hn6Gjh6qi5rCFTZFuYKXnY+SQiIqI2SVtZgfT1a5G+bg10VZU14zqHjEDE5Blw9OVtdkREsrHzSURERG2KEAI5e3ci+cPFqMqtGdfp3v16dJgxB26dulq4OiIi28XOpxVx5K09JFlMTIylSyAbw0yRbJbI1Mnpj6H67F8AAMeAIERNfRZ+tw3ipH82gucpko2ZkoedTyvCMZ8kW3l5Odq1a2fpMsiGMFMkW0tlqio/V//fJf+cgouzM8IeeRwhD46DvaOT2fdPLYfnKZKNmZKHs91akerqakuXQDbmwoULli6BbAwzRbKZO1PaygqkrFmB44/eq1/mf9dQ9NmwE+HjJ7PjaYN4niLZmCl5eOWTiIiIbEZ5pRpAzbjO/AN7kbzqfVTl5qBKYa9vEzrj/6B1Uunb1uXipGqxWomI2hp2PomIiMhmdBw7r/4Cux5AQP1F3R97w+j6GZsXmqEqIiICeNutVbG3t79yI6Jm8PLysnQJZGOYKZJNZqaq8nKv3IhsHs9TJBszJQ+vfFoRBwcHzrRH0igUCrRv397SZZANYaZINlmZ0lZV4sJXnyHti9VY879baf3vHIKIx6fC0dff5O1T68HzFMnGTMnFzqcVqa6uhhCCHVCSQgiBtLQ0hIWFMVMkBTNFspmaKSEE8n7cg/MfLEZVdiYAwL9bd0TPfAHuXa6RXS61AjxPkWzMlFzsfFoRPmqFZKuoqLB0CWRjmCmS7WozVXLuDBKXLkTxyRMAAEf/9oh66jn43TmYHxDbOJ6nSDZmSh52PomIiKjVqMrPQ8rKpcjetRUQAnaOTgh95DGEPjQe9k7Oli6PiIgawc4nERERWT1dVRUufP050j5fBW15OYCa53VGPfUMHP0DrrA2ERFZA3Y+ryAnJwe7du3Crl278McffyAzMxNCCAQGBqJv37546qmnMGDAACn7cnR0lLIdolodOnSwdAlkY5gpku1Kmap5Xuc+nP/gXVRmZQAA3Lpeiw4z5sC9W/eWKJFaGZ6nSDZmSh4+auUKhg4diokTJ0KhUGDNmjU4d+4cjh49iunTp2PXrl0YOHAgli1bJmVfQggp2yGqpVY3fIA6kSmYKZKtsUyVxP2Dk1Mn4OzcZ1GZlQGVX3t0emUBeqxcx44nGcXzFMnGTMnDK59NcMcdd2Djxo31lnXv3h2enp54/PHH8X//93+YPHmyyVcuGWySLS0tDbGxsZYug2wIM0WyGcqUuiAfySuXInvndzXjOlWOCH14AkLHToS9s4tlCqVWg+cpko2ZkoedzytYtGgRgoKCDL7Wp08fAEBZWRnKysp42ywREZEJdFVVuLBxHdI++xja8jIANeM6I5+cCaeAQAtXR0REpmLn8wpuu+02o6/9+uuvAICePXvC29u7pUoiIiKyKUII5P+0H+eXv4vKzAsAALfO3RA98wV4XHOdZYsjIiJp2PlsJq1Wi8zMTHzzzTd46aWXcP3112PDhg1Stm1vby9lO0S1PDw8LF0C2RhmimRzvJiHv6cvRNGfxwAAKl9/RE2ZCf9Bw6Cw49QU1Hw8T5FszJQ87Hw2w7Rp07BixQrodDp4eXnhzTffxPTp0+Hg0PS3sWvXrgaXJyUlITo6GkD9iYcUCkWDiYgMLbPmtsawbeNtZRyjgICaxw9YKlPGsK28ti39e2+OTBnDto23tdZzft1l5ZVqo23VhflIXbsSObu3/W9cpzOCRz+MkAcehYNLO5RXVcPFSdVgn02pgW0bX97a2hpjrG1Tz1PN3W5ra2utx7M1/n2w5Uw19xiZSiE4xWqT5eXlobCwENnZ2dixYweWLl2KLl264Msvv0Tnzp2btI3GOp8hISHYvn27/sAGBgbCw8MDcXFx+gAolUpER0ejoKAAeXl5+vUDAgLg6emJ+Ph46HQ6ADVXUjt27IjCwkLk5OTo2/r7+8Pb2xuJiYnQaDQAasIUGxuLoqIiZGVl6dv6+vrC19cXSUlJqK6u1i/v1KkTiouLkZmZqV/m4+MDPz8/JCcno6qqSr88JiYG5eXluHDhgn6Zl5cX2rdvj9TUVFRUVOiXd+jQAWq1GmlpafplHh4eCAwMRFpaGsr/92w3AIiOjoZGo0Fqaqp+mbu7O4KCgnDhwgWUlpbql0dGRgIAkpOT9ctcXV0REhKCzMxMFBcX65eHh4fDwcEBSUlJ+mUuLi4ICwtDVlYWioqK9MvDwsKgUqmQmJioX+bs7Izw8HDk5OSgsLBQvzwkJAQuLi6Ij4/XL3N0dERkZCTy8vJQUFCgXx4UFAR3d3ecO3dOv6z22Ofn5yM/P1+/3FBOHBwcEB0drV+/NlPt27eHl5cXEhISoNVqAQB2dnaIiYnBpUuXkJ2drd+un58ffHx86h37K+Xk/Pnz9SbOio2NRWlpKTIyMvTLvL294e/vj5SUFFRWVuqXd+zYEZWVlUhPT9cv8/T0REBAgMFjX11dbTAn6enpKCsr0y+PioqCTqdDSkqKfpmbmxuCg4ORkZGBkpIS/fKIiAjY2dnh/Pnz+mXt2rVDaGiowWOvVCoN5iQ7OxuXLl3SLw8NDYWTkxMSEhL0y5ycnBAREYHc3FxcvHhRvzw4OBiurq6Ii4vTL1OpVIiKimrSsTfnOSImJka/r9pM8RxRozWeIzp06ICLFy8iNzdX31b2OeL2l9bCFD+8OUH/3zxH1LDmc4Q1fI6Ijo5GSkoKNBqN/jzFc0QNazxH1LLmzxGRkZG4cOEC1Gq1PlNt+RzRsWNHqFQqnDlzBleDnU8T7NixA8OHD4eHhwf++usvREREXPW2unbtiqqqKsTHx9f7VsFav4lqjd9atba2Mt73c+fOITY21mKZMoZt5bVt6eNpjkwZw7aNt7XWc37dZSH3vWDkp2qaC98suGIbaz5G1tC2NeSkKcsNMdRWCIG4uLgmnaeas93W2NZaj2dr+/tg65lq7jGqvZB2tZ1P3nZrgmHDhqFPnz44evQoFi1ahA8//NDkbSoUigaXtA1d4jZ22dta2xrDto23NeV9r706ZelMGcO28tq21PE0Z6aMYdvG21ZUVRtc3lTGbmuVlamE9W8AAErPxyP5g/dw6a/jAACdjz8eV14PAPjmxQdwbdcuzdrn1bZrq22t9bOBuc4RzTlPNWe7rbGttR7P1vb3wdYzZcr5t7nY+TRRr169cPToUf3Mt0RERC2l49h5Jq2fsXmhpEoMc6goRcqq95G1bTOg08FZpULoA+PgO3oc8MRbAAAnlQNcnFRm+6BDRETWg53PRmRmZmLbtm144oknjM5EW3tJuu7YhKulUl15YgWi5qidxIpIFmaKmkJXXY2MTeuRuvYjaMtqxs353TYIUVOfhVNgcL2JiKIioyxVJtkonqdINmZKHnY+GxEfH48pU6bg1ltvRWxsrME2p06dAlAzGJ7I2mg0mmbNxkx0JcyUdam9rfVy5ZVqdH+s5rWTn8xr0qyxMgghUHD4IM6//zYqLtRM5OEa2wXRM+bA87qeBtepnbCGSBaep0g2ZkoePkCrCT744AODy/fs2YPDhw8DACZMmGCwTXPUnd2LSIa6M/gRycBMWRcXJ5XRf81pI0NZUgL+nvkEzsyZjooLaVD5+CL2/97A9Z9sMNrxBIC09DSjrxFdDZ6nSDZmSh524RtR+w3H+++/j/z8fDz22GOIjIxEfn4+du/ejQULambhe/755zFy5EgLVkpERGQZ1ZcKkbJqOTK3bgJ0OihUKoQ88CjCHnkCDu3aWbo8IiKyIux8NuKmm27Cn3/+iQ0bNuDQoUMYM2YMioqK4ODggODgYNx3332YNGkSbr75ZkuXSkRE1KJ01dXI3PwVUtasgLa05jl3vgPvRNS05+AcFGLh6oiIyBqx83kF1113Ha677roW2ZexSY2Irpa7u7ulSyAbw0yREAIXf/0JSe+/g4q0FACAa8dOiJ45B549ejd7e+5uzBTJxfMUycZMycPOpxVxcHDgVPMkjUKhQFBQkKXLIBvCTFHZ+UQkLVuEwqM1jxdTenkj8skZCBgyEgoDX6DWndXW2HIPLx+jzyttqYmSyHbwPEWyMVNysfNpRTQajf4h7kSmEkIgIyMDwcHBzBRJwUy1XdWXCpHyyYfI/G4joNVCoVQiZPQjCBs/CQ7tXI2u15TnkNbOymuIuZ9DSraH5ymSjZmSi51PK6LVai1dAtmY0tJSS5dANoaZalt0mmpkbt6A1DUroCkpBgD4DrgdUVOfg3NImIWrIzKM5ymSjZmSh51PIiIiaqDg10NIWvY2KtKSAQDtOsQgesYL8OrZp8nbMPYc0lpCCMQnxCOmYwyvKBARtQHsfBIREZFeWXISkt5/G4W/1TzHWunpjYhJ0xE4fJTBcZ2NudKYTSEEnFVKuDip2PkkImoD2Pm0IioVJ1YguSIjIy1dAtkYZsp2VRcXIXX1B8jY8nXNuE4HBwSPfhjh4yfDwdXNbPtlpkg2ZopkY6bkYeeTiIioDdNpqpH13SakrP4AmuIiAIDPzbchatpzcAkNt3B1RERkS+wsXQD9S602PCU90dVKTk62dAlkY5gp23Lxt1/wx6P3InHxf6EpLkK7qI64dtlqdFu4rMU6nswUycZMkWzMlDy88klERNTGlKecR9L7b+PikZ8BAEpPL0Q8MQ2Bw++FwoEfDYiIyDz4F4aIiKiNqC4uQuqaFcjcvAFCq4HC3gHB949F+ITJcHBzt3R5RERk49j5tCL2zZxFkOhKXF2NP/yd6GowU62T0GiQuXUTUlYt/3dc500DETXtebiERVi0NmaKZGOmSDZmSh52Pq2Ig4MDp5onaRQKBUJCQixdBtkQZqp1unjsCLI+Wozy5CQAgEtkB0TPmA3vPv0sXBkzRfIxUyQbMyUXJxyyIhqNBkIIS5dBNkIIgczMTGaKpGGmWqczLzyN8uQkOHh4osNzc9Hrs2+souMJMFMkHzNFsjFTcrHzaUW0Wq2lSyAbU1xcbOkSyMYwU9avurgISR++p/9/hZ0Dgsc8gj5f70TwvQ9Y3YRCzBTJxkyRbMyUPNb1F4iIiIiuitBokLXtGySvWo7S4hIg4G4AwPWrv4RvbKyFqyMiImLnk4iIqNUrPHYESUsXoex8AgDAJaIDUFXzmkt4pAUrIyIi+hc7n1ZEpVJZugSyMeHhLfOQeGo7mCnrUp6eivPvv4OCwwcAAA7uHoh4fCo87x4JjHvNssU1ETNFsjFTJBszJQ87n0Q2zMHKxnZR68dMWQdNaQlS136EjE3rITQawN4ewaMeQPhjT0Hp7oHySrWlS2wyZopkY6ZINmZKHk44ZEXU6tbzYYFah6SkJEuXQDaGmbIsodUi87tNODp6KC589RmERgOvG25Cry++RYdnXoTS3cPSJTYbM0WyMVMkGzMlD7vxRERErUDh8d+RtGwhyhLjAQDOYZGInjEbPjfebOHKiIiImoadTyIiIitWcSENScvfQcGhHwEADm7uCH/sKQSNGgM7B6WFqyMiImo6dj6tiJ0d74ImuVxcXCxdAtkYZqrlaMpKkfrpSmRsXAdRXQ3Y2yPoP2MQ8dhTUHp4Wro8aZgpko2ZItmYKXnY+bQiSqUSCoXC0mWQjVAoFAgLC7N0GWRDmKmWIbRaZO/cguSVy1BdeBEA4NWnH6Kfno12UR0sXJ1czBTJxkyRbMyUXOx8WhGNRgMhBDugJIUQAtnZ2QgICGCmSApmyvwu/XkMSUsWojThHADAOSwC0dNnwbvfLTb5njNTJBszRbIxU3Kx82lFtFqtpUsgG1NUVISAgABLl0E2hJkyj4qMdJz/4F3kH9wP4H/jOidOQdC9D9j8uE5mimRjpkg2Zkoedj6JiIgsRFNWhrTPP8aFDZ/XjOu0s0PQyNGIeHwqlJ5eli6PiIhIKnY+iYiIWpjQapG9eyuSP1qK6osFAACv3jfWjOuM7mjh6oiIiMyDnU8rolKpLF0C2RgOkCfZ2lKmyivVJq3v4mT4nH7pz+NIWroQpfH/AACcQ8MRNX0WfPoPaJPjidpSpqhlMFMkGzMlDzufVqQtfugg8+IXGiRbW8pUx7HzTFo/Y/PCev9fmZWBpOXvIv/AXgCAvasbwic8ieD7HoKd0rbHdTamLWWKWgYzRbIxU/LwwZJWpKqqytIlkI1JTEy0dAlkY5ip5tOUleH8R0tw9MHhNR1POzsE/mc0+ny9E6EPjjOp41leqTb6rzltLImZItmYKZKNmZKHVz6JiIgMSFj/hsHl5ZVqdH+s5rWTn8wzenut0OmQs3sbkj9aAnVBPgDAs2dfRM+YDdcOsVJqbMrV2dpaDbn86iwREZE5sfNJRERkgLFO5eVtDLUrOnkC/yxdgNJzZwEATsGhiJ4+Cz4338ohFkRE1Gax82lF7Ox4FzTJ5ezsbOkSyMYwU42rzMrE+Q/fRd4PewAA9u1cET5hMoLvGws7M4wZMnZ1tjVhpkg2ZopkY6bkYefTiiiVSn4jTtIoFAqEh4dbugyyIcyUcdrycqSt+wQXvvwUOnUVoFAg8J77EPHENKi8fcy236ZcnbVmzBTJxkyRbMyUXOx8WhGNRgMhBDugJIUQArm5ufD392emSApmqiGh09U8r3PFUqjzcwEAHtf3RocZc+DasZOFq7N+zBTJxkyRbMyUXOx8WhGtVmvpEsjGFBYWwt/f39JlkA1hpuo7OW0Cqs+dAgA4BYUgatpz8B1wBz+gNAMzRbIxUyQbMyUPO59ERNRiTH28hzXcZlqZk63/75K4s2jn0g5h4ycjZPTDZhnXSUREZCvY+SQiohbTlEeDNMaSjwbRVpQjbd0aJK7/DPC5DQDQfvA96DJlBlQ+vhari4iIqLVg59OKKE140DiRISEhIZYugWxMW8yU0OmQu3cnzq9YAnVeDnQKe/1rMc/Pg8oKrsa2Zm0xU2RezBTJxkzJw86nFeGjVkg2FxcXS5dANsbUTBl7NEh5pRrdH6t57eQn86zi9loAKD59EolLF6LkzN8AAKfAYEROfgZYecDCldkOnqdINmaKZGOm5GFvx4pUVVVZugSyMfHx8ZYugWyMqZlycVIZ/decNuZWmZOFf16dgz8njUXJmb9h7+KCyCdnoveX2+B7y20tVkdbwPMUycZMkWzMlDy88klERPQ/2soKpK9fi/R1a6CrqgQUCgQMHYmISU/D0devppGJkyYRERG1VSZ3Pm+7zTzfAPv7+2PDhg1m2TYREVFdQgjk7tuF5A8Xoyo3BwDg3v16dJgxB26dulq4OiIiIttgcufz4MGDEspoqC0O7OWYT5LN0dHR0iWQjbHFTBWfPYXE9xag5MxJAIBjQBCipz0H31vv4vM6W4AtZoosi5ki2ZgpeaTcdjt16lT07NlT2h/pU6dOYdOmTVK21ZoolUp+0CFpFAoFIiMjLV0G2RBby1RVXg6SVyxBzvfbAQB2zs4Ie/QJhDzwKOwdnYw+k7Tu8saeW2otkyZZM1vLFFkeM0WyMVNymdz5jI2Nxfvvvy+jlnoOHGh7MwlqtVoIIdgBJSmEEMjPz4evry8zRVLYSqa0lRW48NVnSPviE+gqKwAA7YeMQOTkGXD089e3a8ozSWtn6DXEks8kbS1sJVNkPZgpko2Zksvkzqebm5uMOhpoi5e3NRqNpUsgG1NQUABfX19Ll0E2pDVnSgiBvP27cf7DxajKyQYAuF9zHaJnzIF7l2ssXF3b1ZozRdaJmSLZmCl5TO58CiFk1NFi2yUioran+OwpJC1diOJTfwEAHNsHImrqs/C7/W6j32QbeyYpERERXR2TO59r166VUUcDhw4dMst2iYio7ajKy0XyR0uQs3sbAMDOyRlhjzyOkIfGwd7RqdF1OWaTiIhILpM7n3fccQeys7Nl1FKPUqmUvk1r1xZ/ZjKvoKAgS5dANqa1ZEpbVYkLX36GtC9W/zuuc/A9iHxyBhz92lu4OqqrtWSKWg9mimRjpuQxufOZm5uLrVu3YsSIETLqadPs7Ow4kJmkUSgUcHd3t3QZZENaQ6aEEMj74Xuc/2AxqnKyAADu3bojeuYLHNdphVpDpqh1YaZINmZKLimPWrn33nvRq1cvREZGwsnJ6ao6UHZ2dli9erWMclqtqqoqznZL0gghEBcXh9jYWGaKpLD2TJWcO4PEpQtRfPIEAMDRvz2innoOfncOtsp6yfozRa0PM0WyMVNySel8KhQK2Nvb6///SpMFpaWl4cCBA/oD6OXlhXXr1skohYiI2piq/Dwkf7QUObu3AkLAztEJoY88htCHxsPeydnS5REREdH/SOl8btu2DYMHD25S2+3bt2PChAlQKBQQQqBHjx7YvHkzIiIiZJRCRERthK6qCukbPkPa56ugq6gZ1+l/11BEPfUMHP0DLFwdERERXc7kzmf79u2b1PHUaDSYPXs2li5dCqDm6uiECRPw4YcftslnehrCS/kkGyexItmsIVNCCOQf2IfzH7yLyqwMAIBb12vRYcYcuHfrbuHqqLmsIVNkW5gpko2ZksfkzueOHTuu2CYlJQVjxozB8ePHIYSAo6Mj3n//fTz++OOm7t6mqFQqdkBJGoVCgejoaEuXQTbEGjJVEvcPkpYuRNFfxwEAKr/2iHrqGfjfOQQKOzuL1kbNZw2ZItvCTJFszJRcJnc+e/bs2ejrmzdvxuOPP47i4mIIIRAeHo5vvvnmiuu1RVqtlhMOkTRCCBQUFMDHx4eZIiksmSl1QT6SVy5F9s7vasZ1qhwR+vAEhI6dCHtnlxatheTheYpkY6ZINmZKLiljPg1Rq9WYOXMmVq5cCaDmwN1111348ssv4e3tba7dtmoajcbSJZCNyc/Ph4+Pj6XLIBvS0pnSVVXhwsZ1SPvsY2jLywDUjOuMfHImnAICW6wOMh+ep0g2ZopkY6bkMUvnMyEhAaNHj8bff/+tv5I3b948vPrqq/zGgIiIrkgIgfyf9uP88ndRmXkBAODWuRuiZ74Aj2uus2xxREREdFWkdz7Xr1+PKVOmoKysDEIIeHl54YsvvsCQIUNk74qIiGxQaWIc4j9ajKITxwAAKl9/RE2ZCf9Bwziuk4iIqBWT1vmsqKjA1KlT8dlnnwGo+db6uuuuw+bNmxEZGSlrNzaNM2mRbIGBvC2R/lVeqTZpfWdHZYtk6s8nH4GTTgM7lSNCxk5A2NiJsHfhuE5bxfMUycZMkWzMlDxSOp9nzpzBmDFj8M8//0AIAQAYP348PvzwQzg5OTVpG++99x6eeeYZGeW0WnZ2drwtmaRRKBTw8PCwdBlkRTqOnWfS+hmbF5olUzq1Ghe+/vzfBULA747BiJryDJwCg6Tvj6wHz1MkGzNFsjFTcpl8/9Lq1avRt29ffcfT0dERK1euxJo1a5rc8dTpdFixYoWppbR6arVa33knMpUQAnFxccwUSSM7UzXjOn/AsbEjkPzx+/rl1y5dhS6vv82OZxvA8xTJxkyRbMyUXCZf+Zw0aZL+ap1KpcL8+fMRGxuLQ4cOXXHd6upqZGZmYuPGjUhKSjK1lFaPoSbZmCmqK2H9GwaXl1eq0f2xmtdOfjIPLk4qo9uQlanSxDgkLV2ES3/8DgBQ+bbXv+bR7Top+6DWgecpko2ZItmYKXmkjfkUQkCtVmPWrFlXtT5vNyUiMq/GOpV12xhrJ+OPr/piAVJWLUfW9s2ATgeFSoXQB8fD9/5HgSfeMnn7REREZL2kTBs4bNgwlJeXQ6fTNetfVVUVUlJSsHDhQhlltHrsgJNsDg5me5QvtVFXmylddTXSv/wUR8cMRdbWTYBOB7/bB6HPV9sROflpTijUhvE8RbIxUyQbMyWPye+kq6srvvrqqyaP76xLqVQiLCwMs2bNwnfffWdqKa2eSqViB5SkUSgU6NChg6XLIBtyNZkSQqDg8EGcf/9tVFxIAwC4xnZB9Iw58LyupznKpFaE5ymSjZki2ZgpuUzufM6YMQMuEr6xnjJlisnbaO20Wi2EEOyAkhRCCBQWFsLLy4uZIimam6nSpHgkLVuES8d+AwAovX0Q+eQMBAwZyed1EgCep0g+ZopkY6bkkjLhkAwPP/xwvf9PT09HaGiolG23FhqNxtIlkI3Jzc2Fl5eXpcsgG9KUTKkLLyJ19QfI/N/ttQqVCiEPPIqwR56AQ7t2LVQptRY8T5FszBTJxkzJY/JXz/fee6+MOhoYM2aMWbbbXBcuXMDChQtx6623wtfXF0qlEl5eXujfvz8WL16MiooKS5dIRGQVdNXVuLDhcxwdMxSZW74GdDr4DrwTvb/chqgnZ7LjSURE1MaZ3Pk019TD1jCl8U8//YSoqCi89NJL6N69O3bs2IH4+Hhs3LgRKpUKzz33HK6//npkZmZaulQiIosRQqDgl4M4/sh/kLRsEbSlJWjXMRbdl69B1/++B+egEEuXSERERFbA5NtuL126JKGM+jQaDYqLi6Vvt7kKCwtRXV2NN954A3PnztUvj4yMxG233YY+ffrgxIkTmDx5MrZv327y/jiTFsnWvn37KzciaobLM1V2PhFJyxah8OivAACllzciJz+NgKH/gcLevsH65ZVqg9utu9xYG6Bpj4uh1oXnKZKNmSLZmCl5TO7tJCUlYezYsYiNjZVRD3Q6HX7++WeUlJRI2Z6pFAoFJk+e3GC5vb09Jk+ejMmTJ2PXrl0oKSmBm5ubSfuyt7fnQGaSRqFQcHwCSVU3U9VFl5Cy+gNkfrcR0GqhUCoRMvoRhI2fBId2rka30XHsvCvup/tjbxh9LWMzH81lS3ieItmYKZKNmZJLyqW2DRs2yNiMnhACISGWv01r+PDhKCkpQTsj45RqJ0TS6XS4dOmSyZ1PtVrN2W5JGiEEEhMT0aFDB2aKpBBCIOHcObj8fRypa1ZAU1Jzh4rvgNsRNfU5OIeEWbhCam14niLZmCmSjZmSy+TO57hx42TU0YC3t7dZttsc9vb2RjueAPRjPX18fKR0lq1hnCvZFq1Wa+kSyIZc/PUQct99E9rsmnNfuw4xiJ7xArx69mnyNhLWG7+qSW0Tz1MkGzNFsjFT8pjc+Vy7dq2MOlqlHTt2AACefvrpJn8T0rVrV4PLk5KSEBIS0qADqlAomrTMmtsaw7aNt5XxvgshLJopY9hWXlvZx7M2M3WXlyUn4fzyt1H42y8AAKWnFyImTUfAsFH6cZ1NrcHFSWXSz2xsXWs+RuZqa63n/Oa0rc1bU7dhCNs23tZaj725/pYwU40vb21tjWnJtraeqeYeI1Nxhpur9Ndff2HHjh3o3r07Zs+eLWWbQgjExcXpD2xgYCA8PDwQHx+vD4BSqUR0dDQuXryIvLw8/boBAQHw9PREQkICdDodgJortx07dsSlS5eQk5Ojb+vv7w9vb28kJSXpny2qUCgQGxuL4uJiZGVl6dv6+vrC19cX58+fR3V1tX55p06dUFJSUm+mXx8fH/j5+SElJQVVVVX65TExMSgvL8eFCxf0y7y8vNC+fXukpaXVe1xNhw4doFarkZaWpl/m4eGBwMBApKeno7y8XL88OjoaGo0Gqamp+mXu7u4ICgpCRkYGSktL9csjIyMBAMnJyfplrq6uCAkJQVZWVr0JrsLDw+Hg4ICkpCT9MhcXF4SFhSE7OxtFRUX65WFhYVCpVEhMTNQvc3Z2Rnh4OHJzc1FYWKhfHhISAhcXF8THx+uXOTo6IjIyEvn5+SgoKNAvDwoKgru7O+Li4vTLao99QUEB8vPz9csN5cTBwQHR0dFQq9X1MtW+fXt4eXkhMTFR/y2enZ0dYmJiUFRUhOzsbP12/fz84OPjU+/YXyknycnJUKv/nSwmNjYWpaWlyMjI0C/z9vaGv78/UlNTUfn/7d13eBTV/gbwd9N7JSG9FwhN6VZQqoKIiGBDEAsWmiK2e73ItWJBKdarUhQbIKBeC3ClCKIICAJCSCMQUklCerLZ3fP7I79ds2Q32SRns5PN+3kennudOTtzdufNZL+ZOWdqaw3LExMTUVtbi7NnzxqW+fn5ISQkxOSxr6+vN5mTnJwcVFVVGZbHxcVBp9Ph9OnThmXe3t4IDw9Hbm6u0fjymJgYODg4IDMz07DM09MTkZGRJo+9s7OzyZwUFBQYTcYWGRkJNzc3pKWlGZa5ubkhJiYGRUVFKCkpMSwPDw+Hl5eX0bF3cXFBXFycRce+TeeIsr/7eirtFKIjwhEQEIC0I4dxYeOnqNnxY8PzOp2c4HLNGHhPuAXlnl4oT0/nOeL/dcZzREJCAkpLS1FYWGho29HniKSkJGg0GqPzFM8RDRR1juhE3yPi4+Oh1WqNMsVzRIPOeI5QwveI2NjYJt/Ru/I5Qq1Ww8Wl7ZP/qQTv9Wy1iooKDB06FCUlJfj555+RkJDQ7m3qr4geO3bMaLlS/xLV2f5q1RnbKvV48tgrq62M41lVU4ekO/8FADj1yb/h5qRC/ub1OP3BW4ZxnYFXXYP4OQvhFh4pvQ/msG3zbZX6c89jr6y2Sj32zIn12yr1ePLYK6tta4+RvmY5fvy4Rfu9GK98tlJNTQ3Gjx+PoqIi7Ny5U0rhqaf/S+PFl7RNXeI2d9lbqW3NYdvm27bncxdCoKysDL6+vjbNlDlsK6+tzONZ+vs+5L27FNWnG/5q6xmfiPh5T8B/4FCrZsoctm2+rVLP+dY6T5nDts23VeKxb21bc5ip5tsq9Xh2pt8PXSFTrTlG7cXisxUqKipw44034vTp09izZw+SkpKkbr/x7ShEMuTn58PX19fW3aBO5PhT8+AmtIZxnaHjJ0HV6BnEzBTJxkyRbMwUycZMycPi00Lnz5/Hddddh4qKCuzZs8fwmBUios6svrwMGf952/DfKgcnRNxyJ6LvngUnbx8b9oyIiIjsjYOtO9AZ5OTk4Oqrr4ZOp8PPP//cpPCcPn06tm3bZqPeERG1ntBocG7jZ9g/5XrkfvX3s5r7f/Q54ucuZOFJRERE0kkpPj/88EP8+eefhjGL9iQtLQ1XXnklgoKCsGPHDgQFBTVps2vXLqNZuNrKyYkXokkuU3klKvltLw5Mvxnpr78ATXkZPKLjDOs8IqObfS0zRbIxUyQbM0WyMVPySKl27rvvPqhUKgQHB+Oaa67BK6+8goiICBmbtqnjx4/j2muvRWFhIby8vHDttdeabNd4quj2cHR0tNrgXup6VCoVAgMDbd0NUpDq7CxkrHwNJXt3AQCcfP0Qc+9s+I2ZAExf3OLrmSmSjZki2Zgpko2ZkkvapbZZs2ZhxYoVcPz/B47bg23bthmebdTW6YRbQ61WQwjBApSkEEIgMzMTcXFxzFQXV19ehuxV7yF3w6cQWg1Ujk4Im3wbou9+AM4+vqiuVbe8ETBTJB8zRbIxUyQbMyWXtOJz3rx5dlV4AsD8+fMxf/78DtsfH7lKsnEG5a5NaDTI+3oDsv6zEpqyCwCAgMuvRvzsx+ARE9f8i81gpkg2ZopkY6ZINmZKHinFp6OjY5PHjvz2229QqVQYPHiwjF0QEVErlP6+DxnLXkFVZhoAwCMmDvFzn0DA0Cts3DMiIiLqqqRMOOTj49PkMnTPnj3xzTffICYmBnPnzsWOHTvsckIimXgpn2Rjprqe6rPZOPb4bPw57z5UZabByccXCQv+gYFrv5JSeDJTJBszRbIxUyQbMyWPlCuf7u7uTZb5+Pjgueeeg5+fHxYuXIiPP/4Yl1xyCfr374/XX39dxm7tjouLC8NN0qhUKiQnJ9u6G9RBNBXlyF71Hs5tWAeh0QCOjgifdCui73kIzj4ND8Y2N7az8fLmxn96uLkwUyQVz1MkGzNFsjFTcqmEhIGGYWFhyM3NNbnu7NmziI6OxvHjx9GzZ8/27spu9erVCzqdDn/99RcLUJJCCIHy8nKTdyaQ/RBaLfK+2YjT769A/YVSAEDAZVchbs5j8IyJN2obfvMT7dpXzoaXmSmSiucpko2ZItmYKWO9evUC0PbJWKVc+SwsLERubi7CwsKarAsPD4eLiwsLTwtwMDPJlpeXBx8fH1t3g6yk9MBvyFj2Mqoy/n9cZ3Qs4uY+jsDLrrLaPpkpko2ZItmYKZKNmZJHSvGp0+nQo0cPjBw5EmPGjMGYMWMQExMDAHBwcICHh4eM3RAREYCanDPIWPkainf/BABw8vZB9D0PIWzSVDg4OZt9Xdq65zqqi0RERERNSHvUSlVVFbZs2YItW7YAABISEjB27FiMHj3aokeI8PmWRGRvLH1+pjkebi5G/62pqkT26vdw7ouPDeM6w26aiph7HoKzr1+rt9dafBwUERERtYe04tPd3R01NTWGLydpaWlIT0/HypUrAQBXXnklRo0ahdGjR2PIkCFwcDCeaPe5557Dv/71L1nd6ZScnKQdDiIAQLdu3WzdhS4t8Y5n2vX6cxuXAGgY15n/7SZkvb8c9aUlAAD/wZcjfu7j8IxLaHc/W4OZItmYKZKNmSLZmCl5pFQ7Y8aMwffff4/q6mr88ssv2Lp1K3788UccPXrU0Gbfvn3Yt28f/v3vf8PX1xfXXHMNRo0ahZEjRyIhIQF79+6V0ZVOzdHRkVd/SRqVSsWTpR248MfvyHhzCSrTTgIA3KNiED9nIQIuv7rDzxfMFMnGTJFszBTJxkzJJWW22+effx7//Oc/mywvKCjA1q1bsXXrVmzfvh0FBQV/77jRlyZnZ2fU19dDq9W2tyudVq9evVBfX4/U1FQWoCSFEAJZWVmIjY1lpmykuUeb9LunYfzlkQ+fMXk7bE1uDvI/WI7zO7cD+P9xnTMfRNikW+HgbH5cpzUxUyQbM0WyMVMkGzNlTBGz3ZoqPAGge/fumDZtGqZNmwYAOHLkiOGq6N69e1FXVwcAUKvVPJhomLiJSCa1un1jDql9LBlj6eHmYtROU1WFM2vfR87nayHq6wEHB4RNnIKYex+Gs5+/NbtrEWaKZGOmSDZmimRjpuTp0EGG/fr1Q79+/bBw4ULU1NRg165d+P777/Hll1+isLCwI7tCRKQoQqtF/vdbkPXuMtSXFAMA/Add1jCuMz7Rxr0jIiIiaj+bzXDj7u6OsWPHYuzYsXjxxRdx9dVX26orREQ2deGPA8hYtgSVp04AANwjoxE/dyECLh/Gu0KIiIjIbihielVPT088+OCDtu6Gzbm6utq6C2RnkpOTbd0FasFfi59E1a6tAABHL29E3/0AwiffbrNxnS1hpkg2ZopkY6ZINmZKHoeWm3SMe++919ZdsDmO+STZKisrbd0FMkFTXWX4/8W7/9cwrvOmqRj8xX8Redt0xRaeADNF8jFTJBszRbIxU/IopvgkoL6+3tZdIDtz7tw5W3eBGhE6HfK/3YSD0282LPO7dBAGrNmAxIXPwMU/wIa9swwzRbIxUyQbM0WyMVPyKOK2WyIie1d25BDS33wZlal/Qa1yBEIalvd+9S14uvOWeyIiIrJ/LD6JiKyoNu8cMt9eiqL//QgAcPT0Quy0+4AtpwCAEwoRERFRl8HiU0GcnHg4SK6AAOXfxmmvtNXVOPPxBzj72WoItRpQqRB6w82IuX8ONB7ewJZnbN3FNmGmSDZmimRjpkg2ZkoeVjsK4ujoyKsgJI1KpUJwcLCtu9HlCJ0OBT98g6x334T6fBEAwLf/ICTMewJeiT0AAJrazvmwamaKZGOmSDZmimRjpuTihEMKUl9fDyGErbtBdkIIgdOnTzNTHajsz0P4497bkPr8P6A+XwS3sAj0eulN9FvxkaHw7MyYKZKNmSLZmCmSjZmSi1c+FYSPWiHZamtrbd2FLqE2P69hXOf27wEAjh6eiJoxCxFT7oSDi4uNeycXM0WyMVMkGzNFsjFT8rD4JCJqI21NNc6u+whnP1kFnboOUKkQMv4mxN4/Fy6B3WzdPSIiIiJFYfFJRNRKQqdD4db/IvOdN6EuKgAA+F4yEPHznoB3ck8b946IiIhImVh8KoirK5/1R3IlJibaugt2p/zYEaQvW4KK438CANxCwxE3+zF0Gz6yyYRh1WYmFmq83FwbAPBwU94tu8wUycZMkWzMFMnGTMnD4lNBOOaTZKutrYWHh4etu2EXagvykPXOmyjc+l8AgKOHB6Luuh8RU6fBwcwfjhLvaPlxKv3uec7sunMbl7Sts1bETJFszBTJxkyRbMyUPCw+FaS+vt7WXSA7c/bsWSQnJ9u6G9I0d5XQEm25kqitrcHZTz7C2XWroKurbRjXOW4iYu6fC9duQe3qT2dkb5ki22OmSDZmimRjpuRh8UlEnYYlVxKb05oriUIIFG79L7LeeQN1hQ3jOn369UfCvCfg3aOXRdtIW2f+qiYRERFRV8Pik4joIuXH/0T6m0tQcfwIAMA1JAzxsxeg2zWjm4zrbI4Sx2wSERER2QqLTwVxdHS0dRfIzvj5+dm6C1KZu5JYXas2jJ088uEzbS766ooKkPn2Gyj88VsAgIO7O6Luug+Rt043O66zq7G3TJHtMVMkGzNFsjFT8rD4VBAnJ6dWXVUhao5KpUJISIituyGVJUWlh5tLq4tPbW0Nzn66Gmc/+Qi62hoAQPfrJyL2gXldclynOfaYKbItZopkY6ZINmZKLgdbd4D+Vl9fDyGErbtBdkIIgTNnzjBTzRBCoHDbd/j9thuQ/cFb0NXWwKfvpej/4efo8c/nWXhehJki2Zgpko2ZItmYKbl45VNB+KgVkq26utrWXVCs8r+OImPZEpQfPQwAcO0eiriHH0XQiLG8A6EZzBTJxkyRbMwUycZMycPik4iksMVjUNqirqgQWe++iYLvvwYAOLi5I2ravYi4fTocXd06pA9EREREXRGLTyKSoiMfg9IW2rpa5Hy2Bmc+/gC6mv8f1zn2BsQ+OB+uQd2tum8iIiIiYvGpKC4ufCwDyRUfH2/rLticEAJF//sBmW8tRV1BHgDAp3c/xM9/Ej4pfWzcu86HmSLZmCmSjZki2ZgpeVh8Etmx+vp6ODl1zI+5tR+D0hYVJ48jfdkSlB85BABwDe6OuIcWIGjUdRzX2UYdmSnqGpgpko2ZItmYKXn4KSqIWt2+MXNEFztz5gySk5M7ZF/WegxKW9QVFSLrveUo+H4LIAQc3NwReedMRN4+A45u7lbfvz3ryExR18BMkWzMFMnGTMnD4pOI7MqZdR+h6NMPDeM6g8eMR9yD8+EazGd0EREREdkSi08i6vQaP3sr+6N34Ca08O7VFwnznoBP73427BkRERER6bH4VBBHR0dbd4HsjK+vr627YHUVqX/h+BuvAGiYsdalWzB6PDQPwaOuh8rBwbads0NdIVPUsZgpko2ZItmYKXlYfCqIk5MTJ0EhaVQqFUJDQ23dDatRF59H1nvLkP/fzaiFAxAyFgAwcPV6ePv72bZzdsreM0Udj5ki2Zgpko2ZkouXBRSkvr7e6PZBovYQQuDs2bN2lyldXR3OfPwh9k8dh/xvNwFCIGjEWMN6R3cPG/bOvtlrpsh2mCmSjZki2ZgpuXjlU0F0Op2tu0B2pqqqytZdkEYIgfO7tiNz5euozc0BAHj37I34+U/COTEFuOMZG/ewa7CnTJEyMFMkGzNFsjFT8rD4JCLFqzx1EunLl6Ds0O8AGsZ1xj04H8FjxkPl4IDqWj6miIiIiEjpWHwSkWKpS87j9PsrkffNxobndbq4IuKOuxF1x0w4evD2WiIiIqLOhMWngri4uNi6C2Rn4uLibN2FNtGp1Ti3/hNkr3oP2uqGW12CRoxF3EOPwi00zMa969o6a6ZIuZgpko2ZItmYKXlYfBLZsc42jlgIgeLdPyFj5WuoPXcWAODdoxfi5z8B3779bdw7Ajpfpkj5mCmSjZki2ZgpeVh8KohazXFrJNfp06eRnJxs625YpDI9FRnLXsGFg78BAFy6BSH2gfnoPvYGw/M6zY3tbLy8ufGfHm68u6C9OlOmqHNgpkg2ZopkY6bkYfFJRDalLinG6Q9WIu/rjYBOB5WLCyJvm4Goafc2GdeZaMGMtv3uec7sunMbl7S7v0RERETUNiw+icgmdPX1OLd+HbJXvQttVSUAIOjaMYh7+FG4hYbbuHdEREREJBuLTwVxdHS0dRfIznh7e9u6C00IIVC8ZycyV7yKmpwzAACv5BTEz3sCfpcMaPa1aevMX9WkjqHETFHnxkyRbMwUycZMycPiU0GcnJygUqls3Q2yEyqVCuHhyrqCWJmVhrR338CF338FALgEdkPsrHnofv2NhnGdzeGYTdtSYqaoc2OmSDZmimRjpuRq+dsedRiNRgMhhK27QXZCCIFz584pKlN/3HcnLvz+a8O4zrvuxaDP/4uQ8TdZVHiS7SkxU9S5MVMkGzNFsjFTcvHKp4JotVpbd4HsTEVFhU33r6uvx7kNn/69QOjQbfgoxM1eAPewCNt1jNrM1pki+8NMkWzMFMnGTMnD4pOIpBNCoOSXXchY8RpKz54FQsYCAPosfRdhQy6zce+IiIiIyBZYfBKRVFWZ6chYtgSlv+8DADj7dzOs8+vX/IRCRERERGS/WHwqiIsLJ1MhuWJiYjpsX/UXSnH6g7eQu2U9oNVC5eyMiCnT0O22GcB9fL6mvejITFHXwEyRbMwUycZMycPik8iOOXTARD46TT1yN36O7I/egaaiHADQbdgIxD28AO4RUaiuVVu9D9RxOiJT1LUwUyQbM0WyMVPy8JNUELWaX9JJrszMTKtuv/iX3Thw5yRkLFsCTUU5PBOS0HfFR+j10jK4R0RZdd9kG9bOFHU9zBTJxkyRbMyUPLzySUStVpWVgYwVr6L01z0AAGe/AMTcPwehN0yCytHRxr0jIiIiIiVi8UlEFqsvL0P2B2/h3KYvGsZ1OjkhfMqdiJ4xC2onV9TUa4F640cGNb7ttrlbcD3cOOaZiIiIyJ6x+FQQ3k9Osnl6ekrZjk5Tj7xNX+L0B28ZxnUGXnUt4uc8Zri9NvrmJ1rcTr97njO77txGTkrUGcjKFJEeM0WyMVMkGzMlD4tPBXF2doZKpbJ1N8hOqFQqREZGtns7Jb/uQcbyV1B9umG8g2d8IuLnPQH/gUPbvW3qXGRlikiPmSLZmCmSjZmSi8Wngmg0GgghWICSFEII5OfnIyQkpE2Zqj6diYwVr6Jk388AAGc//4ZxneMnQeXU9NSRts78VU2yD+3NFNHFmCmSjZki2ZgpuVh8KohWq225EVErlJWVISQkpFWvqS8vQ/aHbyP3qy8gtJqGcZ233IHoGbPg5O1j9nUcs9k1tCVTRM1hpkg2ZopkY6bkYfFJRAAAodEgd8t6nP7PSmjKywAAgVcOR9ychfCIjLZx74iIiIios2PxSUQo+W1vw7jOrAwAgEdsAuLnPY6AwZfbuGdEREREZC84vWorpKam4vLLL4dKpcLq1aulb9/FhbctklxRUVHNrq/OzsLRhQ/j6COzUJ2VASdfPyQ+9k8MXLOBhSeZ1FKmiFqLmSLZmCmSjZmSh1c+LaDVavH6669j0aJFqK2ttXV3iCzm7OxscrmmohynP3oXuRs+bRjX6eiEsMm3I/ruWXD28e3gXlJnYi5TRG3FTJFszBTJxkzJwyufLSguLsbll1+OV155BR999BGio6039k2tVltt29Q1ZWRkGP230GiQ+9Xn+G3K9Tj3xVoIrQYBl1+NgZ9sQsK8x1l4UosuzhRRezFTJBszRbIxU/LwymcLzp49i8jISHzzzTcIDg7GU089ZesuEbVJ6e/7kLHsFVRlpgEAPGLiED/3CQQMvcLGPSMiIiKiroDFZwv69OmDDRs22LobRG1WczYbmStfQ/GenQAAJx9fxNw3G2E33mLyeZ1ERERERNbAb54tcHR07LB9OTjwLmgyrbq29bdk11eUofTLT3Bm+/dw1dQBjo4In3Qrou95iLfXUpt5eHjYugtkZ5gpko2ZItmYKXlYfCqIs7MzVCqVrbtBCpR4xzNtf3HQSPwQU464OY/BMyZeXqeoy1GpVJzxj6Ripkg2ZopkY6bkYvHZwXr16mVyeUZGBqKjo6HT6YwKUJVKBSGEUVtTy5Tc1hy2bb5ta7bRkt6vvQ0AEELw2NtZ244+nvn5+ejevbvU85Q5bNt8W6We81vTVgiBgoICizJlDts231apx95a5whmqvnlna2tOR3Z1t4z1dpj1F4sPhVEo9EgNTXVcGBDQ0Ph6+uLU6dOGQLg7OyM+Ph4lJSUoKioyPDakJAQ+Pn5IS0tDTqdDkDDLcOJiYm4cOECCgoKDG2Dg4MREBCAjIwMaDQaAA1hSk5ORnl5OfLy8gxtu3Xrhm7duiEzMxP19fWG5T169EBFRQVyc3MNywIDAxEUFITTp0+jrq7OsDwpKQnV1dXIyckxLPP390f37t1x5swZ1NTUGJYnJCRArVbjzJkzhmW+vr4IDQ3F2bNnUV1dbVgeHx8PjUaD7OxswzIfHx+EhYXh3LlzqKysNCyPjY0FAGRlZRmWeXl5ISIiAnl5eSgvLzcsj46OhpOTk9HMZh4eHoiKikJ+fj7KysoMy6OiouDi4oL09HTDMnd3d0RHR6OwsBClpaWG5REREfDw8MCpU6cMy1xdXREbG4vz58+juLjYsDwsLAw+Pj5ITU0FAHy76E44OzsjLjYO54v/blur1mDyS58DAD4MLoLqz4MAAJWHJ2LvfgBFMYlw8/Q0bKd79+7w9/dHeno6tFotgIbbvZOSklBWVob8/HxDH4KCghAYGGh07FvKSVZWltGszcnJyaisrMS5c+cMywICAhAcHIzs7GyjRxclJiaitrYWZ8+eNSzz8/NDSEiIyWNfX19vMic5OTmoqqoyLI+Li4NOp8Pp06cNy7y9vREeHo7c3FxUVFQYlsfExMDBwQGZmZmGZZ6enoiMjDR57J2dnU3mpKCgABcuXDAsj4yMhJubG9LS0gzL3NzcEBMTg6KiIpSUlBiWh4eHw8vLy3DMgIZnAMfFxaG4uBjnz583LO/oc0RSUpLhvenPUzxHNLD1OQL4+9hbkhMnJyckJCSgtLQUhYWFhrYdfY5ISkpCYWGhUaZ4jmjQGc8RSvgeER8fj/PnzxtliueIBp3xHKGE7xGxsbEoLi42ylRXPkeo1Wq4uLigrVRC1qWVLiImJgbZ2dlYtWoVZsyYIW27vXr1Ql1dHU6dOsUrn2xrdvnFy8qLi5Ey61UAwEf5P8DNAQi7aSqiZz4IZ18/nDx5EsnJyTbLlDlsK69tRx9Pa2TKHLZtvq1Sz/mtvfKZmppqUabMYdvm2yr12FvzyiczZX55Z2trTkdf+bTnTLX2GOnv4jx+/LhF+70Yr3wqjEqlanJJ29QlbnOXvZXa1hy2bb6tuc9daLXI/3YTTry/EnAbAgDwHzgUveY/Ds/YhnGdQghDnmyZKXPYVl7bjjqe1syUOWzbfFulnvNb29bSTJnDts23VfKxt7StOcxU822Vejw72+8He89Ua45Re7H4VBBnZ2dbd4EUqvFstxcOH0Dm20tRlZGGOpUj4NawPPbZ16BydzW0FUIgMLg7qmvV8HR3tUW3yQ5FRkbaugtkZ5gpko2ZItmYKXlYfCoIH7VC5jSd7TYeCDGeufaSe583+/pzG5dYoVfUFbm5udm6C2RnmCmSjZki2ZgpeVjtKEjjwfVEeppGg96JbK3xZAdEMjBTJBszRbIxU/LwyieRQgmtFvnfb0HWu8vwUekFAIBf/0GIe+hReMYmtPx6IXAq7RSSEpOs3FMiIiIiopax+LRASUmJYdpn/bTSjaeTDggIaNeUw0QXu3D4IDLefBmVp04AAPwjoxE3ZyECrxhm8QBwIQTcXZzh4cZsEhEREZHtsfi0wKRJk7Br1y6jZfPnz8f8+fMBADt27MDw4cPbvR+O+aTavHPIfGspin76EQDg6OWN6LsfQPjk2+HQhgmpOEaBZGOmSDZmimRjpkg2ZkoePudTIdr7zBzq3LTV1Tiz9j84+/kaCLUacHBA6I2TEXPvbLj4B9i6e0REREREfM6nPdFqtYbn6FHXIHQ6FHz/NbLefRPq4vMAAL8BQxA/73F4JSS3b9tCoKioCEFBQcwUScFMkWzMFMnGTJFszJRcLD4VRKPR2LoL1AaNn8HZGmVHDyPz7dehSW34y5FbeCTi5yxE4FXXSDu5lZSUICgoSMq2iABmiuRjpkg2ZopkY6bkYfFJ1E5Nn8HZGjH4wjMb0XfPQvjkO+DAiauIiIiIyE6x+CSyscFf/BcuAYG27gYRERERkVWx+FQQ5zbMZkq2l7buOZPLq2vV6HdPw7pttw9EwZr3oC4uAgD49uuPuIcfhVd8Mlys+CiU8PBwq22buiZmimRjpkg2ZopkY6bkYfGpIHzUSudkyXM0zy59Hm5CC7+wCMTPeQyBV4/okEHrXl5eVt8HdS3MFMnGTJFszBTJxkzJw2pHQerq6mzdBZKkNj8PJ57/h+G/Hd09EPvQoxj06dfoNmxkh82Wlpqa2iH7oa6DmSLZmCmSjZki2ZgpeXjlk0gibU01znzyEXLWrUJ1vQYIGQsAGLh2I/zCwmzcOyIiIiIi22HxSSSB0OlQuPW/yHznTaiLCgAAvv0GAoUN610Cutmwd0REREREtsfiU0E45rNzKj92BOnLlqDi+J8AALfQcMTNfgweQ68G7vyXTfvmwke3kGTMFMnGTJFszBTJxkzJw+JTQZydnTtsLCC1X21BHrLeeROFW/8LAHD08EDUXfchYupdcHB1RXWt2qb9U6lUiIuLs2kfyL4wUyQbM0WyMVMkGzMlF4tPBdFqtRBCsABVOG1tDc6uW4Wzn3wEXV0toFIh5PobETNrHly7Bdm6ewZCCBQXFyMwMJCZIimYKZKNmSLZmCmSjZmSi8Wngmg0Glt3gZohhEDhtu+Q9fZS1BU2jOv06dcfCfOegHePXjbunWnnz59HYGCgrbtBdoSZItmYKZKNmSLZmCl5WHwSWaD8r6NIf+NlVBw/AgBwDQlD/OwF6HbNaP4VjIiIiIjIAiw+iZpRV1SArHfeRMEP3wAAHNzdG8Z13noXHF3dbNw7IiIiIqLOg8Wngjg7O9u6C/T/tLU1OPvp6oZxnbU1AIDu19+I2Fnz4BoUbOPeWS40NNTWXSA7w0yRbMwUycZMkWzMlDwsPhXEwcGBt3DamBACRdu/R+bbS1FXkA8A8Ol7acO4zp69bdy71lGpVPD19bV1N8iOMFMkGzNFsjFTJBszJRcfLKkgarUaQghbd6PLKv/rKA4/MA0nFj2OuoJ8uHYPRc/Fr+CSd9Z2usITaCikU1NTmSmShpki2Zgpko2ZItmYKbl45VNBGGrbqCsqRNa7b6Lg+68BAA5u7oiadi8ibp/e6cd1MlMkGzNFsjFTJBszRbIxU/Kw+KQuS1tXi5zP1uDMxx9AV/P/4zrH3oDYB+fDNai7jXtHRERERGRfWHwqCMd7dgwhBIp++hGZby1FXX4uAMCndz/Ez38SPil9bNw7uTiJFcnGTJFszBTJxkyRbMyUPCw+FcTFxYUFqJVVnDyO9GVLUH7kEADANbg7Yh96FMGjrre7z16lUiE+Pt7W3SA7wkyRbMwUycZMkWzMlFwsPhVEq9VCCGF3RZAS1J0vwun3liH/uy2AEHBwdUPknTMRecfdcHRzt3X3rEIIgZKSEgQEBDBTJAUzRbIxUyQbM0WyMVNysfhUEI1GY+sudLjqWnW7Xu/h5tLsel1dHXK+WIsza/8DbXU1ACB49DjEPfQIXIND2rXvzqCoqAgBAQG27gbZEWaKZGOmSDZmimRjpuRh8Uk2lXjHM+16/bmNS0wuF0Lg/I5tyHzrddTmnQMAePfqi4R5T8Cnd7927ZOIiIiIiFqPxSfZnYrUE8hYtgRlhw8AAFyCuiPuoUcaxnU68NG2RERERES2wOJTQbriTFpp654zuby6Vo1+9zSsO/LhMy3eXgsA6pLzyHpvOfK/3fT3uM477m4Y1+nuIbXfnUVIiP3fWkwdi5ki2Zgpko2ZItmYKXlYfCqIg4NDlxvIbElR6eHm0mw7nVqNnC8+xpk170NbXQWgYVxn7IPz4dY9VFpfOxuVSgU/Pz9bd4PsCDNFsjFTJBszRbIxU3LxHkQFUavVEELYuhudhhACRTu34ffbJyDrnTegra6Cd8/euOS9j9Hz2SVduvAEGj6fU6dOMVMkDTNFsjFTJBszRbIxU3LxyqeCMNSWqzx1EunLl6Ds0O8AAJduwYh7cD6Cx4znuM5GdDqdrbtAdoaZItmYKZKNmSLZmCl5WHxSp6IuOY/T769E3jcbG8Z1urgi4o67EXXHTDh6dM1xnUREREREnQGLTwXpauM9W0OnVuPc+k+Qveo9w7jOoBFjEffQo3ALDbNx75TL0dHR1l0gO8NMkWzMFMnGTJFszJQ8LD4VxMXFhQWoCef37EDee2+i9txZAIBXjxQkzH8Svn3727hnyqZSqZCYmGjrbpAdYaZINmaKZGOmSDZmSi4Wnwqi1WohhGABepETix6Hm9DCJbAbYh+Yj+7XTeC4TgsIIXDhwgX4+fkxUyQFM0WyMVMkGzNFsjFTcvEbvIJoNBpbd0ER1KUlSHvjRcN/q5ydEXXXfRj8xXcIGTeRhWcrFBQU2LoLZGeYKZKNmSLZmCmSjZmSh1c+STF09fU4t34dsle9i6rqGiBkLABg4OoNCIiJsW3niIiIiIioXVh8ks0JIVC8dxcyV7yKmrPZAACvxBSgsmG9WwgnFCIiIiIi6uxYfCqIk1PXOxxVGWlIX74EF37/FQDgHBCI2Afmweea64C7nrVt5+xAcHCwrbtAdoaZItmYKZKNmSLZmCl5ul61o2COjo5dZiBz/YVSnP7PSuRuWQ/odFA5OyNi6l2Imn4fnDy9UF2rtnUXOz2VSoWAgABbd4PsCDNFsjFTJBszRbIxU3Jx5hYFUavVEELYuhtWpauvR87na/HblOuRu+kLQKdDt+GjMOjTrxH30CNw8vSydRfthhAC6enpdp8p6jjMFMnGTJFszBTJxkzJxSufCmLPoRZCoOSXXchY8RpqzpwGAHgmJiNh3hPw6z/Ytp2zY5xBmWRjpkg2ZopkY6ZINmZKHhafZHVVmenIWP4KSvf/AgBw9g9A7Ky5CBl3E2rqtSZvsW28rLlbcD3cXOR3mIiIiIiIpGPxqSD2Nt6zvuwCTn/wFnI3fwlotQ3jOqdMQ9SM+w231yZOebrF7fS75zmz685tXCKtv/bI3jJFtsdMkWzMFMnGTJFszJQ8LD4VxMXFxS7CrdPUI3fj58j+6B1oKsoBAN2GjUDcwwvgHhFl4951HSqVCsnJybbuBtkRZopkY6ZINmaKZGOm5GLxqSA6nQ5CiE5dgBb/shsZy19FzZksAIBnQhLi5z4B/4FDTLZPW2f+qia1jxAC5eXl8PHx6dSZIuVgpkg2ZopkY6ZINmZKLhafClJfX2/rLrRZ1ekMZCx/FaW/7gEAOPsFIOb+OQi9YRJUjo5mX2cPYzbNjUlVwrjVvLw8+Pj4WG371PUwUyQbM0WyMVMkGzMlD4tPapf68jJkf/AWzm36omFcp5MTwqfciegZs+Dk5W3r7nWIxDueabENx60SERERUVfH4pPaRKepR97m9Tj9wVvQlJcBAAKvuhZxsxfAIzLaxr0jIiIiIiKlYfGpIE5OneNwlPy6FxnLl6D6dCYAwDMuEfHzn4D/wKE27pltKHncardu3WzdBbIzzBTJxkyRbMwUycZMydM5qp0uwtHRUdEDmatPZyJjxaso2fczAMDZzx8x9z6M0AmToeokhbM1KHXcqkql4smSpGKmSDZmimRjpkg2ZkouB1t3gP6mVqshhLB1N5qoLy9D+psv48C0SSjZ9zNUjk6IuHU6Bn/xX4RNurVLF55KJoRARkaGIjNFnRMzRbIxUyQbM0WyMVNysWpQEKWFWmg0yN2yHqf/s/LvcZ1XDkfc7MfgERVj286RRTrzDMqkTMwUycZMkWzMFMnGTMnD4pNMKvltLzKWv4LqrAwAgEdsAuLnPY6AwZfbuGdERERERNQZsfgkI9XZWchY+RpK9u4CADj5+iHm3tkIu7Frj+skIiIiIqL2UQml3evZRfXq1QsAcPz4cZvsv768DNmr3kPuhk8htBqoHJ0QNvk2RN/9AJx9fG3SJyIiIiIiUo721iy8lKUgOp0OQogOnfFWaDTI+3oDsv6zEpqyCwCAgMuvRvychfCIju2wfpB8QghUVFTA29tb0bMoU+fBTJFszBTJxkyRbMyUXJztVkE6ejBz6e/7cHDGLUh77Xloyi7AIzYefZa+hz6vvc3C007k5ubaugtkZ5gpko2ZItmYKZKNmZKHVz67oOqz2chc8SqK9+wEADj5+CLmvtkIu/EWjuskIiIiIiKrYKXRhWgqypG96j2c27AOQqMBHB0RPulWRN/zEMd1EhERERGRVbH4VBAnK111FFot8r7ZiNPvr0D9hVIAQMBlVyFuzmPwjIm3yj5JGQIDA23dBbIzzBTJxkyRbMwUycZMycPiU0EcHR2lD2QuPfAbMpa9jKqMNACAR3Qs4uY+jsDLrpK6H1IelUqFoKAgW3eD7AgzRbIxUyQbM0WyMVNyccIhBamvr4esJ9/U5JzBsSfn4s+596AqIw1O3j6In/8kBnz8FQvPLkIIgaysLGmZImKmSDZmimRjpkg2ZkouXvlUEJ1O1+5taCorkL3mfZz74mPDuM6wm6Yi5p6H4Ozr1/5OUqdSV1dn6y6QnWGmSDZmimRjpkg2ZkoeFp92Qmi1yP92E7LeX4760hIAgP/gyxE/93F4xiXYuHdERERERNTVsfi0AxcO7Uf6siWoSksFALhHxSB+zkIEXH41H4ZLRERERESKoBK8gVkRevXqBQA4duyYxQVjzbmzyHzrdZzfuR0A4OTtg+iZDyJs0q1wcHa2Wl+pcxBCQAgBlUrFP0KQFMwUycZMkWzMFMnGTBnT1yzHjx9v0+t55VNBLB3zqamqxJk1/0HOF2sh6usBBweETZyCmHsfhrOfv5V7SZ1JdXU1PD09bd0NsiPMFMnGTJFszBTJxkzJw9luFaS+vr7Z9frnde6fOg5nP/kQor4efoOGYuCajUh87J8sPKmJnJwcW3eB7AwzRbIxUyQbM0WyMVPy8MpnJ3HhjwPIWLYEladOAADcI6MRN2chAq8YxlsAiIiIiIhI8Xjl00K7d+/GhAkTEBQUBHd3d/To0QP//Oc/UVlZadX91uTm4Pg/HsWRh2eg8tQJOHp5I27OQgz8ZDO6XTmchScREREREXUKLD4tsGLFCgwfPhwlJSXYtGkTjh07hocffhivvfYaBgwYgMLCQin7cXR0NPx/TVUVMt99E7/fPgHnd2wFHBwQOvEWDP7iv4i8bTonFCKL+PvzVmySi5ki2Zgpko2ZItmYKXk4220L9u/fj6FDhyI8PBwnTpyAl5eXYd1bb72F2bNnY8yYMfjhhx/atR/DbLdHj6Lg+6+R9e6bUBefBwD4DRiC+HmPwyshuV37ICIiIiIiaqv2znbLK58t+Ne//gUhBB588EGjwhMA7r33Xvj7++PHH3/Ezz//3O59RQsNDt1zK1Jf+CfUxefhFh6JXi8vR9/lH7DwpFYTQiA7Oxv8+xLJwkyRbMwUycZMkWzMlFwsPptRXFyM7dsbnqE5cuTIJutdXV1x1VVXAQA+++yzdu/vCT9nVKb+BUdPL8TNXoBB67ag29XXclwntVlNTY2tu0B2hpki2Zgpko2ZItmYKXlYfDbjwIED0Gq1AICePXuabJOSkgIA+O2339q9P50QCJlwMwZ/8S0ib78bDi4u7d4mERERERGREvBRK81IT08HAHh4eMDb29tkm9DQUKO2LdHfJ32xjIwM/DsmEv97fBFUKpXh0n7j/69napmS25rDts23lfG5CyEs2gaPfedt29HH0xqZModtm2+r1HN+a9rq82TpNkxh2+bbKvXYW+scwUw1v7yztTWnI9vae6Zae4zai8VnM8rLywEA7u7uZtt4eHgAACoqKqDT6eDg0PaLybnCAampqYYDGxoaCl9fX5w6dcoQAGdnZ8THx6OkpARFRUWG14aEhMDPzw9paWnQ6XQAGmbPTUxMxIULF1BQUGBoGxwcjICAAGRkZECj0QBoCFNycjLKy8uRl5dnaNutWzd069YNmZmZqK+vNyzv0aMHKioqkJuba1gWGBiIoKAgnD59GnV1dYblSUlJqK6uNnpAr7+/P7p3744zZ84Y3cqQkJAAtVqNM2fOGJb5+voiNDQUZ8+eRXV1tWF5fHw8NBoNsrOzDct8fHwQFhaGc+fOGT0GJzY2FgCQlZVlWObl5YWIiAjk5eUZjjUAREdHw8nJCRkZGYZlHh4eiIqKQn5+PsrKygzLo6Ki4OLiYvTHB3d3d0RHR6OwsBClpaWG5REREfDw8MCpU6cMy1xdXREbG4vz58+juLjYsDwsLAw+Pj5ITU01LNMf++LiYpw/f96w3FROnJycEB8fj27duhllqnv37vD390d6errhqr6DgwOSkpJQVlaG/Px8w3aDgoIQGBhodOxbyklWVhbUarVheXJyMiorK3Hu3DnDsoCAAAQHByM7Oxu1tbWG5YmJiaitrcXZs2cNy/z8/BASEmLy2NfX15vMSU5ODqqqqgzL4+LioNPpcPr0acMyb29vhIeHIzc3FxUVFYblMTExcHBwQGZmpmGZp6cnIiMjTR57Z2dnkzkpKCjAhQsXDMsjIyPh5uaGtLQ0wzI3NzfExMSgqKgIJSUlhuXh4eHw8vIyOvYuLi6Ii4uz6Nhb8xyRlJSE4OBgo0zxHNGgM54jEhISUFpaajRje0efI5KSkhAaGmqUKZ4jGnTGc4QSvkfEx8cjPDzcKFM8RzTojOcIJXyPiI2NRWRkpFGmuvI5Qq1Ww6Udd2dytttmvPTSS3j66acRGBhodKAa++CDD3DfffdBpVJBo9G0ufjs1asXdDodjh8/bvRXBaX+Jaqz/dWqM7aV8blXV1fD3d3dZpkyh23lte3o42mNTJnDts23Veo5v7VXPmtqaizKlDls23xbpR57a175ZKbML+9sbc3p6Cuf9pyp1h6j9s52yyufzfDx8QHQ/CBj/V9RvLy82nXVEwDq6+uhUqmaXNI2dYnb3GVvpbY1h22bb9uez10IgbNnzyI5OdmmmTKHbeW17ajjac1MmcO2zbdV6jm/NW1bkylz2Lb5tko99tY6RzBTzS/vbG3N6ci29p6p1hyj9uKEQ81ISEgA0FBgNr6k3pj+loHExMQO6xcREREREVFnw+KzGQMHDoSjoyMA4MSJEybb/PXXXwCAIUOGdFi/iIiIiIiIOhsWn80IDAw0PN9T/7zPxurq6vDzzz8DAG677bZ2709f6BLJ4uvra+sukJ1hpkg2ZopkY6ZINmZKHhafLVi8eDFUKhXeeecdo1nPgIbJhkpLSzF69GhcddVV7d6Xk5OT1e6vpq5HpVIhNDSUmSJpmCmSjZki2Zgpko2ZkovFZwuGDBmCZcuW4dy5c7juuuuwd+9eZGZmYsWKFViwYAGSkpLw8ccfS9lXfX29xTNWEbVECIEzZ84wUyQNM0WyMVMkGzNFsjFTcrH4tMCcOXOwY8cO+Pr6YsKECUhJSTEUnwcPHkRwcLCU/eifq0UkS+NnWhHJwEyRbMwUycZMkWzMlDx81IqFhg0bhmHDhtm6G0RERERERJ0Sr3wSERERERGR1bH4VBAXFxdbd4HsTHx8vK27QHaGmSLZmCmSjZki2ZgpeVh8EtkxjUZj6y6QnWGmSDZmimRjpkg2ZkoeFp8Kolarbd0FsjPZ2dm27gLZGWaKZGOmSDZmimRjpuRh8UlERERERERWx+KTiIiIiIiIrI7Fp4I4OjraugtkZ3x8fGzdBbIzzBTJxkyRbMwUycZMycPnfCqIk5MTVCqVrbtBdkKlUiEsLMzW3SA7wkyRbMwUycZMkWzMlFy88qkgGo0GQghbd4PshBACOTk5zBRJw0yRbMwUycZMkWzMlFwsPhVEq9XaugtkZyorK23dBbIzzBTJxkyRbMwUycZMycPbbu2ETqfjX2TIiBACOp0OWq2Wt3OTFMwUycZMtY5KpYKDA68bEFHnxeKzEysrK0NeXh4KCwtRV1dn6+6QAmk0Gpw7d87W3SA7wkyRbMxU67i6uiI4OBihoaHw9fW1dXeIiFqFxaeCuLi4WNw2Pz8fx44d49VOapaTE3/ESS5mimRjplqnrq4OZ8+eRU5ODnr37o2QkBBbd0lxYmNjbd0FsjPMlDw843dCZWVlhsIzKCgIERER8PHx4aNayEjjP0zwdjaSgZki2Zip1tFqtSgvL0dOTg6Kiopw7NgxuLu78wooEXUaLD4VRK1WW9QuLy/PUHj269ePv7DJJCEENBoNH+FD0jBTJBsz1TqOjo7o1q0bAgMDceTIERQVFSEvL4/F50WysrKQnJxs626QHWGm5OGo9U6osLAQABAREcFf1kRERF2MSqVCREQEgL+/ExARdQYsPjsZnU5nmFzIx8fHxr0hIiIiW9B/B6irq4NOp7Nxb4iILMPiU0EsGbPZeHwMx3hSSzglP8nGTJFszFTbNP7cOPmgMS8vL1t3gewMMyUPx3wqCMe8kEwqlYp/oCCpmCmSjZlqO35fMK3xLclEMjBTcvHPjQqi0Wj410uSRggBrVbLTJE0zBTJxkyRbEII5ObmMlMkDTMlF4tPBdFqtbbuAtkZjgMi2Zgpko2ZItnKy8tt3QWyM8yUPCw+iYiIiIiIyOpYfBIREREREZHVsfhUEBcXF1t3geyMk5P15xTTP/qHlEMIgW3btrXptWq1utlxLR2RKVtjpjuWLTN18c9KS/mnziE6OtrWXSA7w0zJw+KT7N7w4cOhUqla9S8mJsbw+jVr1sDX1xcff/yxye1v3rwZzz77LHbu3Nkxb0hBduzYgccee8zkOp1Oh48//hijRo0y+/qqqio89dRTGDp0KK644gr069cPb7/9dqu+/FVXV+OVV17B8OHDMXLkSFx66aWYOnUqMjIyTLavrKzE008/jeTkZHh6eiIlJQUrVqzo8C+cH3/8MQYPHowrr7wSvXr1wty5c1FRUdHq7ezYsaNJfh0cHLBmzRqjdqWlpZg3bx6ioqLg4uKCqKgoLFiwAJWVlUbtzp49ixkzZrTrwfU//vgj7r333ja/3pZMZVrWsbJ0O5YeK9n9ay8Z/bB0G6tWrWrxPP7HH38YvcaSn5X25j8mJsZo+5dffjnq6+stbq//R+3TFf5IRh2LmZJIkCKkpKSI+Ph4odPpmm2n0WjE1q1bxdatW4VGo+mg3nVuxcXFIi8vT0yZMkUAEFOmTBF5eXlm/y1YsEBER0cbXn/99dcLAGLcuHEmtz99+nQBQCxatMhq72HXrl3i0UcfFQ4ODgKAcHBwEP379xdXX321GDp0qEhMTBSOjo4CgLjtttuEEELodDqhVqtbzFRbrVmzRowbN06o1eom6zZt2iR69eolABh9lo1VVVWJwYMHi1tvvdWQ5f379wtvb28xc+ZMi/pQVVUl+vbtK6677jpRUVEhhBBCrVaLmTNnCh8fH/HXX38Zta+pqREjR44Uzz//vNi/f7/YunWrGD58uAAgXnzxxVa8+/Z55plnhJubm9i7d68QQojS0lLRv39/0a9fP1FZWdmqbY0bN06EhoaK8PBww7+YmBjx+++/G9rU1dWJfv36CScnJxEZGSmcnZ0FAAFADBo0SNTW1hptMy0tTVxxxRXi7NmzRsstzdS4ceOEm5ubKCwsbNV7sTVTmZZ1rCzdTmuPlcwstUdb+9E4U63ZxhVXXCHc3NxEQkKCSE5ONvrn5+cnQkNDm+TUkp8VIczn3xKFhYVGv28AiAcffNCi9pdddpnh95Al+H3ANJ1OJ06cOGG1333U9TBTxlJSUkRKSkqbX8/iUyFYfFqfvkicPn16s+0WLVpkVDB99913YtCgQeK7775rdrvWLD71unfvLgCIhQsXNllXVFQkLrvsMvHaa68JIaxbfG7evFnExsaKCxcuNFl34sQJcezYMbF169Zmi88FCxYIlUolcnJyjJY/99xzAoD49NNPW+zH8uXLBQDx66+/Gi2vqKgQjo6OTYrYl19+WezZs8doWXl5ufDz8zPbT9l+/PFHAUDMmTPHaPmePXsEAPHQQw9ZvK2TJ0+KlJSUFo/xokWLxLRp00RpaakQoqFAf+mllwxfjleuXNnkNf/73//EgAEDRHV1tWGZJZlKT083/JHk3//+t8XvxdZMZVrWsWrNdlpzrGRmqT3a0w99pn744QeLt3Hy5EkxbNgwk+cfIYS47LLLxP3332+0zNKfFT1T+W+N6dOnCycnJ8NxW716dYvthw0b1qp98PuAaSwUSDZmyhiLTzvB4tP6LC0+q6qqRElJSau3a+3i8/z580KlUgkAYufOnSbbLF++XPz0009CCOsVnzk5OcLX11ds3ry52XZZWVlmi8+qqirh6ekpYmNjm6xLS0sTAETPnj1b7Mv9998vADS5ciGEEMHBweL66683WmbuDwiDBw8Wvr6+Le5PBv2VVv3VncaioqKEs7OzyM3NtWhbs2bNEm+//XazbXQ6nRgxYoSor69vsu7OO+8UAMTEiRNNvvbWW28Vjz32mNG2WsrU/PnzRUpKigAgQkJCRF1dnUXvRYbo6OgWf75NMZdpWcfK0u209ljJzFJ7tKcf+ky1ZhsbN24U586dM7m93NxcoVKpmvysW/KzcrGL898a+mJy8uTJAoBwd3cXhw4darF9a/D7gGksFEg2ZspYe4tPjvlUEAcHHg5bmjFjBoYPHw4PDw/4+/vj9OnTZseBAsDq1auhUqkM44UWL15s1H716tVS+/e///0PQgh4eHjgsssuM9kmLi4O/fv3N/y3NcYOPf300wgKCsKECRPavI3ff/8dVVVViIiIaLIuISEBvr6+OHHiBP76669mtxMaGgoA+OSTT4yWFxYW4vz587j00kuNll933XUmt5Obm4ubbrqpNW8BQMN4rRkzZljc/vz589i5cyccHR0xYMCAJusvu+wy1NfX46uvvmpxW8XFxVi7di1mz56NSy65BAsXLsSRI0eatMvIyMCsWbNMjlfRfx4ajcbkPmbPno0333wTmZmZhmXNZaqyshIff/wxtmzZgm7duiE/Px+fffZZi+/F1kxlWtaxas12WnOsZGapMVtkuri4uFXbmDRpEsLCwkxua9OmTfDy8sK1115rtH1LflYuZir/rbV69Wr06dMHNTU1mDRpEoqLi9u8LbKch4eHrbtAdoaZkofVjoI4OztzogEFiYyMRF5eHvbv329y/dSpU5GXl4cpU6YAABYsWIC8vDzDv6lTp0rtz48//ggAuPLKK41mRtbpdIaJSMaNGwdfX18ADUWCk5OT1Ezl5eXh008/xfjx49u13dzcXADmT+aRkZEAgEOHDjW7nTvvvBPOzs5Yvnw53n//fcPyhQsXomfPnliwYEGLfdmwYQMiIyOxbNkyS7vfZvosRUREwNXVtcn6+Ph4AMC+ffta3NaGDRug0Wig0+lw5MgRvPbaa7jkkkswd+5caLVaQ7uEhATccsstJrehz0pKSorJ9UOHDoWHhweWLl0KoOVMrV27Ftdccw0SEhIMEw69+eabLb4XWzKXaVnHqjXbac2xkpml9mhvP1QqleHnXMZ7+eqrrzB27Fij7Vj6s3Kxi/PfFp6enti8eTMCAgJw+vRp3H777dDpdG3eHrVMpVIhKiqK36dIGmZKLhafCqLRaKTMuCmEgLamulP/k/E5tJejoyNCQkIQFBRkcr27uztCQkLg7u4OAPDy8kJISIjhn345AOzduxchISG45JJLcP78+Tb1Z+vWrQCAESNGGC1fv349UlNTm7QXQkCr1WLEiBHo0aNHq/499dRTJvuwZcsWaDQao6urbaG/slNQUGByvZeXFwAgPz+/2e0kJCTggw8+gEqlwqxZs3Dbbbdh0qRJ8Pb2xq+//gp/f3+zrxVCYO3atbj77rsxZsyYDnnUUXZ2NgCYzVT37t0BAGlpaS1ua9asWVCr1cjKysI777yD5ORkAMCKFSswZ84ci/pz+vRpAMDtt99ucr2joyP69u2LL774Alqt1pApcz+fK1euNOz7gQcegKOjIw4fPmx2JuijR4/ihRdeQO/evREUFGT4fLKzszF8+HCEhYXh3LlzFr2XtjKXaVnHStZ2Lj5WMrPUHu3thxACWVlZ7dqGXklJCXbt2oUbb7zRaHlbf1Yuzn9bxcXF4fPPP4ejoyO2bt2Kf/7zn23eFrVMCIG8vDxFfI8g+8BMycV5gxWkPb/cGtPV1mDPiMFStmUrV/5vPxzdrXOLw7p167Bhw4Ymy+vq6nDFFVdYZZ+ff/45CgoKUFBQgF27duHmm29u1ev/+usv5OTkAIDhdjIhBH755Re8/vrrZq/O6nQ6ZGRkGL4gWiovL8/k8r179wJo//OuevToAQBIT09HTU2NUaEOwHDVwtztoI3dddddcHd3x1133YXPP/8c/v7++Pjjjw0FrCm//PILFi5ciF9++QUA8Oyzz+L777/Hjh07mvRFpgsXLgAA3NzcTK7X77usrMzibcbExOCBBx7AzJkz8eSTT+KNN97AO++8gxkzZmDw4ObPA19//TUmT56Mfv36Nbv9PXv24PDhw+jfvz90Op3JIQLbtm2Di4sLrr76agANGRk/fjy2bNmCN954A8OHD2/ymuTkZPzjH/9AWFgYZs6cifXr1+Oee+7B4sWLcc899+DQoUMIDAy0+LNoC3OZlnWsZG3n4mNljSy1hYx+lJaWtnsbQMNnBDTcAWJKW35WGuff1C3Blho1ahRefvllLFy4EC+//DIGDx6MiRMntnl71LyysjKEhITYuhtkR5gpeVh8UpczYcIELFmypMnyJ554wmrjcWbOnIkdO3YgJCSk2edemqO/5dbZ2RkPP/wwACAzMxPnz5/HI4880uxrs7KypN0qcurUKQBAt27d2rWdPn36oFevXjh+/Dg2b96M2267zWh9UVFRq/Zz9uxZXHHFFcjJyUFqaipuuOEGLF26FPPnzzfZ/vLLL8fevXtRWlqKTz75BE899RR+++03vPHGG3j66aebtB8xYoTJK3Dnzp3Dpk2b8OuvvzZZd9NNN+Gll14yuX9zx0Nf1LXlr6suLi5YunSpYXzbJ5980mzxefjwYfz55584ePBgs9vVX436888/m73ivXz58iZXkWbPno0tW7bg22+/RXp6OhISEpr0GWj4mVSpVPjll1+Qk5ODpUuXws/PD9OmTWu2bzK0lGlZx6o922nuWLV1u0rMdHu38dVXX2HYsGHw8/Nrtl1rflYa5789xScAPPbYY/jjjz/w6aefYvr06di/f7/hKiwRUVfB4tMOObi548r/mb4S1lk4uFnv6pO3t3eTL8EAsHHjRqvt89JLL8WxY8fa/Hp98Tl58mR8+umnABq+iN1yyy2YNGmSlD5aoqWrHK3x/vvvY+TIkVi4cCF69+6NPn36oLy8HK+99hrS09MBWHaF9cEHH8Tvv/+OPXv2QAiBOXPm4MMPP8QjjzyC2NjYJrfgNebv7485c+YgJiYGEyZMwHfffWey+Gzu6nF5eTnKy8ubLDd19Vj/pbi2ttbktvTL9eP72uKZZ57B2rVrDbcymlJfX4+5c+di/fr1Zidu0dNfddL/QcCUzMxM/Prrr/jyyy+Nlo8cORI9evTAyZMnsXz5cixfvtzk6wMDA9GjRw988803+Oabb1osHmQWTuYyLetYtXc75o5Ve7erpEzL2EZlZSW2bduGV1991Wybi1nys2JJ/lvjgw8+wIkTJ/DHH3/gpptuwv79+5u9S4OIyN6w+FQQWWPOVCqV1W5ZpY5XW1uL3bt3AwCuv/56w3KVSoXk5GRcfvnlZl/r6OgotS/6KxMyxj1cfvnl2LdvH1588UVMmTIFERERiIqKwm233YZXXnkFrq6uuPLKK5vdxsaNG/Huu+9i+/bthuLhgw8+QPfu3fHiiy/iX//6V7PFp94NN9yA8PBws2NQ9ePtLhYTE4Phw4dbPLOxfuIUc+N+9V9wTf1xxFIJCQnw9/dv9mr3nDlz8OCDD7b4+QJ/X3XSDwswlamVK1di5syZJm9ZfuihhzB37lysWrUKzz33nNkC4sorr8SJEyfQu3fvFvskq3ACzGda1rFq73bMHav2bldJmdava882vvvuO9TW1lr08954vy39rFyc//Zyd3fHpk2bMHDgQJw4cQJ333031q9fL2Xb9LeoqChbd4HsDDMlD4tPBeEsWmTK7t27UVNTAwcHB4wdO9Zo3UMPPdTsI3pUKhVGjhzZ6klbzF0l0o+/q6mpadX2zOnXrx+++OILo2Uff/wx6urqcNNNN7U4/lI/dnfo0KFGy//9739j3bp1+PPPP1FVVQVPT88W+xIREWH1xx0NHjwYDg4OyMnJQX19PZydnY3W6x/pYO5ROpbS6XRmf1EuWbIEvXr1anKrszl1dXUA/r46dfF5qqqqCmvXrjU7M/H06dPx9NNPo7KyEv/5z3/w2GOPNWmj1Wpx4sQJAMDPP//cYt9kFU6A+UzLOlbt2U5zx6qjstQSGf0YMmRIu7fx1VdfoX///oaZsi3V3M8K0DT/MkRHR2P9+vUYNWoUNmzYgFdeeUXatqlBR0wgR10LMyUPZ7tVEP0vOepcTBUsZWVlbZ7V9mL6W24HDRrUZFxaeHh4s6/VaDTIyMhAampqq/6Zu0qkf8yDuSuE7aXVag23zT3zzDMtttdPVHLx7XqOjo4YNGgQgIbiyBJnzpxpMpOwbH5+frj66qtRX1+Pw4cPN1m/b98+ODg4tOsZqllZWSgrK8P48eObrPvoo49QVVVlcoZP/djHi5WUlAAAkpKSADSdBGrt2rW4+uqrzX6B9/HxwV133QWgYXZRU1eQXnjhBcyaNQsAzM6May3mMi3rWLV1Oy0dq47IkiVk9MPLy6td26irq8N3333XqqueQPM/K3oX51+W4cOH4/XXXwfQ8JzZ3377Ter2uzr90A0iWZgpeVh8ErWT/i/ijYucu+66y+gW2T/++AO9e/fGyJEjTd4S2Bx98dl4e62RlZUFIUSr/pm7cqSfsdSSh65bMlPtxV599VUcPXoUjz/+OC699FKjdRUVFRg3bpzRlbMhQ4YAAPbs2dNkW+fOnUNcXByCg4MNy3Jzc01+/j/88APq6uosfkRJe+gniLr4iu+BAweQnp6Om2++2Wisq6n3rdFosGnTJsPVwsZefPFFXHvttU2ukm/ZsgUHDx7Ev//97yavOXHiBN577z2T/c3JyYGzszMGDhxocv3KlSsxduxYnDx50uy/kSNHAmgo8L/66iuj1+/evRteXl648847ERMTYyg+c3JyDLMRW1NzmZZxrNqyHUuPVWu3ay0yPif95GBteS/btm1DRUWFydlj2/Kz0lhL+W+PuXPnYsaMGdBqtTh58qT07RMRKZIgRUhJSRHx8fFCp9M1206j0YitW7eKrVu3Co1G00G969yKi4tFXl6emDJligAgpkyZIvLy8kReXp6oq6sz+zqNRiPy8vLE/v37BQAREREh8vLyRGFhoVG7r7/+WgAQvXv3FsePHxfbtm0Tnp6e4sknnzS0efjhhwUAAUBs2LDB4r4fP37c8Lpdu3a16n3rdDqhVqtbzFRrlJaWCnd3dzFr1qwW27777rsCgHB1dRV5eXkttl+/fr1wcHAQt99+u9BqtSbX6z+LoqIiQ3+Sk5NFfHy8SE1NNbT98MMPhaOjo/j6668Ny+rr64WHh4fw9vYWS5YsEdXV1UIIIQ4dOiQGDRokDhw40GIfLzZ06FDxyCOPtPp199xzj3B3dxf79u0TQghRXl4uhgwZIqKiokRubm6L73vnzp0CgHBwcBDz5s0TFRUVQqPRiNdee00MHTpUlJSUGG1j165dws3NTSQmJork5GSjf/Hx8cLR0VHs2LHDZF9DQkLEddddJ4Romqlt27YZ+mbpv8suu0x8/fXX4o477hCffPKJePDBB40+FwDizTffFA888ECrz3HR0dFi+vTprXpNS5lu77Fq7XZae6xa0z9LdHSmCwsLDZlq63u5++67RWxsrMl1rf1ZuVjj/FuisLDQ8PvmsssuM/yuMae2tlYMGjRIABDDhg2zeD9C8PuAOTqdTpw4cULq7z7q2pgpYykpKSIlJaXNr2fxqRApKSkiMTGRxacVDBs2zOwXYXNfuIUQIisry+RroqOjm7R97rnnRFRUlHBychLh4eHi4YcfFpWVlYb1u3fvFsHBwaJv375NvpSas3btWtGzZ0/DfidMmCA+/PBDi9+3TqcT9fX10k+WDz30kIiKijK73b1794qUlBSjz8zT01MMHjzYUPA1VldXJxYtWiQ8PDzESy+9ZHa/Z8+eFVFRUWLMmDFG+y4tLRXz588XCQkJon///mLQoEFi/Pjx4pdffmmyjccff1wEBwcLJycnERERIe644w7x2muviYqKijZ8Em2n0+nEO++8I/r37y+uuuoq0adPH3HfffeZ/JJq6n2r1WqxYMECERkZKZydnUX37t3F+PHjxbvvvivq6+uNXn/q1Cnh6+vbbEEYGxtr8ngeOXJEABDbt2839LtxpiZMmNDq4hOAePbZZ4Wbm5uYOHGi0c/Jr7/+Kvz8/MSwYcMs/jlprC3FpxDNZ7q9x6o122nLsWpN/6yprZ+TVqs1ZKot70Wj0Yhu3bqJ+fPnm1zfmp+Vi12cf0tER0ebPG7NycnJESEhISw+JdHpdOL06dMsFEgaZspYe4tPlRASpq2kduvVqxcA4Pjx482202q1+OmnnwAA1157rfTZTIlaUlBQgB49euCjjz7CTTfd1ObtHDlyBJs3b8b27dsxaNAgzJ07FzExMfI6KpG5R3s0p7lnInYW9913H4qLi5vcKqtUbZlwCJCX6c6kq2a6NZSef34fICJbsLRmMYez3SqIRqOBEIKz3pIUQgjodDo4ODhIzVT37t3xzjvv4LHHHsPo0aMtmknWnFmzZmHRokXS+mYtzT3awxxzkzZ1Fnv37sWuXbuwd+9ewzJrZUoWc7PgtkRmpjsLpWRaqZkylX/qHIQQKCwsRHBwsKIyRZ0XMyUXi08FkfUcMSI9/Zc62W699VacOXMG06ZNw4YNG9q0j379+knvl7W0tajprLKzs7Fw4UJ89913CAoKMlpnrUzZmoxMdyZKyrTSMtVc/qlzKC0tNZpsjqi9mCl5lHO2J6JO5fHHH8dNN93UITPEUsc5ffo0Fi9ejK+++goJCQm27k6HYqapK+efiKgj8MonEbXZtGnTrP4cQepYQUFB+PDDD7vsrUXMdNfW1fNPRGRtLD4VxNnZ2dZdIDvTERNQ+Pr6Wn0f1HFaGu/YFSY1YaY7lpIy1RXG+3YFERERtu4C2RlmSh7edqsgShrzQvaBf70n2Zgpko2ZItk8PDxs3QWyM8yUPKx2FKSurs7WXSA7o9FobN0FsjPMFMnGTJFsp06dsnUXyM4wU/Kw+CQiIiIiIiKrY/FJREREREREVsfiU0E45pNk41gqko2ZItmYKZLN1dXV1l0gO8NMycPZbhXE2dmZv4RJGpVKBScn/oiTPMwUycZMkWwqlQqxsbG27gbZEWZKLl5qUxCtVgshhK27QXZCCMFMkVTMFMnGTJFsQggUFRUxUyQNMyUX/9yoIEqa8a+6Vt2u13u4uUjqCbWHTqfj7dwkFTNFsjFTJFtxcTG6detm626QHWGm5GHxSSYl3vFMu15/buMSST0hIiIiIiJ7wD81EhERERERkdXxyqeCODs727oLBmnrnjO5vLpWjX73NKw78uEzvL1W4RwdHW3dBbIzzBTJxkyRbGFhYbbuAtkZZkoeFp8K4uDgoJjZbi0pKj3cXFh8KphKpVJMnsg+MFMkGzNFsqlUKvj4+Ni6G2RHmCm5eNutgtTV1XEmLZJGCIH6+npmqgvQf4G39hd5ZopkY6ZINiEETp48yUyRNMyUXCw+ya4NHz68yRdz/T9PT09ERERg5MiR+Ne//oX09HSr9GHz5s149tlnsXPnTrNttm/fjoCAALz00ktW6UNnkJeXh/j4eIwfP96uT/DPPvssnn32WVy4cEHaNvPy8pCXl2d2vRAC119/PRISEpCfny9tv0REREStweKT7NpXX32FvLw8TJkyBQAwZcoUwxf1Q4cO4YMPPsAll1yC5cuXIykpCXfeeafUogBoKD4XL17cbPG5adMmlJaWYt26dVL33Zns2bMHmZmZ+O9//4vi4mJbd8dqFi9ejMWLF0vNWUhICEJCQsyuP3/+PL7//ntkZGRgz5490vZLRERE1Boc86kgHPciX0BAAADA3d3d8L/6L+khISFITk7G2LFj8dRTT2Hq1KlYt24d9u/fjz179iA4OLjD+jlz5kwcPHgQs2bNkrrdzpSpUaNGYcyYMUhMTOSztCQLCgrC7NmzkZaWhpEjR7ZrW50pU9Q5MFMkm5ImcCT7wEzJw+JTQVxcXPhL2EYCAwPx9ddfY/DgwTh+/DhuueUW7Nq1q8P2P2DAAPz6669St6lSqeDk1Hl+xP38/PDDDz/Yuht2a8WKFe3eRmfLFCkfM0WyqVQqxMfH27obZEeYKbl4262CaLVaux7rpnQeHh6GMZe7d+/G119/bbQ+JycHS5cuxYgRIxAVFQUXFxcEBwdj/Pjx2LZtW5PtrV69GiqVCmvWrAHQcLtl4zGnq1evBtD+yWJ27dqFCRMmIDo6Gq6urggODsaYMWPw9ttvIzc315Cpi/dTU1ODxYsXo2fPnnB3d4e/vz/Gjx+P33//3ey+8vPz8eijjyIpKQlubm7w9fXFZZddhhUrVkCtVhu1HTlypNH+du7ciW3btmHEiBHw9/c3+hwuHpvb+Bbl559/3mjds88+i9TUVEycOBF+fn4ICAjADTfcgOPHjwMAamtr8cQTTyAyMhJubm7o27cvvvjii2Y/w6+++gqjR49GQEAAXF1dERUVhbvuugvHjh0zardnzx6jvgwfPhzl5eWYN28eIiMj4eLigri4ODz77LPQarVGr9W/R73Y2FiTx72urg4bN27EHXfcgZ49e8LLywteXl7o378/Xn75ZdTV1TX7Xi727LPPNvn82koIwfMUScVMkWxCCJw/f56ZImmYKblYfCqIRqOxdRe6vHHjxsHX1xcA8OWXXxqte/7557Fw4UIMGTIE33zzDdLS0rBx40b4+vpi9OjRTa4sTZ061Wi86YIFCwzjTfPy8jB16lQALU8W05yPPvoIw4cPh0ajwbp163Dq1Cls3rwZnp6eePjhh/Hkk08a2l68n3HjxiEnJweffvopTpw4gTfffBP79u3DFVdc0aTwBoA//vgD/fr1w/vvv4958+bh8OHD+OGHH5CSkoK5c+di1KhRqKmpMbRfv3498vLycNlllxn+e8mSJVi8eDEOHTqE5577+1my+rG5+raNPfLII8jLy8OCBQsAAOnp6Zg1axbmzZuHQ4cO4fXXX8eOHTswbNgw5OTk4N5770Xfvn3x888/4+uvv0ZVVRVuvfVWfP/99yY/w/vvvx8333wzgIaxt0ePHsXLL7+M7du3Y+DAgdi0aZOh7ZAhQ5CXl4eNGzcCaCh0b7rpJgwYMAA///wztm7dCi8vLyxevBhPPfWU0X7071Fv//79Rnlo/DlPnjwZOTk5WL58OY4dO4a9e/di2rRpeOmllzBixIhWFaCPPfaY0efXXjqdTsp2iPSYKZLt/Pnztu4C2RlmSiJBipCSkiLi4+OFTqdrtp1GoxFbt24VW7duFRqNpoN697eqmjoRNulxETbpcVFVU9fh+2+r6dOnCwBi+vTpLba95pprBAARGxtrtPzpp58Wjz32mMnXXHvttcLV1VXk5eWZ3feiRYua3S8A0dofyZiYGAFAFBUVGS3XaDSiR48eYtq0aU0ypd/P+PHjm2zvxx9/FACEn5+fKCwsNCyvqKgQkZGRAoDYtGlTk9dNnTpVADD5+QwbNkwAEOHh4aKmpsZoXVJSkvj888+btN2xY0eT7SxatEgAEE5OTiI7O9to3dNPPy0AiL59+4p169YZrfv+++8FADFmzJgm21y2bJkAIC699FKh1WqN1h07dkw4ODgIb29vkZuba7Rux44dhs9x7dq1Ruv++OMPAUB4eXmJurqmPyP612VlZTVZJ4QQhw4dEikpKaKqqqrJurVr1woA4o033jD52uYypP/8Wsphc3Q6nVCr1S2ep4gsxUy1na2/DyiVTqcTJ06cYKZIGmbKWEpKikhJSWnz63nlk+gi+omGCgoKjJa/8MILePXVV02+5vLLL0ddXR22bt1q9f41VlhYCADIzs42Wu7o6Ig33ngDd9xxh9nXzps3r8my0aNHIzk5GRcuXMCHH35oWP7hhx/i7NmzSEpKwsSJE5u87uGHHwYAvPvuu6itrTW5v/vuuw9ubm5Gy1JTUw1XgC2lv+25sUGDBgEAsrKycMsttxitGzJkCADg4MGDRss1Gg2ef/55AA1XBx0cjE+HvXr1wvDhw1FRUWH0WTTm5eXVpP/9+vWDu7s7KisrcerUqVa9NwC49NJLcfz4cXh4eDRZd/nllwOAySvTRERERErH4lNBOJOWMuhvATM1/vLbb7/FpEmTEBsbC19fX8N4vCVLlgBoGBfakUaNGmX43+effx5ZWVmGdWPGjDGsN6VXr14ml+sLuZ9++smwTD8R0ODBg02+JiEhAQBQWVmJP/74w2Sbnj17mu1La+j31Zj+VumoqKgmP0d+fn4AgJKSEqPlBw8eRFFREYC/C1Rz+/r5559NrteP/W1MpVLB398fAFBaWtrcWzErKysL8+bNQ79+/dCtWzdDzvr27Qug43PWmKOjo832TfaJmSLZQkNDbd0FsjPMlDwsPi2Um5uLG264od0TdjTHwcGBs90qgL4g6d69u9HyRx99FDfccAOOHTuG5557Drt378bhw4dx+PBhPPDAAwDQZNIda/vggw8wceJEXLhwAc888wzi4uLQu3dvPPvss8jJyWk2Uxe/Pz39ld/GBY7+yuoXX3xhKIQa/0tMTDS0PXfunMntBgUFtek9XiwwMLDJMv17bG7dxePKGl8t7tevn8n3tWrVKgDm35O5R8LoC+CLJx2yxC+//II+ffrgvffeww033IDNmzcbcvbdd98B6Pic6alUKp6nSCpmimRTqVTw9fVlpkgaZkouzm9ugdWrV+ORRx6R+lB4U9RqNYQQDLcN6XQ6HDp0CMDftzgCDVfJ3njjDbi4uOCHH35AXFyc0ev0zxPtaN26dcOmTZuQnp6OdevWYcOGDTh27BiOHz+OV199Fe+//z5uv/32VmVK/P9sbsLErG533XWX0SRGppgramXlurnttHUfv/zyi8nbXPXM3ZVgjZ/VBx54AFVVVXjuuefwz3/+02idrR9JIf5/ZlJHR0eep0gKZopkE0Lg1KlTSEpKYqZICmZKLhafzaivr8eNN96IXbt24cUXX8RXX32F3bt3W21/pr7sU8f6+uuvUV5eDgC49dZbDcv1j/5ISkpqUngqQUJCAhYtWoRFixbh6NGjWLhwIX788UfMmjUL119/veE20Mby8/MRFhbWZLl+HGlkZKRhWXR0NE6cOAGtVmvyttfOKDo62vD/fX19jf7bVoqLi3H06FEAwHXXXWfj3pjG8xTJxkyRbMwUycZMycPbbptRVVWFmpoaHD16FPPmzeNfO+xcVVUVnn76aQANz2QcN26cYV1LjwJobgzexRPZAEBZWZmUabtnzJiBw4cPGy3r06eP4XErVVVVZie9+euvv0wu1z/n85prrjEsGzt2LABg3759ZvvywgsvYPDgwaisrGzNW7CZAQMGGG4FNve+zp8/j/79+2P58uXS9mvqPJKfn4+qqqp25YyIiIhI6Vh8NsPX1xc//fRTh13pYnFrO+fPn8f48eNx4sQJJCUlNXnGp35CmpMnTyItLc1oXXl5Of773/+a3bZ+wpuqqirDsrvuugvXX399u/u9Zs0abNiwocly/a1sDg4OTWaG1Vu2bFmTZVu3bsWpU6fg5+eHe+65x7D8nnvuQWRkJFJTU7Fly5Ymr8vOzsZrr72GhIQEeHl5teMddRwnJyf84x//AAAsXbrU5HN2X3zxRRw5cgSjR4+Wtt+L81BaWorQ0FCsWbMGQUFBiI2NBQB88803TV772WefSetHW/E8RbIxUySbrYcokP1hpuRh8dkMlUrVob8UXVxc+EtYspKSEuTn56OmpgYAUFNTg/z8fOTn5+PUqVP48ccfsWDBAsTHx2PXrl2YNm0a9u/f32RynKuvvho33ngjNBoNxo8fj82bNyMjIwPbt2/H6NGjDbOaVlZWGu0P+PsK4g8//IC//voL27dvx//+9z+MGDECAAz90bv4v1vy6quv4vnnn8fhw4eRnZ2NnTt3YuLEiaitrcXjjz9udoa27t2747777jO8bu3atbj99tvh7OyMNWvWGCYeAhoeKbJlyxZ0794dd9xxB5YuXYrU1FSkpaXhk08+wfDhwxEeHo6VK1caXlNWVob8/HzD5Dj6Y1FWVmb2OF3cVq1WG46Z/opq489Yq9UiPz/fMJOtWq02altUVNTks9VPKAUAc+fOxf3334/ff/8dY8aMwU8//YQzZ87gt99+w3333Yc33ngDb7/9Nnr06AEAZvenf0/696yfaEj/PhrT52HNmjXIzMzEiy++CEdHRwwbNgwA8Nprr0GlUuGll17CCy+8gOPHj+PIkSNYuHChYQKki/vRXIb0n9fFn19brlCrVCo4OTnxPEXSMFMkm0qlQkJCAjNF0jBTkrXvMaNdy7Bhw9r9kHZzUlJSRHJycosPsLX1Q6WraupE2KTHRdikx0VVTV2H77+19MfM1D93d3cRFhYmrr32WvHMM8+ItLS0ZrelVqvFiy++KHr06CGcnZ2Fh4eHuPTSS8Xrr78u/vGPfxhte9WqVUavfe6550RUVJRwcnIS4eHh4uGHHxaVlZVCCGG2f5Y4ePCgePLJJ0X//v2Ft7e3cHZ2FlFRUWLcuHHiu+++E1qttkmm9NvXarVi6dKlonfv3sLd3V34+vqK66+/Xvz2229m91dQUCAWLlwoevToIdzc3IS/v7/o37+/WLJkiSgrKzNqO336dJPva/r06U22a+447dixQ6xatcrkulWrVomsrCyT6/Q/o9HR0U3WRUdHN9n/li1bxNixY0VgYKBwcXERsbGx4uabbxZ79+41amduf/r3ZO49N3bu3Dlx4403Cl9fX+Hm5iZ69+4tPvvsM6M227dvFyNGjDA6pjNnzhQ7duww2u6wYcOMjqmp/S5atKjZz6g1dDqdyUwRtRUz1Xa2/j6gVDqdThQXFzNTJA0zZSwlJUWkpKS0+fUqITiC1lLDhw/Hrl27sGjRojY/bsXcsxUzMjIQERGBU6dOGf1lRaVSGQ1y1mq12LFjB4CGKyiNn492cVtzy9rTtrpWjaQ7/wUAOPXJv+Hh1vQZh5ZGim2bb9ve4wkAGo2mya0i+jGojccXWrMPprCtvLYd8XPfmKlMMSe2aduRx14JmTKnq7a9+PuAk5OTzY+nEn6XCCGQmpqK5OTkZr9PtXa7nbGtUo9nZ/v9YO+Zau0x0tcyx48ft2i/F+MNzAqiD7c+2KGhofD19cWpU6cMAWhcbGo0GqPlKpUKWq3WsEx/O5P4//F/epa0ra5tuP3RwcEBjo6Ohn1V1/39fMGqmjqjcXKN27q7/v1oClN90Ldt3Ie2tNV/Dhe31el0RsVVe9vqP5+L2+o/SyW0vfh46rPSeBsX56fxdtuSk4s/y/YeTxltZR97c22VfOzbezxbkylzx8jZ2VkROTHXX54jrJcTWceI5wjL2mo0Gpw+fRoJCQkoLi42mszO1PcIZ2dnxMfHo6SkxGgYQkhICPz8/JCWlmbYn6OjIxITE3HhwgUUFBQY2gYHByMgIAAZGRlGv0uSk5NRXl6OvLw8Q9tu3bqhW7duyMzMRH19vWF5jx49UFFRgdzcXMOywMBABAUF4fTp06irqzMsT0pKQnV1tdGka/7+/ujevTvOnDljNNQlPj4eGo3G6PuUr68vQkNDcfbsWVRXVzdp2/i5zz4+PggLC8O5c+eMhifox+NnZWUZlnl5eSEiIgJ5eXmGmfKBhtnUnZyckJGRYVjm4eGBqKioJsNPoqKi4OLigvT0dMMyd3d3REdHo7Cw0DCsBwAiIiLg4eFhNJGgq6srYmNjcf78eRQXFxuWh4WFwcfHB6mpqYZl+mNvSU6cnJyQkJCA0tJSwyz4QMOQHX9/f6Snpxt+vhwcHJCUlGQYeqIXFBSEwMBAo2PfUk6ysrKMnmWdnJyMyspKo+dtBwQEIDg4GNnZ2aitrTUsT0xMRG1tLc6ePWtY5ufnh5CQEJPHvr6+HmfOnDEs0+ckJyfHaJ6O2NhYaLVao0x5e3sjPDwcubm5qKioMLSNiYmBg4MDMjMzDcs8PT0RGRlp8tg7OzubzElBQYHRIx4jIyPh5uZmNO+Im5sbYmJiUFRUZBiGAwDh4eHw8vIyOvYuLi6Ii4uTco5Qq9VwcTG++NQadnnlc/78+SYnU2nJsGHDDI/UMGW4hCuf5vTq1Qt1dXWKufIZMbn5Zzm2JGfDyy22UfJfgZTQ1lpXFHjl077advRfoHnlUzltlXqlwlqZMqertuWVz655lao1bZV6PDvb7wd7z1RrjxGvfJrQvXt3JCcnt/p15mYF7Sj6SRcaBxtAk6A3/v/NtW1uWWvbtpal22nN/rpi2/YcTyGE4Y8TKpWqycQ3+r9ih4SEWK0PzWFbeW2t9XPfUqZk9sEctm2+bUcde2u1bW2mzOmKbU19N7D18bRmW3NMtQ0JCbH4O1JrttsZ2yr1eHa23w/2nilr1gQXs8vi86mnnsJTTz1l6260mv5WGiVIW/ecrbtA7XTxSfLiWW/1/22HNz+QlZj6xUvUHswUyaZSqeDv72/rbpAdYabkssvis7NSq9UQQijiF/HFEwlR56Mf76T/owaLTGqvizNF1F7MFMkmhEB6ejofjUHSMFNy8TmfCsLigGRjpkg2ZopkY6ZItsYTTRHJwEzJw+KTiIiIiIiIrI633bagrKzMMIW3furnyspKw+Qtvr6+cHd3l7IvXson2Zgpko2ZItmYqbbhFWPz9LO6E8nCTMnDT7IF8+bNQ2hoKEJDQ7Fv3z4AwOuvv25Y9sUXX0jbl4uLS4u/hBuv5y0A1ByVSmWYQZlIBmaKZGOm2u7ix2VRA5VKhaSkJH4mJA0zJReLzxasXr0aQgiz/2bMmCFtXzqdrsW/ZDo4OMDV1RUAjB5oTHQxIYRFmSKyFDNFsjFTbaf/DuDq6sqrMo0IIXDhwgVmiqRhpuTi2UpB6uvrLWoXHBwMAMjJyeEPAjWLV8dJNmaKZGOmWk8IgZycHAB/fyegv138XGui9mKm5OGYz04oNDQUOTk5KCoqwpEjRxAREQEfHx84ODjwlgAy0D/CgM/RI1mYKZKNmbKc/ipxeXm54TuASqVq8gxnIiIlY/HZCfn6+qJ37944duwYioqKUFRUZOsuERERUQdSqVTo3bs3fH19bd0VIiKLsfhUECcnyw9HSEgI3N3dkZeXh8LCQtTV1VmxZ9RZ6XQ6jgUiqZgpko2Zah1XV1cEBwcjNDSUhacZQUFBtu4C2RlmSh4Wnwri6OjYqtuOfH194evrix49enDCBiIiIjunUqlYqLdApVIhMDDQ1t0gO8JMycXiU0HUajWEEG0a98JfRnQxIQQyMzMRFxfHsVQkBTNFsjFTJBszRbIxU3KxYlEQXrkk2SydQZnIUswUycZMkWzMFMnGTMnD4pOIiIiIiIisjsWngvBSPsnGTJFszBTJxkyRbMwUycZMyaMSvNdTEXr16gUAOH78uI17QkRERERE1FR7axZe+VQQzlhLMgkhUFZWxkyRNMwUycZMkWzMFMnGTMnF4lNBOJiZZMvLy7N1F8jOMFMkGzNFsjFTJBszJQ+LTyIiIiIiIrI6jvlUCG9vb9TV1SExMdHWXSE7UldXB1dXV1t3g+wIM0WyMVMkGzNFsjFTf8vIyICzszMqKira9Hpe+VSImpoaaLVaW3eD7EhGRgZycnJs3Q2yI8wUycZMkWzMFMnGTBlzdnaGp6dnm1/vJLEv1A7JyckAONstycMZlEk2ZopkY6ZINmaKZGOm5OKVTyIiIiIiIrI6Fp9ERERERERkdSw+iYiIiIiIyOpYfBIREREREZHVsfgkIiIiIiIiq+NzPomIiIiIiMjqeOWTiIiIiIiIrI7FJxEREREREVkdi08iIiIiIiKyOhafREREREREZHUsPomIiIiIiMjqWHwSERERERGR1bH4JCIiIiIiIqtj8UlERK3y3XffITIyEiqVCqdPn7Z1d8gOMFNERF0Di8822r17NyZMmICgoCC4u7ujR48e+Oc//4nKyso2bU8IgY8++giXXXYZfHx84OPjg6FDh+I///kPhBDNvvb06dO49957ERkZCVdXV0RERGDmzJnIzMxsU1/INpSSKZVK1ey/Sy65pI3vkDqa7EyVlpZixowZGD9+PHJyclr1Wp6n7INSMsXzlP2QmalDhw5hwYIFGDBgAHx8fODi4oLQ0FCMHz8eGzZsaPH158+fxyOPPIL4+Hi4ubkhJCQEU6ZMwR9//NGWt0Y2opRMxcTENHue8vPza+M77OQEtdry5cuFSqUSV1xxhfj5559Fenq6WL58uXB1dRVJSUmioKCgVdvTarVi6tSpAoC49957xdGjR8Xx48fFAw88IACIm2++WWg0GpOv3bdvn/D29hZhYWFi48aNIjMzU2zevFlERkYKT09PsWfPHhlvmaxMSZkCIOLi4kRycrLJfxMnTpTxlsnKZGfqt99+E6GhoaJPnz5iw4YNAoAAILKyslp8Lc9T9kFJmeJ5yj7IzNQLL7wgAIjAwEDxxhtviD/++EOkpqaKTz/9VMTExAgAYtKkSaK+vt7k69PS0kRoaKjw8fERq1atEpmZmWLbtm2iT58+wtnZWaxfv17W2yYrUlKmoqOjRWRkpNnz1KBBg2S97U6FxWcr/fbbb0KlUomIiAhRUVFhtG7lypUCgBgzZkyrtvnqq68KACZ/WU6ePFkAEC+99FKTdeXl5SIkJEQ4ODiIgwcPGq07cuSIcHR0FMHBweLChQut6g91LCVlSghh8Zc/Ui5rZOqtt94S//rXv4RarRZZWVkWFwo8T9kHJWVKCJ6n7IHsTM2bN08AED///HOTdWfOnBFeXl4CgHjttdearNdoNKJv374CgNi8ebPRutzcXOHj4yPc3NxEZmamxf2hjqekTAnRUHzu2LGjVe+hK2Dx2UpjxowRAMQLL7zQZF1tba3w9/cXAMTu3bst2l5NTY3w8/MTAMTevXubrP/tt98EAOHt7S2qqqqM1r300ksCgBg1apTJbV933XUCgPj3v/9tUV/INpSUKSH4pc4eyM6UEMLoSnlrCgWep+yDkjIlBM9T9kB2pubNmyd69epldv1tt90mAIiBAwc2WffZZ58JACIxMdHkax988EEBQMycOdOivpBtKClTQrD4NIdjPluhuLgY27dvBwCMHDmyyXpXV1dcddVVAIDPPvvMom3+8MMPuHDhAry8vDB06NAm6wcNGgQ/Pz9UVFTg22+/NVr3+eefm+0LAIwaNapVfaGOp7RMUednjUwBgKOjY5v6w/NU56e0TFHnZ41MvfLKKzhw4IDZ9ZGRkQCAkpKSJussPU9t2LAB9fX1FvWHOpbSMkXmsfhshQMHDkCr1QIAevbsabJNSkoKAOC3336zaJv6dklJSXBwaHo4VCoVevTo0WSb1dXVOHr0qEV9OXnyJMrLyy3qD3UsJWWqsW+++Qbjxo1DfHw8AgMD0bNnT8ycORMHDx60qA9kO9bIVFvxPGUflJSpxnie6ryskSkXFxe4ubmZXZ+bmwsAJiej0u+jpb6Ul5fj5MmTFvWHOpbSMqW3Z88eTJ48GcnJyQgICEBCQgJuu+02/PTTTxb1wR6x+GyF9PR0AICHhwe8vb1NtgkNDTVqa+k2Q0JCzLYxtc2srCzodLpmX6t/nRACGRkZFvWHOpaSMtXYCy+8gNGjR2PDhg3YsWMH5syZg++++w6DBw/GSy+9ZFE/yDaskam24nnKPigpU43xPNV5dXSm6uvrsXXrVgDAvHnzjNZVVVUhPz8fQMvnKVn9IfmUlKnGXnnlFVxyySX4+OOPsXv3bixatAgHDhzAiBEj8NBDD7X4RAt75GTrDnQm+r/Ku7u7m23j4eEBAKioqIBOpzN55amt2ywrK2vyuuZeq3/dxa8l5VBSpvTmzJmDxx57DFFRUYZlffv2xTXXXIO+ffvi6aefRo8ePXDTTTc12w+yDWtkqr19aa4/PE8pn5IypcfzVOfW0Zl67733UFhYiPvvvx9XX321yb401x+ep5RPSZnSmz59OiZNmoR+/foZlvXu3Rtjx45FUlIS3nnnHSQmJuKRRx5pcz86I6VEDosAAA20SURBVF757ETa89eRrviXFWqZqVwsX77c6AudXs+ePXHnnXcCAK8qkFXwPEWW4nmKLHX06FE88cQTuPLKK7Fs2bJ2b4/nKbI0U4sXLzYqPPWCgoIwf/58AMDLL7/c5TLF4rMVfHx8AAA1NTVm21RXVwMAvLy8LPqLSmu26evr2+R1zb1W/7qLX0vKoaRMWWLw4MEAGsZWNLd9sh1rZKq9fWmuPzxPKZ+SMmUJnqeUr6MylZ6ejtGjR6Nv37747rvvTI7f43nKPigpU5bQn6cKCwtx6tSpNm2js2Lx2QoJCQkAGsJbUVFhsk1eXh4AIDExsVXb1I83sHSbsbGxhh8cc6/Vv06lUhn2Q8qipExZovH4vNLS0la9ljqGNTLVVjxP2QclZcoSPE8pX0dk6uTJk7jmmmvQu3dvbNu2zew4QE9PT8NYz5bOU+3pD1mXkjJlicbjiIuLi9u8nc6IxWcrDBw40DA1/IkTJ0y2+euvvwAAQ4YMsWib+nanTp0yTMzRmBDCMLNa4216eHigT58+FvWlR48eRn/ZI+VQUqYAYP/+/UhLSzO7bf0vZpVKBT8/P4v6Qx3LGplqK56n7IOSMgXwPGUPrJ2pAwcO4KqrrsKgQYPw7bffwsvLq9n2+n201BcfHx/DbPGkLErL1NGjR/Hnn3+aXd/4Dx3+/v6t7k9nxuKzFQIDAw3PDtI/S6ixuro6/PzzzwCA2267zaJtjh07Fr6+vqisrMSvv/7aZP3vv/+OCxcuwNvbG+PGjTNad+utt5rtCwBs27atVX2hjqe0TD3++ON4/vnnzW5b/7yrfv36GU3AQMphjUy1B89TnZ/SMsXzVOdnzUzt3LkT1157LW644QasX78erq6uhnUFBQUYO3YsCgoKjF5j6Xlq8uTJcHZ2blV/qGMoLVOvv/465syZY3ab+vNUYGAgkpOTW9WfTk9Qq/z6669CpVKJiIgIUVFRYbRu5cqVAoAYPXq00fILFy6Ia6+9VvTq1UscOnSoyTZfffVVAUBMnDixybrJkycLAOKll15qsq68vFyEhIQIBweHJts9cuSIcHR0FMHBweLChQtteavUQZSUqWHDhonAwECRn5/fZF1aWppwcXERAMQnn3zS2rdJHcgamWosKytLABAARFZWVrNteZ6yD0rKFM9T9sEamdqyZYtwc3MT8+fPFzqdrsl6fc4uzphGoxF9+/YVAMTmzZuN1uXm5gofHx/h5uYmMjMz2/huqSMoKVPTp08Xrq6u4tixY01eU1JSIgIDAwUA8fzzz7fhnXZuLD7bYPny5UKlUokrr7xS7NmzR2RkZIjly5cLV1dXkZSUJAoKCozar1+/3vBLdfbs2U22p9VqxZQpUwQAce+994pjx46J48ePiwcffFAAEJMmTRIajcZkX3755Rfh5eUlwsPDxVdffSWysrLEli1bRGRkpPD09BR79uyxymdAciklUyNGjBAARFJSkvjkk0/EX3/9JTIyMsSaNWtEZGSkACAef/xxq30OJI/sTAkhRF5ensjLyxP79+83tN2/f79huTk8T9kHpWSK5yn7ITNTn376qXBychJOTk5iwIABJv/16dPH7B84Tp06JUJCQoSPj49YvXq1yMrKEtu3bxd9+vQRTk5O4ssvv7TmR0GSKCVT99xzjwAgwsLCxLvvviv+/PNPkZWVJTZu3ChSUlIEAHHbbbeZ/X5vz1h8ttHOnTvFuHHjREBAgHB1dRWJiYni6aefbvKXFiGEKCwsFH369BHdu3c3+yVLp9OJDz/8UAwZMkR4eXkJLy8vMWjQIPH++++b/EtLY1lZWWLmzJkiPDxcuLi4iLCwMDFjxgyRnp4u5b1Sx1BCpiorK8WaNWvELbfcIuLi4oSrq6twcXERUVFRYurUqWLnzp1S3zNZl+xM6X9Bm/vXHJ6n7IMSMsXzlH2Rlakbb7yxxTy1dHW9qKhIzJs3T8TGxgoXFxcRHBwsJk+e3OKVe1IWJWSqrq5ObNiwQUybNk0kJycLDw8P4ezsLEJDQ8WECROaXGHvSlRCdLGHyxAREREREVGH44RDREREREREZHUsPomIiIiIiMjqWHwSERERERGR1bH4JCIiIiIiIqtj8UlERERERERWx+KTiIiIiIiIrI7FJxEREREREVkdi08iIiIiIiKyOhafREREREREZHUsPomIiIiIiMjqWHwSERERERGR1bH4JCIiIiIiIqtj8UlERERERERWx+KTiIiIiIiIrI7FJxERUQcZMGAAjh07ZpN9z5gxAyqVCiqVCvHx8Rg4cCAGDhyI7Oxsq+xPrVYb9tGjRw/DvocPH26V/RERkfKx+CQiIuoAe/bswaFDh/Dmm2/atB9Tp05FRkYGDhw4gAMHDiA6Otoq+3FxcTHs4+TJk3j44Yetsh8iIuo8WHwSERF1gBUrVgAA1q1bh6KiIpv1o0ePHjbZ74ABA2yyXyIiUg4Wn0RERFZ27tw5bNq0CQBQW1uLd99918Y96ngqlcrWXSAiIhtj8UlERGRl77zzDq666ioMHToUAPD2229DrVbbuFdEREQdi8UnERGRFdXV1eH999/HvHnzMHfuXABAfn4+PvvsMxv3jIiIqGOx+CQiIrKiL774At7e3hg/fjwmT56M0NBQALD5xEONqdVq7NixA08++SQuvfRSLFq0CJWVlVi0aBGSk5Ph5uaG6OhovPPOO4bXrF+/Htdccw18fX3h7++PRx55BFqt1obvgoiIlI7FJxERkRWtWLECc+bMgYODA5ydnfHAAw8AAA4fPoydO3eafV11dTVWr16NiRMnIjg4GHFxcbhw4YJh/WeffYaYmBikpKSgtra2XX1MTU1FVlYW3nvvPRw+fBipqamYPHkyAgIC8Omnn+Kdd95BQUEBHnroIXz55ZeYNm0a8vPz8frrr2PNmjXw8vLCm2++iaVLl7arH0REZN9YfBIREVnJvn37kJqaipkzZxqWzZo1Cy4uLgCAN954w+xr6+rqMHToUKxduxahoaHIysrChg0bAACrV6/Gl19+ifj4eNTV1UGn07Wrn3369MHMmTNx7bXXAmgojD/99FPMmzcPAwYMwN13340pU6YAAO666y7MnTsXc+bMQf/+/TFx4kQsXrwYAPDRRx+1qx9ERGTfWHwSERFZyYoVKzBjxgz4+PgYlnXv3h1Tp04FAHz77bfIyMgw+Vp/f3/06NEDPj4+uPXWWwEAu3fvxuHDh3Hw4EFs2rQJ//vf/5CRkQEPDw8p/fX29gYADB06FAEBAUbrLr30UgBASEgIBg0aZHJdamoqampqpPSFiIjsD4tPIiIiK8jLy8NXX32FOXPmNFmnX6bT6bBs2bIWtzVs2DAAwJ49e7B48WK88sorcjtrAT8/vxbXCSFQWlraMR0iIqJOh8UnERGRFbz77rsYOXIkEhMTm6wbNGiQ4bErq1atQllZWbPbGjBgAFxdXZGVlYV77rkH7u7uVulzc5p7TmfjdXyEDBERmcPik4iISDK1Wo333nsP8+bNM9tG/9iVyspKfPDBB81uz9XV1XCrq5ubm7yOEhERdSAWn0RERJKtX78egYGBGDVqlNk2jR+7smLFimYfU1JeXo6cnBwADbfeEhERdUYsPomIiCRbsWKF4cqmOY0fu5KdnY1NmzaZbTt79mzDJEW7du2S11EiIqIOxOKTiIhIot9//x2nTp3CtGnTWmxryWNX1q5di+TkZDz99NNwdHTEr7/+ahhXWVJSgurqanmdJyIisiInW3eAiIjInixfvhxqtRr9+/e3qL1+sp5ffvkFv//+O/r374/q6mp4e3sjNTUV33zzDb788kuoVCpccsklOHjwIH755RdceeWVePrpp7F06VJpfa+trQXQMGvtxerr6wEAVVVVZl8HoN3PHCUiIvvF4pOIiEiSgoICfPnll1Cr1UhNTW3169944w14eHhg3bp1mDZtGlJTU7Fx40ZDgTpq1CgcPHgQjz76KLp3745nn31W2jM+a2pqcODAAQDAX3/9BZ1OBweHv2+QOn78OACguLgYf/zxh+HZnoDxrcCHDh1CXFyclD4REZF94W23REREkrz//vvtetTI+vXrERkZCZVKhcOHD+PDDz9Et27dDOtnzZqFqKgolJSUYPbs2RgyZIiMbmPlypUICwtDRkYGAODAgQMIDQ3FqlWrcPToUcTHxxueRyqEwJAhQzBhwgQAwNChQw1jVwFg6tSp6NGjh5R+ERGRfeGVTyIiIkmeeeYZPPPMM+3ezqJFi0wuj4mJQXZ2dru3f7HZs2dj9uzZZtfri1JTfv31V+n9ISIi+8Qrn0RERF0Ix2QSEZGtsPgkIiLqQn7++WfD5EEd6dixYx2+TyIiUhbedktERNQFBAQEIDw8HGlpaejbty98fX0BAF988QWio6Ol70+tVuPqq682/P+ioiKEh4cjKChI+r6IiKhzUAlT86kTERERERERScTbbomIiIiIiMjqWHwSERERERGR1bH4JCIiIiIiIqtj8UlERERERERWx+KTiIiIiIiIrI7FJxEREREREVkdi08iIiIiIiKyOhafREREREREZHUsPomIiIiIiMjqWHwSERERERGR1bH4JCIiIiIiIqtj8UlERERERERWx+KTiIiIiIiIrI7FJxEREREREVkdi08iIiIiIiKyOhafREREREREZHX/B8r2MNHh9HjAAAAAAElFTkSuQmCC",
|
|
"text/plain": [
|
|
"<Figure size 1050x750 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"#Colori e grafica in generale generati da LLM\n",
|
|
"\n",
|
|
"mpl.rcParams.update({\n",
|
|
" \"font.family\": \"serif\",\n",
|
|
" \"font.serif\": [\"Times New Roman\", \"DejaVu Serif\"],\n",
|
|
" \"mathtext.fontset\": \"stix\",\n",
|
|
" \"axes.labelsize\": 13,\n",
|
|
" \"xtick.labelsize\": 11,\n",
|
|
" \"ytick.labelsize\": 11,\n",
|
|
" \"legend.fontsize\": 11,\n",
|
|
" \"figure.dpi\": 150,\n",
|
|
"})\n",
|
|
"\n",
|
|
"fig, ax = plt.subplots(figsize=(7, 5))\n",
|
|
"\n",
|
|
"x_fit = np.linspace(-0.05, df[\"Dx\"].max() * 1.10, 100)\n",
|
|
"y_fit = A * x_fit + B\n",
|
|
"sigma_fit = np.sqrt((x_fit * sA)**2 + sB**2)\n",
|
|
"\n",
|
|
"'''\n",
|
|
"ax.fill_between(x_fit,\n",
|
|
" y_fit - sigma_fit,\n",
|
|
" y_fit + sigma_fit,\n",
|
|
" alpha=0.20, color=\"#C0392B\",\n",
|
|
" label=r\"Incertezza fit $\\pm\\,\\sigma$\")\n",
|
|
"'''\n",
|
|
"ax.plot(x_fit, y_fit,\n",
|
|
" color=\"#C0392B\", linewidth=1, zorder=3,\n",
|
|
" label=rf\"Fit: $F = ({A:.2f} \\pm {sA:.2f})\\,\\Delta x + ({B:.3f} \\pm {sB:.3f})$ N\")\n",
|
|
"\n",
|
|
"ax.errorbar(\n",
|
|
" df[\"Dx\"], df[\"F\"],\n",
|
|
" xerr=df[\"uDx\"], # barre orizzontali (errore su Δx)\n",
|
|
" yerr=df[\"uF\"], # barre verticali (errore su F)\n",
|
|
" fmt=\"none\", # simbolo cerchio per il punto\n",
|
|
" color=\"#1A5276\",\n",
|
|
" ecolor=\"#1A5276\",\n",
|
|
" elinewidth=1.0, # spessore delle barre\n",
|
|
" capsize=4, # cappelletto alle estremità\n",
|
|
" capthick=1.0,\n",
|
|
" markersize=5,\n",
|
|
" zorder=5,\n",
|
|
" label=\"Dati sperimentali\",\n",
|
|
")\n",
|
|
"\n",
|
|
"ax.set_xlabel(r\"$\\Delta x\\ \\mathrm{[m]}$\")\n",
|
|
"ax.set_ylabel(r\"$F\\ \\mathrm{[N]}$\")\n",
|
|
"ax.set_title(\"Forza / Estensione — Legge di Hooke\", pad=10)\n",
|
|
" \n",
|
|
"ax.legend(framealpha=0.9, edgecolor=\"0.7\")\n",
|
|
"ax.grid(True, linestyle=\"--\", linewidth=0.5, alpha=0.5)\n",
|
|
"ax.set_xlim(left=0)\n",
|
|
" \n",
|
|
"# Testo con i parametri del fit (opzionale)\n",
|
|
"textstr = (rf\"$k = A = ({A:.1f} \\pm {sA:.1f})\\ \\mathrm{{N/m}}$\" \"\\n\"\n",
|
|
" rf\"$B = ({B:.3f} \\pm {sB:.3f})\\ \\mathrm{{N}}$\")\n",
|
|
"ax.text(0.04, 0.95, textstr,\n",
|
|
" transform=ax.transAxes,\n",
|
|
" verticalalignment=\"top\",\n",
|
|
" bbox=dict(boxstyle=\"round,pad=0.4\", facecolor=\"white\", alpha=0.8, edgecolor=\"0.7\"),\n",
|
|
" fontsize=10)\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.13.5"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|