diff --git a/analysis/new analysis Aug 2025/analayis11_2020_nooutliers.ipynb b/analysis/new analysis Aug 2025/analayis11_2020_nooutliers.ipynb index 916fd9f..5f22556 100644 --- a/analysis/new analysis Aug 2025/analayis11_2020_nooutliers.ipynb +++ b/analysis/new analysis Aug 2025/analayis11_2020_nooutliers.ipynb @@ -13389,7 +13389,7 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 104, "id": "8c68de82", "metadata": {}, "outputs": [ @@ -13397,7 +13397,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Saved enhanced CSVs: contrast_comparison_period_enhanced.csv and contrast_comparison_spilltype_enhanced.csv\n", + "Saved enhanced CSVs: contrast_comparison_period_enhanced_nb.csv and contrast_comparison_spilltype_enhanced_nb.csv\n", "Saved contrast_comparison_period_with_pct.png\n", "Saved contrast_comparison_spilltype_with_pct.png\n", "Enhanced contrast tables and plots complete.\n", @@ -13517,9 +13517,9 @@ "period_enh = enhance_df(period, nb_preds, poisson_preds, is_period=True)\n", "spill_enh = enhance_df(spill, nb_preds, poisson_preds, is_period=False)\n", "\n", - "period_enh.to_csv('contrast_comparison_period_enhanced.csv', index=False)\n", - "spill_enh.to_csv('contrast_comparison_spilltype_enhanced.csv', index=False)\n", - "print('Saved enhanced CSVs: contrast_comparison_period_enhanced.csv and contrast_comparison_spilltype_enhanced.csv')\n", + "period_enh.to_csv('contrast_comparison_period_enhanced_nb.csv', index=False)\n", + "spill_enh.to_csv('contrast_comparison_spilltype_enhanced_nb.csv', index=False)\n", + "print('Saved enhanced CSVs: contrast_comparison_period_enhanced_nb.csv and contrast_comparison_spilltype_enhanced_nb.csv')\n", "\n", "# Optional: produce percent-change plots for Period comparisons (NB vs Poisson percent)\n", "try:\n", @@ -13573,6 +13573,1017 @@ "\n", "print('Enhanced contrast tables and plots complete.')" ] + }, + { + "cell_type": "markdown", + "id": "da561b47", + "metadata": {}, + "source": [ + "# Executive Summary\n", + "\n", + "## Bottom Line\n", + "\n", + "- **Primary Model (IQR‑trimmed Poisson GLM with parametric bootstrap):**\n", + " - Predicted reporting delays are small in absolute terms (mostly fractions of a day).\n", + " - Parametric bootstrap contrasts show decreases after 2020 on the order of **5–11 hours** across many SpillType × rurality cells.\n", + " - Recent vs Historical differences are typically small (hours) and largest in Urban areas.\n", + "\n", + "- **ITS (Monthly Aggregation):**\n", + " - Level and slope changes around 2020 vary by SpillType × rurality.\n", + " - OLS ITS with Newey–West SEs showed some immediate and slope changes in panels with enough months.\n", + " - Include these as descriptive/time series evidence, not definitive causal proof.\n", + "\n", + "- **NB Winsorized Sensitivity:**\n", + " - When outcome is winsorized and a Negative‑Binomial specification is used, predicted group means and contrasts can be qualitatively different and much larger (multiple days, especially in Rural Historical cells).\n", + " - NB bootstrap contrasts show large negative Recent−Historical and large Period differences in some cells.\n", + " - Model choice and tail treatment strongly affect magnitudes.\n", + "\n", + "- **Recommendation:** \n", + " Present Poisson GLM + parametric bootstrap as the primary specification (main, fully-implemented, and bootstrapped model across the full IQR‑trimmed sample). \n", + " Present NB (winsorized) as an explicit sensitivity analysis with full bootstrap results in supplement; highlight where conclusions are robust vs where they diverge.\n", + "\n", + "---\n", + "\n", + "## What to Report (Concise Guidance)\n", + "\n", + "### Primary Specification (Main Text / First Results Table)\n", + "\n", + "- **Sample:** IQR‑trimmed (dates 2015–2024; top‑3 counties), outcome = days between discovery and initial report (non‑negative), Poisson GLM.\n", + "- **Formula:** \n", + " `report_delay ~ C(spill_type) * C(Period) * C(rurality)`\n", + "- **Inference:** \n", + " Parametric bootstrap B=2000 for group means & contrasts; report bootstrap median and 95% percentile CI; report Pearson χ² dispersion and HC3 where available (note fallback).\n", + "\n", + "**Present:**\n", + "- **Table 1:** Predicted group means (Poisson) with median and 95% bootstrap CI and n per cell (`poisson_predicted_groups_boot_final.csv`)\n", + "- **Table 2:** Key contrasts (Period and SpillType) with median, 95% CI, bootstrap p-values (`poisson_boot_contrasts.csv`)\n", + "- **Figure 1:** Group predicted means with 95% bootstrap CIs (`predicted_means_boot_CI.png`)\n", + "\n", + "### ITS (Short Subsection)\n", + "\n", + "- **Monthly aggregation; OLS ITS of mean delay with HAC SEs (lag=3) and case (month) bootstrap for coefficient uncertainty.**\n", + "\n", + "**Present:**\n", + "- **Table 3:** ITS immediate level and slope change estimates by SpillType × rurality with HAC SEs and bootstrap CI/p (`its_summary_with_boot.csv`, `its_coef_bootstrap.csv`)\n", + "- **Figure 2:** Combined ITS panel (`its_combined.png`, `its_combined_reindexed.png`)\n", + "\n", + "### NB Sensitivity (Explicit Robustness Section / Supplement)\n", + "\n", + "- **Describe winsorization (99th percentile) and NB fitting strategy:**\n", + " - Empirical NB2 α via method‑of‑moments, GLM‑NB with alpha, discrete NB MLE where stable, and parametric NB bootstrap (gamma→Poisson) with per‑draw GLM fallback.\n", + "\n", + "**Present:**\n", + "- **Supplement Table S1:** NB predicted group medians and 95% CI (`nb_parametric_boot_predicted_means_appended.csv`)\n", + "- **Supplement Table S2:** NB contrasts (`nb_contrasts_period.csv`, `nb_contrasts_spilltype.csv`)\n", + "- **Comparison Figure:** Poisson vs NB contrast comparison plots (`contrast_comparison_period.png`, `contrast_comparison_spilltype.png`) and enhanced % plots if useful (`contrast_comparison_*_with_pct.png`)\n", + "\n", + "**Key Framing:** \n", + "NB is sensitivity that emphasizes tail mass and is sensitive to winsorization; do not replace the primary estimate with NB, but discuss divergence and possible reasons.\n", + "\n", + "---\n", + "\n", + "## Suggested Methods Text (Short, Plug‑and‑Play)\n", + "\n", + "- **Data and Outcome:** \n", + " “We defined reporting delay as the number of days between Date of Discovery and Initial Report Date (truncated at 0). We restricted to discovery dates 2015–2024 and the top‑3 counties by counts. We removed extreme outcome outliers via the IQR rule (lower bound truncated at zero).”\n", + "\n", + "- **Primary Model:** \n", + " “Our primary specification is a Poisson generalized linear model with log link and a full three‑way interaction: report_delay ~ C(spill_type) * C(Period) * C(rurality). We compute predicted group means and contrasts via parametric bootstrap (B=2000) and report bootstrap medians and 95% percentile CIs. We attempted HC3 robust SEs when available and report Pearson χ²/df as a dispersion diagnostic.”\n", + "\n", + "- **ITS:** \n", + " “We aggregated to monthly means and fit OLS interrupted time series models with Newey–West (HAC) SEs (maxlags=3) and a case‑bootstrap for coefficient inference.”\n", + "\n", + "- **Sensitivity:** \n", + " “Because Poisson assumptions can be violated by over/under‑dispersion and heavy tails, we ran Negative‑Binomial sensitivity analyses on a 99% winsorized outcome using an empirical NB2 α (MOM) and discrete NB MLE when stable; we used a parametric NB bootstrap (gamma→Poisson) to derive CIs.”\n", + "\n", + "---\n", + "\n", + "## Suggested Results Text (Short)\n", + "\n", + "- **Main Text (Concise, Balanced):** \n", + " “Under our primary Poisson specification with parametric bootstrap, predicted reporting delays declined after 2020 across most SpillType × rurality cells by about 0.22–0.46 days (≈5–11 hours). These effects are small in absolute terms but consistent across bootstrap specifications and nonparametric resampling.”\n", + "\n", + "- **Sensitivity:** \n", + " “A Negative‑Binomial sensitivity (winsorized outcome) produced larger predicted means and larger Period contrasts—particularly in Rural Historical cells—indicating that estimated magnitudes are sensitive to tail treatment and dispersion assumptions (see Supplement).”\n", + "\n", + "---\n", + "\n", + "## Figure and Table Captions (Ready to Paste)\n", + "\n", + "- **Figure 1 (main):** \n", + " “Predicted reporting-delay (days) by Spill Type × Period × Rurality. Points are bootstrap medians (Poisson GLM, B=2000); vertical bars are 2.5th–97.5th percentiles from parametric bootstrap. N per cell shown in table.”\n", + "\n", + "- **Figure 2 (comparison):** \n", + " “Poisson vs Negative‑Binomial sensitivity: Period contrasts (Before 2020 − 2020 and After) by Spill Type. Bars show median contrast and 95% CI; Poisson = green, NB (winsorized) = blue. NB specification emphasizes tail-driven group differences—interpret as sensitivity, not main estimate.”\n", + "\n", + "- **Table Footnote:** \n", + " “Bootstrap medians and 95% percentile CIs computed by parametric simulation; bootstrap p-values are two‑sided based on fraction of draws with sign opposite to median.”\n", + "\n", + "---\n", + "\n", + "## How to Present Uncertainty and Interpretation\n", + "\n", + "- Lead with effect sizes and CIs, not p‑values.\n", + "- For policy readers, show hours (days × 24) beside days.\n", + "- Emphasize robustness: \n", + " “Direction stable across Poisson bootstrap and nonparametric bootstrap; magnitudes sensitive to NB/winsorization.”\n", + "- Be explicit which cells are robust (i.e., CIs not overlapping zero under multiple specs).\n", + "- For cells with small n, mark estimates as low‑precision.\n", + "\n", + "---\n", + "\n", + "## Limitations to Call Out Explicitly\n", + "\n", + "- **Data Quality:** \n", + " Flagged suspect delays and manual entries (see `spills_suspect_delays.csv`); note any manual review done or deferred.\n", + "- **Model Dependence:** \n", + " Poisson vs NB produced different magnitudes — conclusions about practical importance (hours vs days) depend on tail handling and dispersion choice.\n", + "- **Multiple Testing:** \n", + " Many contrasts evaluated; treat p-values as descriptive; focus discussion on effect sizes and policy relevance.\n", + "\n", + "---\n", + "\n", + "## Recommended Supplementary Files to Include\n", + "\n", + "- `poisson_predicted_groups_boot_all.csv`, `poisson_predicted_groups_boot_final.csv`, `poisson_boot_contrasts.csv`\n", + "- `preds_npboot.npy` (nonparametric draws)\n", + "- `nb_parametric_boot_predicted_means_appended.csv`, `nb_contrasts_period.csv`, `nb_contrasts_spilltype.csv`\n", + "- `contrast_comparison_period.png`, `contrast_comparison_spilltype.png`, percent-change PNGs\n", + "- `its_summary_with_boot.csv`, `its_coef_bootstrap.csv`, ITS PNGs\n", + "\n", + "---\n", + "\n", + "## Short Policy‑Relevant Recommendation\n", + "\n", + "If the practical question is whether operational reporting improved materially after 2020: \n", + "**Poisson primary estimates suggest modest improvements (hours), while NB sensitivity suggests larger, cell‑specific changes (days) in particular Rural/Historical contexts.** \n", + "Report the conservative conclusion that delays fell, but quantify uncertainty and note the model‑dependence before claiming large operational effects." + ] + }, + { + "cell_type": "markdown", + "id": "1a61c601", + "metadata": {}, + "source": [ + "## Final combined contrasts and multipanel figure\n", + "\n", + "The cells below combine the Poisson and Negative Binomial contrast CSVs (enhanced versions), produce a single tidy CSV for manuscript tables, and create a multipanel comparison figure (Poisson vs NB) saved to `final_contrast_comparison_multipanel.png`." + ] + }, + { + "cell_type": "code", + "execution_count": 117, + "id": "58a9fad5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Wrote final_contrast_comparison_combined.csv\n" + ] + } + ], + "source": [ + "# Load enhanced contrast CSVs and create a tidy combined CSV for manuscript use\n", + "import pandas as pd\n", + "from pathlib import Path\n", + "\n", + "# file names used earlier in the notebook\n", + "poisson_csv = 'contrast_comparison_period_enhanced.csv'\n", + "nb_csv = 'contrast_comparison_period_enhanced_nb.csv' # if Poisson file has different name, notebook created same name earlier\n", + "\n", + "# Try to load Poisson and NB enhanced CSVs (they may be the same file if earlier cells merged them)\n", + "poisson_df = pd.read_csv(poisson_csv) if Path(poisson_csv).exists() else pd.DataFrame()\n", + "nb_df = pd.read_csv(nb_csv) if Path(nb_csv).exists() else pd.DataFrame()\n", + "\n", + "# If nb_df equals poisson_df (same path), attempt to also load spilltype files\n", + "if poisson_df.equals(nb_df):\n", + " # try spilltype versions\n", + " poisson_csv_s = 'contrast_comparison_spilltype_enhanced.csv'\n", + " nb_csv_s = 'contrast_comparison_spilltype_enhanced.csv'\n", + " poisson_df = pd.read_csv(poisson_csv_s) if Path(poisson_csv_s).exists() else poisson_df\n", + " nb_df = pd.read_csv(nb_csv_s) if Path(nb_csv_s).exists() else nb_df\n", + "\n", + "# Heuristic: determine which columns indicate model type; add model column accordingly\n", + "if not poisson_df.empty:\n", + " poisson_df = poisson_df.copy()\n", + " poisson_df['model'] = 'poisson'\n", + "if not nb_df.empty and not nb_df.equals(poisson_df):\n", + " nb_df = nb_df.copy()\n", + " nb_df['model'] = 'neg_binom'\n", + "\n", + "# Combine\n", + "combined = pd.concat([poisson_df, nb_df], axis=0, ignore_index=True, sort=False)\n", + "\n", + "# Standardize column names for manuscript-friendly output\n", + "rename_map = {\n", + " 'median': 'estimate_median',\n", + " 'ci_lower': 'ci_lower',\n", + " 'ci_upper': 'ci_upper',\n", + " 'pct_change': 'percent_change',\n", + " 'hours_change': 'hours_change',\n", + "}\n", + "for k in list(rename_map.keys()):\n", + " if k not in combined.columns:\n", + " rename_map.pop(k, None)\n", + "\n", + "combined = combined.rename(columns=rename_map)\n", + "\n", + "# write to csv\n", + "out_csv = 'final_contrast_comparison_combined.csv'\n", + "combined.to_csv(out_csv, index=False)\n", + "print('Wrote', out_csv)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 118, + "id": "c4fc2eef", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Period rurality nb_median nb_ci_lower nb_ci_upper nb_p \\\n", + "0 Before 2020 Rural -9.826219 -14.869599 -4.507633 0.0004 \n", + "1 Before 2020 Suburban -7.100280 -15.484325 1.480260 0.1072 \n", + "2 Before 2020 Urban -1.638842 -2.856092 -0.464406 0.0080 \n", + "3 2020 and After Rural -13.917288 -18.484154 -9.260263 0.0000 \n", + "4 2020 and After Suburban -7.230489 -13.888810 -0.396495 0.0368 \n", + "\n", + " poisson_median poisson_ci_lower poisson_ci_upper poisson_p \\\n", + "0 0.012508 -0.100730 0.124265 0.828 \n", + "1 0.019286 -0.207068 0.247406 0.862 \n", + "2 0.130557 0.052961 0.208439 0.000 \n", + "3 0.072771 0.000533 0.144294 0.049 \n", + "4 0.143842 0.019373 0.264003 0.022 \n", + "\n", + " nb_median_hours nb_ci_lower_hours nb_ci_upper_hours \\\n", + "0 -235.829259 -356.870386 -108.183202 \n", + "1 -170.406730 -371.623791 35.526241 \n", + "2 -39.332200 -68.546196 -11.145745 \n", + "3 -334.014903 -443.619708 -222.246304 \n", + "4 -173.531727 -333.331430 -9.515882 \n", + "\n", + " poisson_median_hours poisson_ci_lower_hours poisson_ci_upper_hours \\\n", + "0 0.300182 -2.417518 2.982369 \n", + "1 0.462871 -4.969641 5.937733 \n", + "2 3.133372 1.271071 5.002524 \n", + "3 1.746502 0.012800 3.463057 \n", + "4 3.452211 0.464948 6.336065 \n", + "\n", + " nb_median_pct poisson_median_pct model \n", + "0 -79.900452 1.402810 poisson \n", + "1 -71.035691 2.460663 poisson \n", + "2 -36.408520 16.227521 poisson \n", + "3 -84.430521 11.942995 poisson \n", + "4 -66.503797 34.238482 poisson \n" + ] + } + ], + "source": [ + "#print combined head\n", + "print(combined.head())" + ] + }, + { + "cell_type": "markdown", + "id": "6519ec3c", + "metadata": {}, + "source": [ + "### Methods (brief)\n", + "- Primary models: Poisson GLMs predicting event-level report delay with full interaction term `C(spill_type) * C(Period)`; analytic HC3 standard errors reported when available and reliable.\n", + "- When HC3 was unavailable or diagnostics suggested misspecification, we used parametric bootstrap (Poisson and Negative Binomial sensitivity) and nonparametric case bootstrap for inference; ITS used OLS with Newey–West HAC and case bootstrap.\n", + "- Outliers trimmed using IQR-based trimming with a winsorized 99th percentile sensitivity check. All code and CSV/PNG outputs are saved in the analysis folder for reproducibility.\n", + "\\n### Results (brief)\n", + "- The primary Poisson results (with bootstrap CIs) show [fill in key quantitative result]. Negative Binomial sensitivity estimates were similar for most contrasts but differed for [specify], suggesting [interpretation].\n", + "\\n### Limitations\n", + "- Residual overdispersion/underdispersion can affect efficiency; we address this via bootstraps and NB sensitivity.\n", + "- Trimming/winsorization affects extreme delays; results are robust across reasonable choices.\n", + "- Causal interpretation depends on plausibility of no unmeasured confounding and stable reporting practices around the 2020 break." + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "id": "49bca6a3", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reading final_contrast_comparison_combined.csv\n", + "Wrote final_contrast_comparison_symlog.png\n", + "Wrote final_contrast_comparison_symlog.png\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAJOCAYAAABm7rQwAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjUsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvWftoOwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAfvtJREFUeJzs3XlcVPX+x/H3DMoiAi6JuOCSO7lQmqYtamHiVtpmu0vZYv5M0Uy7JdrtpraYlqZtLpXdW9ptvaUWmt7MNDXU0pQMlwRERXYBYc7vDy4jE4szODPA8Ho+HvPwzPd8z5nPh3H0y2e+53tMhmEYAgAAAAAAANzIXNkBAAAAAAAAoOahKAUAAAAAAAC3oygFAAAAAAAAt6MoBQAAAAAAALejKAUAAAAAAAC3oygFAAAAAAAAt6MoBQAAAAAAALejKAUAAAAAAAC3oygFAAAAAAAAt6MoBQB/8eKLL+rSSy+Vl5eXwsPDKzscAACAamvFihUymUw6fPiwU8/LeA3wDBSlAFRLRQOc4o/g4GD1799fX3/9dYXPu379ek2bNk1XX321li9frueff96JUVeMxWLRihUrdNNNNyk0NFT+/v7q3LmznnvuOeXk5JR6zDvvvKNOnTrJ19dX7dq102uvvVaiz7///W+NHDlSl156qerUqaMOHTpoypQpSk1NLfWcn3/+ua644gr5+vqqRYsWio6OVn5+vjNTBQCg2vjpp580YcIEXXbZZfL391eLFi10xx136ODBg6X2379/vyIjI1W3bl01aNBA9913n06ePGnT57ffftO0adMUHh6ugIAANWnSREOGDNGOHTtKPefx48d1xx13qF69egoMDNTNN9+sP/74w+m5utu0adNkMpk0cuTIUveXNl5LSEjQrFmzFBsb695gAVyUWpUdAABcjGeffVatW7eWYRg6ceKEVqxYocGDB+uLL77Q0KFDHT7fhg0bZDab9c4778jb29sFETsuOztbY8aM0VVXXaVHHnlEwcHB2rp1q6KjoxUTE6MNGzbIZDJZ+7/xxht65JFHdOuttyoqKkr//e9/NXHiRGVnZ+vJJ5+09nvooYfUtGlT3XvvvWrRooX27t2rRYsW6auvvtKuXbvk5+dn7fv1119r+PDh6tevn1577TXt3btXzz33nJKTk7VkyRK3/jwAAKgK5s2bpy1btuj2229X165dlZSUpEWLFumKK67Qjz/+qM6dO1v7/vnnn7ruuusUFBSk559/XpmZmXrppZe0d+9ebd++3TrmePvtt/XOO+/o1ltv1fjx45WWlqY33nhDV111ldauXauIiAjrOTMzM9W/f3+lpaXpqaeeUu3atfXKK6+ob9++io2NVcOGDd3+M3EGwzD0z3/+U61atdIXX3yhjIwMBQQE2PQpbby2Y8cOzZ49W61atWLmFFCdGABQDS1fvtyQZPz000827SkpKUbt2rWNu+++u0LnHTNmjOHv7++MEA3DMAyLxWJkZ2df1Dlyc3ONLVu2lGifPXu2Icn45ptvrG3Z2dlGw4YNjSFDhtj0veeeewx/f38jJSXF2rZx48YS51y5cqUhyXjrrbds2sPCwoxu3boZ586ds7b97W9/M0wmk7F///6KpgYAQLW1ZcsWIzc316bt4MGDho+Pj3HPPffYtD/66KOGn5+fceTIEWvbN998Y0gy3njjDWvbjh07jIyMDJtjT506ZTRq1Mi4+uqrbdrnzZtnSDK2b99ubdu/f7/h5eVlzJgx46Lzc5aiMVt8fLxd/Tds2GBIMjZs2GDUrl3bWLFiRYk+pY3XfvrpJ0OSsXz5cidEfV5mZqZTzwfAFpfvAfAo9erVk5+fn2rVsp0IarFYtGDBAl122WXy9fVV48aN9fDDD+vMmTPWPiaTScuXL1dWVpb1ksAVK1ZIkvLz8/X3v/9dbdq0kY+Pj1q1aqWnnnpKubm5Nq/TqlUrDR06VOvWrVOPHj3k5+enN954Q5KUmpqqSZMmKTQ0VD4+Pmrbtq3mzZsni8VSbk7e3t7q06dPifYRI0ZIKrwcoMjGjRt1+vRpjR8/3qbvY489pqysLP3nP/+xtvXr18+uc+7bt0/79u3TQw89ZPNzHT9+vAzD0Jo1a8qNHwAAT9SnT58Ss6rbtWunyy67zOb/UUn6+OOPNXToULVo0cLaFhERofbt2+ujjz6ytnXv3l1169a1ObZhw4a69tprS5xzzZo1uvLKK3XllVda2zp27KgbbrjB5pxlWb58ua6//noFBwfLx8dHYWFhpc5+LhrbfP/99+rZs6d8fX116aWX6t133y3R99dff9X1118vPz8/NW/eXM8999wFxzl/tWrVKoWFhal///6KiIjQqlWrbPaXNV4r+jmMGTOmxDhOkrZt26bIyEgFBQWpTp066tu3r7Zs2WJz7lmzZslkMmnfvn26++67Vb9+fV1zzTUOxQ/AMRSlAFRraWlpOnXqlE6ePKlff/1Vjz76qDIzM3Xvvffa9Hv44Yf1xBNP6Oqrr9bChQs1ZswYrVq1SgMHDtS5c+ckSe+9956uvfZa+fj46L333tN7772n6667TpL04IMPaubMmbriiiusU+PnzJmjO++8s0RMBw4c0F133aUBAwZo4cKFCg8PV3Z2tvr27av3339f999/v1599VVdffXVmjFjhqKioiqUe1JSkiTpkksusbb9/PPPkqQePXrY9O3evbvMZrN1vzPO2bRpUzVv3vyC5wQAoKYw/recQPH/R48fP67k5OQS/49KUs+ePe36fzQpKcnmnBaLRXv27CnznIcOHVJGRka551yyZIlatmypp556Si+//LJCQ0M1fvx4LV68uETf33//XbfddpsGDBigl19+WfXr19fo0aP166+/2sTYv39/xcbGavr06Zo0aZLeffddLVy48IL5FcnNzdXHH3+su+66S5J01113acOGDdbxiVT6eK1Tp0569tlnJRUuT/DXcdyGDRt03XXXKT09XdHR0Xr++eeVmpqq66+/Xtu3by8Rx+23367s7Gw9//zzGjdunN3xA6iAyp6qBQAVUTQV/K8PHx+fEtO8//vf/xqSjFWrVtm0r127tkT7qFGjSkwHj42NNSQZDz74oE371KlTrdPLi7Rs2dKQZKxdu9am79///nfD39/fOHjwoE379OnTDS8vL+Po0aMO/wwiIiKMwMBA48yZM9a2xx57zPDy8iq1f6NGjYw777yz3HM+8MADhpeXl02cL774oiGp1BivvPJK46qrrnI4dgAAPNF7771nSDLeeecda1vRZWXvvvtuif5PPPGEIcnIyckp85ybN282TCaT8cwzz1jbTp48aUgynn322RL9Fy9ebEgyfvvtt3JjLW15gYEDBxqXXnqpTVvR2Gbz5s3WtuTkZMPHx8eYMmWKtW3SpEmGJGPbtm02/YKCguy+fG/NmjWGJCMuLs4wDMNIT083fH19jVdeecWmX2njtbIu37NYLEa7du2MgQMHGhaLxSb/1q1bGwMGDLC2RUdHG5KMu+6664KxAnAOZkoBqNYWL16sb775Rt98843ef/999e/fXw8++KD+/e9/W/usXr1aQUFBGjBggE6dOmV9FE2R37hxY7mv8dVXX0lSiRlNU6ZMkSSbS+IkqXXr1ho4cKBN2+rVq3Xttdeqfv36NjFERESooKBAmzdvdijv559/Xt9++63mzp2revXqWdvPnj1b5gLtvr6+Onv2bJnn/OCDD/TOO+9oypQpateunc05JcnHx8fhcwIAUFP89ttveuyxx9S7d2+NGjXK2n6h/0eL9/mr5ORk3X333WrdurWmTZvmlHMWKX5Dk6KZ53379tUff/yhtLQ0m75hYWG69tprrc8bNWqkDh062Nzp76uvvtJVV12lnj172vS75557yo2juFWrVqlHjx5q27atJCkgIEBDhgwpcQmfI2JjYxUXF6e7775bp0+fto7BsrKydMMNN2jz5s0lLjF85JFHKvx6ABzD3fcAVGs9e/a0mbp+11136fLLL9eECRM0dOhQeXt7Ky4uTmlpaQoODi71HMnJyeW+xpEjR2Q2m60DpCIhISGqV6+ejhw5YtPeunXrEueIi4vTnj171KhRowrFUNyHH36op59+Wg888IAeffRRm31+fn7Ky8sr9bicnBybAWhx//3vf/XAAw9o4MCB+sc//lHinJJKrJ91oXMCAFBTJCUlaciQIQoKCtKaNWvk5eVl3Xeh/0eL9ykuKytLQ4cOVUZGhr7//nubtaYqes7itmzZoujoaG3dulXZ2dk2+9LS0hQUFGR9XnwtrCL169e3WZvzyJEj6tWrV4l+HTp0KDeOIqmpqfrqq680YcIE/f7779b2q6++Wh9//LEOHjyo9u3b23Wu4uLi4iTJplD4V2lpaapfv771eWljOQCuQVEKgEcxm83q37+/Fi5cqLi4OF122WWyWCwKDg4u81u2sgpFf2UymezqV9og0GKxaMCAATbfchZn7yDrm2++0f33368hQ4Zo6dKlJfY3adJEBQUFSk5OtinC5eXl6fTp02ratGmJY3bv3q2bbrpJnTt31po1a0osEt+kSRNJUmJiokJDQ232JSYm2nwjCgBATZOWlqZBgwYpNTVV//3vf0v8X1v8/9G/SkxMVIMGDUrMeMrLy9Mtt9yiPXv2aN26dercubPN/qJjyjqnpFL/zy9y6NAh3XDDDerYsaPmz5+v0NBQeXt766uvvtIrr7xSYuZQ8SJbcYZhlPkajlq9erVyc3P18ssv6+WXXy6xf9WqVZo9e7bD5y3K5cUXX1R4eHipff66uDxfuAHuQ1EKgMfJz8+XJGVmZkqS2rRpo2+//VZXX311hQYZLVu2lMViUVxcnDp16mRtP3HihFJTU9WyZcsLnqNNmzbKzMxURESEw69fZNu2bRoxYoR69Oihjz76qETxSJJ1sLVjxw4NHjzY2r5jxw5ZLJYSg7FDhw4pMjJSwcHB+uqrr0oMyv56zuIFqISEBP3555966KGHKpwTAADVWU5OjoYNG6aDBw/q22+/VVhYWIk+zZo1U6NGjbRjx44S+7Zv317i/2aLxaL7779fMTEx+uijj9S3b98Sx5nNZnXp0qXUc27btk2XXnqpAgICyoz7iy++UG5urj7//HObWVAXWtKgPC1btrTOSiruwIEDdh2/atUqde7cWdHR0SX2vfHGG/rggw/KLUqV9eVhmzZtJEmBgYEXNQ4D4BqsKQXAo5w7d07r16+Xt7e3tYB0xx13qKCgQH//+99L9M/Pz1dqamq55ywq7ixYsMCmff78+ZKkIUOGXDCuO+64Q1u3btW6detK7EtNTbUW0sqyf/9+DRkyRK1atdKXX35ZZnHt+uuvV4MGDUrc0nnJkiWqU6eOTaxJSUm68cYbZTabtW7dujJnjF122WXq2LGj3nzzTRUUFNic02Qy6bbbbis3dgAAPFFBQYFGjhyprVu3avXq1erdu3eZfW+99VZ9+eWXOnbsmLUtJiZGBw8e1O23327T9//+7//04Ycf6vXXX9ctt9xS5jlvu+02/fTTTzaFqQMHDmjDhg0lzvlXRTOfis90SktL0/Lly8s9rjyDBw/Wjz/+aHM3u5MnT9q1HtSxY8e0efNm3XHHHbrttttKPMaMGaPff/9d27ZtK/Mc/v7+klRiXNe9e3e1adNGL730kvULy+JOnjxpZ4YAXIGZUgCqta+//lq//fabpMJ1mT744APFxcVp+vTpCgwMlCT17dtXDz/8sObMmaPY2FjdeOONql27tuLi4rR69WotXLiw3MJKt27dNGrUKL355ptKTU1V3759tX37dq1cuVLDhw9X//79LxjnE088oc8//1xDhw7V6NGj1b17d2VlZWnv3r1as2aNDh8+bHOr5+IyMjI0cOBAnTlzRk888USJhdXbtGljHQj7+fnp73//ux577DHdfvvtGjhwoP773//q/fff1z/+8Q81aNDAelxkZKT++OMPTZs2Td9//72+//57677GjRtrwIAB1ucvvviibrrpJt14442688479csvv2jRokV68MEHbWaPAQBQU0yZMkWff/65hg0bppSUFL3//vs2+++9917r9lNPPaXVq1erf//+evzxx5WZmakXX3xRXbp00ZgxY6z9FixYoNdff129e/dWnTp1SpxzxIgR1uLL+PHj9dZbb2nIkCGaOnWqateurfnz56tx48bWm7GU5cYbb5S3t7eGDRumhx9+WJmZmXrrrbcUHBxc6iWB9pg2bZree+89RUZG6vHHH5e/v7/efPNNtWzZUnv27Cn32A8++ECGYeimm24qdf/gwYNVq1YtrVq1qtR1q6TC8VC9evW0dOlSBQQEyN/fX7169VLr1q319ttva9CgQbrssss0ZswYNWvWTMePH9fGjRsVGBioL774okI5A3CCSr77HwBUyPLlyw1JNg9fX18jPDzcWLJkic0tf4u8+eabRvfu3Q0/Pz8jICDA6NKlizFt2jQjISHB2qe0WwwbhmGcO3fOmD17ttG6dWujdu3aRmhoqDFjxowSt3Bu2bKlMWTIkFJjzsjIMGbMmGG0bdvW8Pb2Ni655BKjT58+xksvvWTk5eWVmWt8fHyJXIs/Ro0aVWquHTp0MLy9vY02bdoYr7zySomfSXnn7Nu3b4lzfvLJJ0Z4eLjh4+NjNG/e3Hj66afLjRsAAE/Wt2/fcv8v/atffvnFuPHGG406deoY9erVM+655x4jKSnJps+oUaPKPWd8fLxN/2PHjhm33XabERgYaNStW9cYOnSoERcXZ1f8n3/+udG1a1fD19fXaNWqlTFv3jxj2bJlJV6nrLFN3759S4wX9uzZY/Tt29fw9fU1mjVrZvz973833nnnnVJjL65Lly5GixYtyo23X79+RnBwsHHu3Lkyx2ufffaZERYWZtSqVcuQZCxfvty67+effzZuueUWo2HDhoaPj4/RsmVL44477jBiYmKsfaKjow1JxsmTJ8uNBYDzmAzDiavTAQAAAAAAAHZgTSkAAAAAAAC4HUUpAAAAAAAAuB1FKQAAAAAAALgdRSkAAAAAAAC4HUUpAAAAAAAAuB1FKQAAAAAAALhdrcoOwJNYLBYlJCQoICBAJpOpssMBAAAexDAMZWRkqGnTpjKbL/57RcYtAADAVewdt1CUcqKEhASFhoZWdhgAAMCDHTt2TM2bN7/o8zBuAQAArnahcQtFKScKCAiQVPhDDwwMrORoAACAJ0lPT1doaKh1vHGxGLcAAABXsXfcQlHKiYqmvgcGBjK4AwAALuGsS+0YtwAAAFe70LiFhc4BAAAAAADgdhSlAAAAAAAA4HYUpQAAAAAAAOB2rCkFAAAAAACqhYKCAp07d66yw6jxateuLS8vr4s+D0UpAAAAAABQpRmGoaSkJKWmplZ2KPifevXqKSQk5KJuwkJRCgAAAAAAVGlFBang4GDVqVPHaXejheMMw1B2draSk5MlSU2aNKnwuShKAQAAAACAKqugoMBakGrYsGFlhwNJfn5+kqTk5GQFBwdX+FI+FjoHAAAAAABVVtEaUnXq1KnkSFBc0ftxMWt8MVMKAAAAAABUeY5especnqPkjFyHXyc4wEfBgb4OH1fTOOMSSopSAAAAAADA46zadlQLY+IcPu7xG9pp8oD2LogIf0VRCgAAAAAAeJx7erXQgLDGNm055wp029KtkqQ1j/SWb+2SayEFB/i4Jb4LWbFihSZNmuTRdxykKAUAAAAAADxOcKBvicvwMnLOr3+UmZuvy1vUl5fZdXfyGz16tFauXClJql27tlq0aKH7779fTz31lGrVKr8kM3LkSA0ePNhlsVUFFKUAAAAAAIDHW/tLoqI//9X6fPTyn9QkyFfRw8IU2bmJy143MjJSy5cvV25urr766is99thjql27tmbMmFHucX5+fta73Hkq7r4HAAAAAAA82tpfEvXo+7t0It124fOktBw9+v4urf0l0WWv7ePjo5CQELVs2VKPPvqoIiIi9Pnnn+vMmTO6//77Vb9+fdWpU0eDBg1SXNz5NbBWrFihevXqWZ/v3r1b/fv3V0BAgAIDA9W9e3ft2LFDknTkyBENGzZM9evXl7+/vy677DJ99dVX1mM3bdqknj17ysfHR02aNNH06dOVn59v3d+vXz9NnDhR06ZNU4MGDRQSEqJZs2a57GdShKIUAAAAAADwWAUWQ7O/2CejlH1FbbO/2KcCS2k9nM/Pz095eXkaPXq0duzYoc8//1xbt26VYRgaPHiwzp07V+px99xzj5o3b66ffvpJO3fu1PTp01W7dm1J0mOPPabc3Fxt3rxZe/fu1bx581S3bl1J0vHjxzV48GBdeeWV2r17t5YsWaJ33nlHzz33nM35V65cKX9/f23btk0vvPCCnn32WX3zzTcu/Vlw+R4AAAAAAPBY2+NTlJiWU+Z+Q1JiWo62x6eod5uGLovDMAzFxMRo3bp1GjRokD799FNt2bJFffr0kSStWrVKoaGh+vTTT3X77beXOP7o0aN64okn1LFjR0lSu3btbPbdeuut6tKliyTp0ksvte57/fXXFRoaqkWLFslkMqljx45KSEjQk08+qZkzZ8psLpyv1LVrV0VHR1vPvWjRIsXExGjAgAGu+YGImVIAAAAAAMCDJWeUXZCqSD9Hffnll6pbt658fX01aNAgjRw5UqNHj1atWrXUq1cva7+GDRuqQ4cO2r9/f6nniYqK0oMPPqiIiAjNnTtXhw4dsu6bOHGinnvuOV199dWKjo7Wnj17rPv279+v3r17y2Q6v6D71VdfrczMTP3555/Wtq5du9q8XpMmTZScnHzR+ZeHohQAAAAAAPBYwQG+F+7kQD9H9e/fX7GxsYqLi9PZs2e1cuVKmwKRvWbNmqVff/1VQ4YM0YYNGxQWFqZPPvlEkvTggw/qjz/+0H333ae9e/eqR48eeu211xw6f9GlgEVMJpMsFovDcTqCohQAAAAAAPBYPVs3UJMgX5VVBjJJahLkq56tG7jk9f39/dW2bVu1aNFCtWoVrqLUqVMn5efna9u2bdZ+p0+f1oEDBxQWFlbmudq3b6/Jkydr/fr1uuWWW7R8+XLrvtDQUD3yyCP697//rSlTpuitt96yvlbRmlVFtmzZooCAADVv3tzZ6TqEohQAAAAAAPBYXmaToocVFnr+Wpgqeh49LExeZsdnL1VUu3btdPPNN2vcuHH6/vvvtXv3bt17771q1qyZbr755hL9z549qwkTJui7777TkSNHtGXLFv3000/q1KmTJGnSpElat26d4uPjtWvXLm3cuNG6b/z48Tp27Jj+7//+T7/99ps+++wzRUdHKyoqyrqeVGWhKAUAAAAAADxaZOcmWnLvFQoO9LFpDwny1ZJ7r1Bk5yZuj2n58uXq3r27hg4dqt69e8swDH311VclLqOTJC8vL50+fVr333+/2rdvrzvuuEODBg3S7NmzJUkFBQV67LHH1KlTJ0VGRqp9+/Z6/fXXJUnNmjXTV199pe3bt6tbt2565JFH9MADD+jpp592a76lMRnF52/hoqSnpysoKEhpaWkKDAys7HAAAIAHcfY4g3ELAKC6yMnJUXx8vFq3bi1f34tb9ykj55y6zFovSVox5kpd266RW2dIeZLy3hd7xxm1XB0kAAAAAACAuyWn5yg5I9emLedcgXW7rk8t7U9ML3FccICPggNds+g5bFGUAgAAAAAAHmfVtqNaGBNX5v7blm4ttf3xG9pp8oD2rgoLxVCUAgAAAAAAHueeXi00IKyxw8cFB/hcuBOcgqIUAAAAAADwOMGBvlyGV8Vx9z0AAAAAAAC4HUUpAAAAAAAAuB1FKQAAAAAAALgda0oBAAAAAADPk5FU+HBUQEjhAy5HUQoAAAAAAHieHculTXMdP67vdKn/DOfHgxIoSgEAAAAAAM/TY4zUYZBtW/5ZaVlk4fbYtVItv5LHefAsqRUrVmjSpElKTU2t7FAksaYUAAAAAADwRAEhUtPwwkedhuX3rdPwfF8nFqVGjx4tk8mkuXNtZ2x9+umnMplMTnsdSWrVqpVMJpNMJpO8vLzUtGlTPfDAAzpz5oy1z8iRI3Xw4EGnvu7FoCgFAAAAAAA8V+oxaVF36c2+52dJSYXbb/YtfCzqXtjPBXx9fTVv3jyb4pCrPPvss0pMTNTRo0e1atUqbd68WRMnTrTu9/PzU3BwsMvjsBdFKQAAAAAA4LmyT0v5ueX3yc8t7OcCERERCgkJ0Zw5c8rs8/333+vaa6+Vn5+fQkNDNXHiRGVlZVn3JyYmasiQIfLz81Pr1q31wQcfqFWrVlqwYIHNeQICAhQSEqJmzZqpf//+GjVqlHbt2mXdv2LFCtWrV8/6fNasWQoPD9d7772nVq1aKSgoSHfeeacyMjKcln95KEoBAAAAAAC4iJeXl55//nm99tpr+vPPP0vsP3TokCIjI3Xrrbdqz549+vDDD/X9999rwoQJ1j7333+/EhIS9N133+njjz/Wm2++qeTk5HJf9/jx4/riiy/Uq1evcvsdOnRIn376qb788kt9+eWX2rRpU4nLDV2FohQAAAAAAIALjRgxQuHh4YqOji6xb86cObrnnns0adIktWvXTn369NGrr76qd999Vzk5Ofrtt9/07bff6q233lKvXr10xRVX6O2339bZs2dLnOvJJ59U3bp15efnp+bNm8tkMmn+/PnlxmaxWLRixQp17txZ1157re677z7FxMQ4LffyUJQCAAAAAABwsXnz5mnlypXav3+/Tfvu3bu1YsUK1a1b1/oYOHCgLBaL4uPjdeDAAdWqVUtXXHGF9Zi2bduqfv36JV7jiSeeUGxsrPbs2WMtLA0ZMkQFBQVlxtWqVSsFBARYnzdp0uSCs7CchaIUAAAAAACAi1133XUaOHCgZsyYYdOemZmphx9+WLGxsdbH7t27FRcXpzZt2jj0Gpdcconatm2rdu3a6frrr9eCBQv0ww8/aOPGjWUeU7t2bZvnJpNJFovFodetqFpueRUAAAAAAIAabu7cuQoPD1eHDh2sbVdccYX27duntm3blnpMhw4dlJ+fr59//lndu3eXJP3+++923c3Py8tLkkq91K8qYKYUAAAAAACAG3Tp0kX33HOPXn31VWvbk08+qR9++EETJkxQbGys4uLi9Nlnn1kXOu/YsaMiIiL00EMPafv27fr555/10EMPyc/PTyaTyeb8GRkZSkpKUmJiorZv364nnnhCjRo1Up8+fdyap70oSgEAAAAAAM9Vp6FUy6f8PrV8Cvu5wbPPPmtzeVzXrl21adMmHTx4UNdee60uv/xyzZw5U02bNrX2effdd9W4cWNdd911GjFihMaNG6eAgAD5+vranHvmzJlq0qSJmjZtqqFDh8rf31/r169Xw4buyc1RJsMwjMoOwlOkp6crKChIaWlpCgwMrOxwAACAB3H2OINxCwCgusjJyVF8fLxat25doghjt9RjUvZpKf+stCyysG3sWqmWX+F2nYZSvVDnBOwGf/75p0JDQ/Xtt9/qhhtuqJQYyntf7B1nsKYUAAAAAADwPBlJhQ97ZJ8ufEhSQEjhowrZsGGDMjMz1aVLFyUmJmratGlq1aqVrrvuusoO7aJQlAIAAAAAAJ5nx3Jp09yy9xfNmPqrvtOl/jNK31dJzp07p6eeekp//PGHAgIC1KdPH61atarEnfOqG4pSAAAAAADA8/QYI3UY5PhxVWyWlCQNHDhQAwcOrOwwnI6iFAAAAAAA8DxV8DI82OLuewAAAAAAAHA7ZkoBQE3kyKKPxfFtEwAAACqJxWKp7BBQjDPeD4pSAFATXWjRx7JUwUUfAQAA4Nm8vb1lNpuVkJCgRo0aydvbWyaTqbLDqrEMw1BeXp5Onjwps9ksb2/vCp+LohQA1ESlLfqYf/b8HUjGrpVq+ZU8jllSAAAAcDOz2azWrVsrMTFRCQkJlR0O/qdOnTpq0aKFzOaKrwxFUQoAaqLSLsPLyzq/HdJV8vZ3b0wAAABAGby9vdWiRQvl5+eroKCgssOp8by8vFSrVq2LnrFGUQoAAAAAAFR5JpNJtWvXVu3atSs7FDgJd98DAAAAAACA21GUAgAAAAAAgNtRlAIAAAAAAIDbUZQCAAAAAACA21GUAgAAAAAAgNtRlAIAAAAAAIDbUZQCAAAAAACA21GU+osvv/xSHTp0ULt27fT2229XdjgAAAAAAAAeqVZlB1CV5OfnKyoqShs3blRQUJC6d++uESNGqGHDhpUdGgAAAAAAgEdhplQx27dv12WXXaZmzZqpbt26GjRokNavX1/ZYQEAAAAAAHgcjypKbd68WcOGDVPTpk1lMpn06aefluizePFitWrVSr6+vurVq5e2b99u3ZeQkKBmzZpZnzdr1kzHjx93R+gAAAAAAAA1ikcVpbKystStWzctXry41P0ffvihoqKiFB0drV27dqlbt24aOHCgkpOT3RwpAAAAAABAzeZRRalBgwbpueee04gRI0rdP3/+fI0bN05jxoxRWFiYli5dqjp16mjZsmWSpKZNm9rMjDp+/LiaNm1a5uvl5uYqPT3d5iFJFovF+qc924ZhlLtdUFBQ7rZhGCW2JZW7XfT6ZW3bGzs5kRM5eV5ORef3pJw88X0ip5qbU0UxbiEnciInciInciInd+d0IR5VlCpPXl6edu7cqYiICGub2WxWRESEtm7dKknq2bOnfvnlFx0/flyZmZn6+uuvNXDgwDLPOWfOHAUFBVkfoaGhkmSdeXXq1CmdOnVKknTixAmlpKRIkhITE5WamiqpsPCVlpYmSTp27JgyMjIkSYcPH1ZWVpYkKT4+Xjk5OZKkQ4cOKS8vT5IUFxen/Px8WSwWxcXFyWKxKD8/X3FxcdacDx06JEnKyclRfHy8pMIZZYcPH5YkZWRk6NixY5KktLQ0a1EuNTVViYmJkqSUlBSdOHGCnMiJnDw8p8NHjqjIkSNHPSInT3yfyKnm5nTmzBldDMYt5ERO5ERO5ERO5OSunOwdt5iMolKahzGZTPrkk080fPhwSefXi/rhhx/Uu3dva79p06Zp06ZN2rZtmyTp888/19SpU2WxWDRt2jQ99NBDZb5Gbm6ucnNzrc/T09MVGhqqM2fOqF69etbKoNlsLnfbZDLJZDKVuV1QUCCz2VzmtlRYiSy+7eXlZa1mlrZtGIbMZnOZ2/bGTk7kRE4elFNOhrzmFf6Sapn+p8y+AdU/J098n8ipxuaUnp6u+vXrKy0tTYGBgXIU4xZyIidyIidyIidyqmrjFopSfylKXYz09HQFBQVVeLAIAJUqL0t6/n+XLD+VIHn7V248AGw4e5zBuAUAALiKveOMGnP53iWXXCIvLy/r1LIiJ06cUEhISCVFBQAAAAAAUDPVmKKUt7e3unfvrpiYGGubxWJRTEyMzcwpAAAAAAAAuF6tyg7AmTIzM/X7779bn8fHxys2NlYNGjRQixYtFBUVpVGjRqlHjx7q2bOnFixYoKysLI0ZM6YSowYAAAAAAKh5PKootWPHDvXv39/6PCoqSpI0atQorVixQiNHjtTJkyc1c+ZMJSUlKTw8XGvXrlXjxo0rK2QAAAAAAIAayaOKUv369dOF1m2fMGGCJkyY4KaIAAAAAAAAUJoas6YUAAAAAAAAqg6KUgAAAAAAAHA7ilIAAAAAAABwO4pSAAAAAAAAcDuKUgAAAAAAAHA7ilIAAAAAAABwO4pSAAAAAAAAcDuKUgAAAAAAAHA7ilIAAAAAAABwO4pSAAAAAAAAcDuKUgAAAAAAAHA7ilIAAAAAAABwO4pSAAAAAAAAcDuKUgAAAAAAAHA7ilIAAAAAAABwO4pSAAAAAAAAcDuKUgAAAAAAAHA7ilIAAAAAAABwO4pSAAAAAAAAcDuKUgAAAAAAAHA7ilIAAAAAAABwO4pSAAAAAAAAcDuKUgAAAAAAAHA7ilIAAAAAAABwO4pSAAAAAAAAcDuKUgAAAAAAAHA7ilIAAAAAAABwO4pSAAAAAAAAcDuKUgAAAAAAAHA7ilIAAAAAAABwO4pSAAAAAAAAcDuKUgAAAAAAAHA7ilIAAAAAAABwO4pSAAAAAAAAcDuKUgAAAAAAAHA7ilIAAAAAAABwO4pSAAAAAAAAcDuKUgAAAAAAAHA7ilIAAAAAAABwO4pSAAAAAAAAcLsKFaXee+89XX311WratKmOHDkiSVqwYIE+++wzpwYHAAAAAAAAz+RwUWrJkiWKiorS4MGDlZqaqoKCAklSvXr1tGDBAmfHBwAAAAAAAA/kcFHqtdde01tvvaW//e1v8vLysrb36NFDe/fudWpwAAAAAAAA8EwOF6Xi4+N1+eWXl2j38fFRVlaWU4ICAAAAAACAZ3O4KNW6dWvFxsaWaF+7dq06derkjJgAAAAAAADg4Wo5ekBUVJQee+wx5eTkyDAMbd++Xf/85z81Z84cvf32266IEQAAAAAAAB7G4aLUgw8+KD8/Pz399NPKzs7W3XffraZNm2rhwoW68847XREjAAAAAAAAPIzDRSlJuueee3TPPfcoOztbmZmZCg4OdnZcAAAAAAAA8GAVKkoVqVOnjurUqeOsWAAAAAAAAFBD2FWUuvzyy2Uymew64a5duy4qIAAAAAAAAHg+u4pSw4cPd3EYAAAAAAAAqEnsKkpFR0e7Og4AAAAAAADUIObKDgAAAAAAAAA1j8MLnRcUFOiVV17RRx99pKNHjyovL89mf0pKitOCAwAAAAAAgGdyeKbU7NmzNX/+fI0cOVJpaWmKiorSLbfcIrPZrFmzZrkgRAAAAAAAAHgah2dKrVq1Sm+99ZaGDBmiWbNm6a677lKbNm3UtWtX/fjjj5o4caIr4gQAAAAAALBKTs9Rckauw8cFB/goONDXBRHBUQ4XpZKSktSlSxdJUt26dZWWliZJGjp0qJ555hnnRgcAAAAAAFCKVduOamFMnMPHPX5DO00e0N4FEcFRDhelmjdvrsTERLVo0UJt2rTR+vXrdcUVV+inn36Sj4+PK2IEAAAAAACwcU+vFhoQ1timLedcgW5bulWStOaR3vKt7VXiuOAAahdVhcNFqREjRigmJka9evXS//3f/+nee+/VO++8o6NHj2ry5MmuiBEAAAAAAMBGcKBvicvwsvPyrdthTQNVx9vhsgfcyOF3Z+7cudbtkSNHqmXLlvrhhx/Url07DRs2zKnBAQAAAAAAwDNddMnwqquu0lVXXeWMWAAAAAAAAFBDmB09YM6cOVq2bFmJ9mXLlmnevHlOCQoAAAAAAACezeGi1BtvvKGOHTuWaL/sssu0dOlSpwQFAAAAAADgqAKLYd3eHp9i8xxVj8NFqaSkJDVp0qREe6NGjZSYmOiUoAAAAAAAAByx9pdERczfZH0+evlPumbeBq39hVpFVeVwUSo0NFRbtmwp0b5lyxY1bdrUKUEBAAAAAADYa+0viXr0/V06kZ5r056UlqNH399FYaqKcnih83HjxmnSpEk6d+6crr/+eklSTEyMpk2bpilTpjg9QAAAAAAAgLIUWAzN/mKfSrtQz5BkkjT7i30aEBYiL7PJzdGhPA4XpZ544gmdPn1a48ePV15eniTJ19dXTz75pGbMmOH0AAEAAAAAAMqyPT5FiWk5Ze43JCWm5Wh7fIp6t2novsBwQQ4XpUwmk+bNm6dnnnlG+/fvl5+fn9q1aycfHx9XxAcAAAAAAFCm5IyyC1IV6Qf3cXhNqSJ169bVlVdeqRYtWujrr7/W/v37nRkXAAAAAADABQUH+Dq1H9zH4aLUHXfcoUWLFkmSzp49qx49euiOO+5Q165d9fHHHzs9QAAAAAAAgLL0bN1ATYJ8VdZqUSZJTYJ81bN1A3eGBTs4XJTavHmzrr32WknSJ598IsMwlJqaqldffVXPPfec0wMEAAAAAAAoi5fZpOhhYZJUojBV9Dx6WBiLnFdBDhel0tLS1KBBYXVx7dq1uvXWW1WnTh0NGTJEcXFxTg8QAAAAAACgPJGdm2jJvVcoONB2veuQIF8tufcKRXZuUkmRoTwOL3QeGhqqrVu3qkGDBlq7dq3+9a9/SZLOnDkjX1+uzwQAAAAAeyWn5yg5I9fh44IDfBQcyO9fQHGRnZvo6raXqMus9ZKkFWOu1LXtGjFDqgpzuCg1adIk3XPPPapbt65atmypfv36SSq8rK9Lly7Ojg8AAAAAPNaqbUe1MMbxK04ev6GdJg9o74KIgOqteAGqZ+sGFKSqOIeLUuPHj1evXr109OhRDRgwQGZz4RWAl156KWtKAQAAAIAD7unVQgPCGtu05Zwr0G1Lt0qS1jzSW761vUocFxzgU6INAKobh4tSktS9e3d1797dpm3IkCFOCQgAAAAAaorgQN8Sl+Fl5+Vbt8OaBqqOd4V+bQOAKo9/3QB4HNZmAAAAAICqj6IUAI/D2gwAAACA5yvty+iccwXW7X0J6WVe/sqX0VUDRSkAHoe1GQAAAADPd6Evo4vG/3/Fl9FVB0UpAB6HtRkAAAAAz1fal9H24MvoqsPh38r27NlTarvJZJKvr69atGghHx/eYAAAAAAA4DqlfRmN6sXholR4eLhMJlOZ+2vXrq2RI0fqjTfekK8vfzkAAAAAAABQktnRAz755BO1a9dOb775pmJjYxUbG6s333xTHTp00AcffKB33nlHGzZs0NNPP+2KeAEAAAAAAOABHJ4p9Y9//EMLFy7UwIEDrW1dunRR8+bN9cwzz2j79u3y9/fXlClT9NJLLzk1WAAAAAAAAHgGh2dK7d27Vy1btizR3rJlS+3du1dS4SV+iYmJFx8dAAAAAAAAPJLDM6U6duyouXPn6s0335S3t7ck6dy5c5o7d646duwoSTp+/LgaN3Z8BXwAAFC5ktNzlJyR6/BxwQE+LDQKAAAAhzhclFq8eLFuuukmNW/eXF27dpVUOHuqoKBAX375pSTpjz/+0Pjx450bKQAAcLlV245qYUycw8c9fkM7TR7Q3gURAQAAwFM5XJTq06eP4uPjtWrVKh08eFCSdPvtt+vuu+9WQECAJOm+++5zbpQAAMAt7unVQgPCbGc755wr0G1Lt0qS1jzSW761vUocFxzg45b4AAAA4DkcLkpJUkBAgB555BFnxwIAACpZcKBvicvwsvPyrdthTQNVx7tCwwcAAADARoVGlYcOHdKCBQu0f/9+SdJll12miRMnqk2bNk4NDgAAAAAAAJ7J4bvvrVu3TmFhYdq+fbu6du2qrl276scff9Rll12mb775xhUxAgAAAAAAwMM4PFNq+vTpmjx5subOnVui/cknn9SAAQOcFhwAAAAAAAA8k8Mzpfbv368HHnigRPvYsWO1b98+pwQFAAAAAAAAz+ZwUapRo0aKjY0t0R4bG6vg4GBnxAQAAAAAAAAP5/Dle+PGjdNDDz2kP/74Q3369JEkbdmyRfPmzVNUVJTTAwQAAAAAAIDncbgo9cwzzyggIEAvv/yyZsyYIUlq2rSpZs2apYkTJzo9QAAAAACoSQoshnV7e3yKrm3XSF5mUyVGBACu4XBRymQyafLkyZo8ebIyMjIkSQEBAU4PDAAAAABqmrW/JCr681+tz0cv/0lNgnwVPSxMkZ2bVGJkAOB8Dq8pVVxAQAAFKQAAAABwgrW/JOrR93fpRHquTXtSWo4efX+X1v6SWEmRAYBr2DVT6vLLL5fJZN900V27dl1UQAAAoGrhMhIAcL0Ci6HZX+yTUco+Q5JJ0uwv9mlAWAj/BgPwGHYVpYYPH+7iMAAAQFXEZSS4kOT0HCVn5F64418EB/goONDXBREB1dP2+BQlpuWUud+QlJiWo+3xKerdpqH7AgMAF7KrKBUdHe3qOAAAQBVTdBnJX7+1L7qMZMm9V1CYglZtO6qFMXEOH/f4De00eUB7F0QEVE/JGWUXpCrSDwCqA4cXOi8uMzNTFovFpi0wMPCiAgIAAJWPy0hgr3t6tdCAsMY2bTnnCnTb0q2SpDWP9JZvba8SxwUH+LglPqC6CA6wb+agvf0AoDpwuCgVHx+vCRMm6LvvvlNOzvkqvWEYMplMKigocGqAAADA/biMBPYKDvQtcRledl6+dTusaaDqeF/U96BAjdCzdQM1CfJVUlpOqV8ImCSFBPmqZ+sG7g4NAFzG4RHCvffeK8MwtGzZMjVu3NjuBdCrixEjRui7777TDTfcoDVr1lRaHKzPAACoTFxGAgDu5WU2KXpYmB59f5dMkk1hqug3ruhhYcxOBeBRHC5K7d69Wzt37lSHDh1cEU+le/zxxzV27FitXLmyUuNgfQYAQGXiMhIAcL/Izk205N4rFP35rzqRfv4L6hBuMAHAQzlclLryyit17Ngxjy1K9evXT999911lh8H6DACASsVlJABQOSI7N9HVbS9Rl1nrJUkrxlypa9s1YoYUAI/kcFHq7bff1iOPPKLjx4+rc+fOql27ts3+rl27Oi24v9q8ebNefPFF7dy5U4mJifrkk080fPhwmz6LFy/Wiy++qKSkJHXr1k2vvfaaevbs6bKYXIX1GQAAlYnLSACg8hT/t7Vn6wb8WwvAYzlc1Th58qQOHTqkMWPGWNtMJpNbFjrPyspSt27dNHbsWN1yyy0l9n/44YeKiorS0qVL1atXLy1YsEADBw7UgQMHFBwcLEkKDw9Xfn5+iWPXr1+vpk2buix2AACqGy4jAQAAgCs5XJQaO3asLr/8cv3zn/90+0LngwYN0qBBg8rcP3/+fI0bN85aMFu6dKn+85//aNmyZZo+fbokKTY21mnx5ObmKjf3/CA9PT1dkmSxWGz+NJvN5W6bTCaZTKYytwsKCmQ2m0u8fvF2i8Vis+3l5SXDMMrcNgxDZrO5zG17Y7/YnMraJidycnZOhnF+nkfRdnXPyenvU0GBii4KtlgsMv/vZ1Wtc/LE98nNOUV2bqLelzZQt2e/lSQtG9Vd17UPVi0vc7XNqbq+T0XPK8qd45by/s3l7wU5kRPjFk95n8iJnMjp4sctJSsdF3DkyBHNmzdPvXr1UqtWrdSyZUubR2XJy8vTzp07FRERYW0zm82KiIjQ1q1bXfKac+bMUVBQkPURGhoqSUpOTpYknTp1SqdOnZIknThxQikpKZKkxMREpaamSpKOHz+utLQ0SdKxY8eUkZEhSTp8+LCysrIkSfHx8crJKXl3o7i4OOXn58tisSguLk4Wi0X5+fmKiytcID0vL0+HDh2SJOXk5Cg+Pl5S4Yyzw4cPS5IyMjJ07NgxSVJaWpqOHz8uSUpNTVViYqIkKSUlRSdOnHBZTocOHVJeXh45kZOLc8pWkZycXA/Jybnv0+EjR6w/oyNHjnpETp74PlVGTokJCSrS2JypnLPZ1T6n6vg+nTlzRhfDveOW88WvvLxzVeZn6Il/L8jJU3Ni3EJO5ERO1Tsne8ctJqN4Gd4Ow4YN0+jRo3Xrrbc6cpjTmUwmmzWlEhIS1KxZM/3www/q3bu3td+0adO0adMmbdu2za7zRkREaPfu3crKylKDBg20evVqm/MVV9o3jqGhoTpz5ozq1avn9Orn2XMFCpu5TpK079mB8vEyVXr182JzqooVXXLyzJzOnivQZdGFC4b+OvtG+fvUrvY5Of19ysmQ17zCX1It0/+U2Teg+ufkie9TJeSUmZOnzrO+kST9MmuA/H1qV/ucquP7lJ6ervr16ystLU2BgYFylDvHLVl5Beo6u/DvzPLRPXRd+2DJsFT6z9AT/16Qk2fmxLiFnMiJnKp7TvaOWxy+fG/YsGGaPHmy9u7dqy5dupRY6Pymm25y9JRVyrfffmt3Xx8fH/n4lLzbXdEbXvTnxW57eZW8y95f20vbNplMZW6bTKZyt50Vuz05ObJNTuRU0W2T6fz00aLXqu452Ru7ozkVP7+n5OSJ71Plfp4c/wxV9Zwqkoe7cyr+vCLcNW75Zn+yoj//1fp8zIodavKXdcj4e0FO5MS4hZzIiZw8Oyd7xy0OF6UeeeQRSdKzzz5bYp/J5NqFzstzySWXyMvLyzp1rMiJEycUEhJSKTEBAADUJGt/SdSj7+/SX6fhJ6Xl6NH3d2nJvVewQD4AALBy+Cs3i8VS5qOyClKS5O3tre7duysmJsYm1piYmDIvvwMAAIBzFFgMzf5iX4mClCRr2+wv9qnA4tDKEQAAwIM5XJT6448/XBGHXTIzMxUbG2u9g158fLxiY2N19OhRSVJUVJTeeustrVy5Uvv379ejjz6qrKws6934AAAA4Brb41OUmFbyxixFDEmJaTnaHp/ivqAAAECV5vDle23btlXfvn31wAMP6LbbbpOvr68r4irVjh071L9/f+vzqKgoSdKoUaO0YsUKjRw5UidPntTMmTOVlJSk8PBwrV27Vo0bN3ZbjAAAADVRckbZBamK9AMAAJ7P4ZlSu3btUteuXRUVFaWQkBA9/PDD2r59uytiK6Ffv37WVd+LP1asWGHtM2HCBB05ckS5ubnatm2bevXq5ZbYAAAAarLgAPu+qLS3HwAA8HwOF6XCw8O1cOFCJSQkaNmyZUpMTNQ111yjzp07a/78+Tp58qQr4gQAAEAV1rN1AzUJ8pWpjP0mSU2CfNWzdQN3hgUAAKqwCt9buFatWrrlllu0evVqzZs3T7///rumTp2q0NBQ3X///UpMTHRmnAAAAKjCvMwmRQ8Lk6QShami59HDwuRlLqtsBQAAahqH15QqsmPHDi1btkz/+te/5O/vr6lTp+qBBx7Qn3/+qdmzZ+vmm29222V9AADAOZLTc5SckWvTlnPu/N119yWky7e2V4njggN8FBzIZVk1XWTnJlpy7xWK/vxXnUg///coJMhX0cPCFNm5SSVGBwAAqhqHi1Lz58/X8uXLdeDAAQ0ePFjvvvuuBg8eLLO5cNJV69attWLFCrVq1crZsQIAABdbte2oFsbElbn/tqVbS21//IZ2mjygvavCQjUS2bmJrm57ibrMWi9JWjHmSl3brhEzpAAAQAkOF6WWLFmisWPHavTo0WrSpPRvu4KDg/XOO+9cdHAAAMC97unVQgPCHL9rbXCAjwuiQXVVvADVs3UDClIAAKBUDhel4uLK/va0iLe3t0aNGlWhgADAFQoshnV7e3wK39oDZQgO9OUyPAAAALiFwwudr127Vt9//731+eLFixUeHq67775bZ86ccWpwsPXXX6qLPwdQtrW/JCpi/ibr89HLf9I18zZo7S/ckAEAAAAAKovDRaknnnhC6enpkqS9e/dqypQpGjx4sOLj4xUVFeX0AFGIX6qBiln7S6IefX+XzYK7kpSUlqNH39/FZwgAAAAAKonDRan4+HiFhRXe7vfjjz/W0KFD9fzzz2vx4sX6+uuvnR4g+KUaqKgCi6HZX+xTaXMKi9pmf7GPWYcAAAAAUAkcXlPK29tb2dnZkqRvv/1W999/vySpQYMG1hlUcJ4L/VJtUuEv1QPCQlgfB/iL7fEpSkzLKXO/ISkxLUfb41PUu01D9wUGAADwP8npOUrOsP3yOedcgXV7X0K6fGt7lTguOMCHNQABVHsOF6WuueYaRUVF6eqrr9b27dv14YcfSpIOHjyo5s2bOz1Ad1u8eLFefPFFJSUlqVu3bnrttdfUs2fPSouHX6qBikvOKPuzU5F+AAAAzrZq21EtjCn7ZlK3Ld1aavvjN7TT5AHtXRUWALiFw0WpRYsWafz48VqzZo2WLFmiZs2aSZK+/vprRUZGOj1Ad/rwww8VFRWlpUuXqlevXlqwYIEGDhyoAwcOKDg4uFJi4pdqoOKCA+z79tDefgAAAM52T68WGhDW2OHjggN8XBANALiXw0WpFi1a6MsvvyzR/sorrzgloMo0f/58jRs3TmPGjJEkLV26VP/5z3+0bNkyTZ8+vVJi4pdqoOJ6tm6gJkG+SkrLKfUSWJOkkCBf9WzdwN2hAQAASJKCA325DA9AjeXwQueeKi8vTzt37lRERIS1zWw2KyIiQlu3lj5lNjc3V+np6TYPSbJYLNY/7dk2DKPM7Z6tGygk0EdlrRZlktQkyFfdWwTJMAwZhqGCgsJr0MvbLnr9srbtjb0iOUlSQUFBudtF8ZITOV1MTmaTFD2s8MYMf/0MFT2fOTRMXmZTtcnJHe9T0fk9KSdPfJ/IqebmVFGuGrckp+doz7Ez2vtnqn45nqbdR1P06/E06+v+ejzN2r73z1Tt/TNVu4+m6ETaWf5ekBM5kRM5kRM5eXhOF0JR6n9OnTqlgoICNW5sO3W2cePGSkpKKvWYOXPmKCgoyPoIDQ2VJCUnJ1vPeerUKUnSiRMnlJKSIklKTExUamqqJOn48eNKSyscuB07dkwZGRmSpMOHDysrK0teZpMevrJwraiyClPPDOmoPw79LovFovz8fMXFFV6TnpeXp0OHDkmScnJyFB8fL0nKysrS4cOHJUkZGRk6duyYJCktLU3Hjx+XJKWmpioxsfCufikpKTpx4oTTcpIK7+KYk1N4yeGhQ4eUl5cnSYqLi1N+fr4sFovi4uLIiZwuOqfIzk0UPaCZGgV4q7iQIF89c30TXd++QbXLyVXv0+EjR6w/nyNHjnpETp74PpFTzc3pzJkzuhiuGres2nZUNy3+QcMWbdHQ177Xza9v1e1v/Gh93dvf+NHaPmzRFg1btEU3v75Vq7Yd4e8FOZETOZETOZGTh+Zk77jFZBSV0mq4hIQENWvWTD/88IN69+5tbZ82bZo2bdqkbdu2lTgmNzdXubnn75SRnp6u0NBQnTlzRvXq1bNWBs1mc7nbJpNJJpOpzO2CggKt35esWV/8qhPp51+vSZCvZg4NU2TnEFksFpnNhTVGi8UiLy8vazWztG3DMGQ2m8vctjf2i8nJbDaXuV2UBzmRk7NyyszNV9fZ30iSlo/uoevaB0uGpVrn5PT3KSdDXvMKf0m1TP9TZt+A6p+TJ75P5FRjc0pPT1f9+vWVlpamwMBAOcpV45aTGblKSjvr8M8wJMhPwYG+/L0gJ3IiJ3IiJ3LywJzsHbdQlPqfvLw81alTR2vWrNHw4cOt7aNGjVJqaqo+++yzC54jPT1dQUFBFR4sXkhGzjl1mbVekrRizJW6tl0jeZnLmj8FoLjsvHyFzVwnSdr37EDV8XZ4ST3Pl5clPd+0cPupBMnbv3LjAWDD2eMMV49bAABAzWXvOOOiLt/75z//aZ02Vt15e3ure/fuiomJsbZZLBbFxMTYzJyqTMULUD1bN6AgBQAAAAAAqq2LKko9/PDD1usHPUFUVJTeeustrVy5Uvv379ejjz6qrKws6934AAAAAAAA4BwXdf2Kp135N3LkSJ08eVIzZ85UUlKSwsPDtXbt2hKLnwMAAAAAAODisKjKX0yYMEETJkyo7DAAAAAAAAA82kVdvgcAAAAAAABUBEUpAAAAAAAAuB1FKQAAAAAAALgdRSkAAAAAAAC4HUUpAAAAAAAAuB1FKQAAAAAAALgdRSkAAAAAAAC43UUVpUwmk7PiAAAAAAAAQA1yUUUpwzCcFQcAAAAAAABqkIsqSu3bt08tW7Z0VixVxogRI1S/fn3ddtttlR0KAAAAAACAR7qoolRoaKi8vLycFUuV8fjjj+vdd9+t7DAAAAAAAAA8Fgudl6Jfv34KCAio7DAAAAAAAAA8VrUqSm3evFnDhg1T06ZNZTKZ9Omnn5bab/HixWrVqpV8fX3Vq1cvbd++3b2BAgAAAAAAoFzVqiiVlZWlbt26afHixWX2+fDDDxUVFaXo6Gjt2rVL3bp108CBA5WcnGztEx4ers6dO5d4JCQkuCMNAAAAAACAGq9WZQfgiEGDBmnQoEHl9pk/f77GjRunMWPGSJKWLl2q//znP1q2bJmmT58uSYqNjXVKPLm5ucrNzbU+T09PlyRZLBabP81mc7nbJpNJJpPJZjspNVsnM/NkMplUUFAgs9ms3HyL9bX2JaSrtrnwHEWvZTabFRzgo0vqesvLy0uGYchisZS6bRiGzGZzmdv2xu5ITsW3i3Iqa7t4TkXb5EROF5NT8buFFm1X95yc/j4VFKholUCLxSLz/35W1TonT3yfyKnG5lT0vKJcOW6pLj9DciInciInciIncqpa4xaHZkpZLBZt3LhRzz77rB544AHdddddmjhxopYvX65jx445ciqXyMvL086dOxUREWFtM5vNioiI0NatW53+enPmzFFQUJD1ERoaKknWWVmnTp3SqVOnJEknTpxQSkqKJCkxMVGpqamSpOPHjystLU2SdOzYMWVkZEiSXl+/V8MWbdHQ177Xza9v1bBFW3Tb0vM53LZ0q7V92KIt1u33fzysuLg468/j0KFDkqScnBzFx8dLKpxxdvjwYUlSRkaG9b1LS0vT8ePHJUmpqalKTEyUJKWkpOjEiRMXndPhw4eVlZUlSYqPj1dOTo4k6dChQ8rLy5MkxcXFKT8/XxaLRXFxcbJYLMrPzycncnJCTtkqkpOT6yE5Ofd9OnzkiPVndOTIUY/IyRPfJ3KquTmdOXNGF8OV45bq8jMkJ3IiJ3IiJ3Iip6o1bjEZRVMGynH27Fm9/PLLWrJkiVJSUhQeHq6mTZvKz89PKSkp+uWXX5SQkKAbb7xRM2fO1FVXXWXXi18Mk8mkTz75RMOHD7e2JSQkqFmzZvrhhx/Uu3dva/u0adO0adMmbdu2za5zR0REaPfu3crKylKDBg20evVqm/MVKe0bx9DQUJ05c0b16tW7qOpnaTOl7Kl+MlOKnMip9JzOnivQZdHrJUm/zr5R/j61q31OTn+fcjLkNa/wl1TL9D9l9g2o/jl54vtETjU2p/T0dNWvX19paWkKDAyUo1w5bqkuP0NyIidyIidyIidyqlrjFrsu32vfvr169+6tt956SwMGDFDt2rVL9Dly5Ig++OAD3Xnnnfrb3/6mcePG2XNqTZ8+XfPmzSu3z/79+9WxY0e7zucM3377rV39fHx85OPjU6K96A0v+rMi2yH16iikXh37gy6FyWSSl5dXqdsmk6nc7YuJ3Z7tolgc3SYncqrotsl0fvpo0WtV95zsjd3RnIqf31Ny8sT3iZxqXk7Fn1eEK8ct1eVnSE7kRE7kRE7kRE5Va9xiV1Fq/fr16tSpU7l9WrZsqRkzZmjq1Kk6evSoXS8uSVOmTNHo0aPL7XPppZfada5LLrlEXl5e1uljRU6cOKGQkBC7YwIAAAAAAIBr2VWUulBBqrjatWurTZs2dvdv1KiRGjVqZHf/8nh7e6t79+6KiYmxXtZnsVgUExOjCRMmOOU1AAAAAAAAcPEcnge+du1aff/999bnixcvVnh4uO6+++6LXoDzQjIzMxUbG2u9e158fLxiY2NtZmZFRUXprbfe0sqVK7V//349+uijysrKst6NDwAAAAAAAJXP4aLUE088Yb2F8N69ezVlyhQNHjxY8fHxioqKcnqAxe3YsUOXX365Lr/8ckmFBajLL79cM2fOtPYZOXKkXnrpJc2cOVPh4eGKjY3V2rVr1bhxY5fGBgAAAAAAAPvZdflecfHx8QoLC5Mkffzxxxo6dKief/557dq1S4MHD3Z6gMX169dPhnHBmwVqwoQJXK4HAAAAAABQhTk8U8rb21vZ2dmSCu9Sd+ONN0qSGjRoYJ1BBQAAAAAAAJTH4ZlS11xzjaKionT11Vdr+/bt+vDDDyVJBw8eVPPmzZ0eIAAAAAAAADyPwzOlFi1apFq1amnNmjVasmSJmjVrJkn6+uuvFRkZ6fQAAQAAAAAA4HkcninVokULffnllyXaX3nlFacEBAAAAAAAAM/n8Eypvn376t1339XZs2ddEQ8AAAAAAABqAIeLUpdffrmmTp2qkJAQjRs3Tj/++KMr4gIAAAAAAIAHc7gotWDBAiUkJGj58uVKTk7Wddddp7CwML300ks6ceKEK2IEAAAAAACAh3G4KCVJtWrV0i233KLPPvtMf/75p+6++24988wzCg0N1fDhw7VhwwZnxwkAAAAAAAAPUqGiVJHt27crOjpaL7/8soKDgzVjxgxdcsklGjp0qKZOneqsGAEAAAAAAOBhHL77XnJyst577z0tX75ccXFxGjZsmP75z39q4MCBMplMkqTRo0crMjJSL730ktMDBgAAAAAAQPXncFGqefPmatOmjcaOHavRo0erUaNGJfp07dpVV155pVMCBAAAAAAAgOdxuCgVExOja6+9ttw+gYGB2rhxY4WDAgAAAAAAgGdzeE2pCxWkAAAAAAAAgAtxeKaUJK1Zs0YfffSRjh49qry8PJt9u3btckpgAAAAAAAA8FwOF6VeffVV/e1vf9Po0aP12WefacyYMTp06JB++uknPfbYY66IEQAckpyeo+SMXJu2nHMF1u19Cenyre1V4rjgAB8FB/q6PD4AAAAAQAWKUq+//rrefPNN3XXXXVqxYoWmTZumSy+9VDNnzlRKSoorYgQAh6zadlQLY+LK3H/b0q2ltj9+QztNHtDeVWEBAAAAAIpxuCh19OhR9enTR5Lk5+enjIwMSdJ9992nq666SosWLXJuhADgoHt6tdCAsMYOHxcc4OOCaAAAAAAApXG4KBUSEqKUlBS1bNlSLVq00I8//qhu3bopPj5ehmG4IkYAcEhwoC+X4QEAAABAFefw3feuv/56ff7555KkMWPGaPLkyRowYIBGjhypESNGOD1AAAAAAAAAeB6HZ0q9+eabslgskqTHHntMDRs21A8//KCbbrpJDz/8sNMDBAAAAAAAgOdxuChlNptlNp+fYHXnnXfqzjvvdGpQAAAAAAAA8Gx2FaX27Nlj9wm7du1a4WAAAAAAAABQM9hVlAoPD5fJZJJhGDKZTOX2LSgocEpgAAAAAAAA8Fx2LXQeHx+vP/74Q/Hx8fr444/VunVrvf766/r555/1888/6/XXX1ebNm308ccfuzpeAAAAAAAAeAC7Zkq1bNnSun377bfr1Vdf1eDBg61tXbt2VWhoqJ555hkNHz7c6UECAAAAAADAs9g1U6q4vXv3qnXr1iXaW7durX379jklKAAAAAAAAHg2h4tSnTp10pw5c5SXl2dty8vL05w5c9SpUyenBgcAAAAAAADPZNfle8UtXbpUw4YNU/Pmza132tuzZ49MJpO++OILpwcIAAAAAAAAz+NwUapnz576448/tGrVKv3222+SpJEjR+ruu++Wv7+/0wMEAAAAAACA53G4KCVJ/v7+euihh5wdCwAAAAAAAGoIu9aU+vHHH+0+YXZ2tn799dcKBwQAAAAAAADPZ1dR6r777tPAgQO1evVqZWVlldpn3759euqpp9SmTRvt3LnTqUECAAAAAADAs9h1+d6+ffu0ZMkSPf3007r77rvVvn17NW3aVL6+vjpz5ox+++03ZWZmasSIEVq/fr26dOni6rgBAAAAAABQjdlVlKpdu7YmTpyoiRMnaseOHfr+++915MgRnT17Vt26ddPkyZPVv39/NWjQwNXxAgAAAAAAwAM4vNB5jx491KNHD1fEAgAAAAAAgBrCrjWlAAAAAAAAAGeiKAUAAAAAAAC3oygFAAAAAAAAt6MoBQAAAAAAALdzuCj1xx9/uCIOAAAAAAAA1CAOF6Xatm2r/v376/3331dOTo4rYgIAAAAAAICHc7gotWvXLnXt2lVRUVEKCQnRww8/rO3bt7siNgAAAAAAAHgoh4tS4eHhWrhwoRISErRs2TIlJibqmmuuUefOnTV//nydPHnSFXECAAAAAADAg1R4ofNatWrplltu0erVqzVv3jz9/vvvmjp1qkJDQ3X//fcrMTHRmXECAAAAAADAg1S4KLVjxw6NHz9eTZo00fz58zV16lQdOnRI33zzjRISEnTzzTc7M04AAAAAAAB4kFqOHjB//nwtX75cBw4c0ODBg/Xuu+9q8ODBMpsL61utW7fWihUr1KpVK2fHCgAAAAAAAA/hcFFqyZIlGjt2rEaPHq0mTZqU2ic4OFjvvPPORQcHAAAAAAAAz+RwUSouLu6Cfby9vTVq1KgKBQQAAAAAAADP53BRqkh2draOHj2qvLw8m/auXbtedFAAAAAAAADwbA4XpU6ePKnRo0dr7dq1pe4vKCi46KAAAAAAAADg2Ry++96kSZOUlpambdu2yc/PT2vXrtXKlSvVrl07ff75566IEQAAAAAAAB7G4ZlSGzZs0GeffaYePXrIbDarZcuWGjBggAIDAzVnzhwNGTLEFXECAAAAAADAgzg8UyorK0vBwcGSpPr16+vkyZOSpC5dumjXrl3OjQ4AAAAAAAAeyeGiVIcOHXTgwAFJUrdu3fTGG2/o+PHjWrp0qZo0aeL0AAEAAAAAAOB5HL587/HHH1diYqIkKTo6WpGRkVq1apW8vb21YsUKZ8cHAAAAAAAAD+RwUeree++1bnfv3l1HjhzRb7/9phYtWuiSSy5xanAAAAAAAADwTA4Xpf6qTp06uuKKK5wRCwAAAAAA52UkFT4cFRBS+ABQpdlVlIqKirL7hPPnz69wMAAAAAAAWO1YLm2a6/hxfadL/Wc4Px4ATmVXUernn3+262Qmk+miggEAAAAAwKrHGKnDINu2/LPSssjC7bFrpVp+JY9jlhRQLdhVlNq4caOr4wAAAAAAwFZpl+HlZZ3fDukqefu7NyYATmOu6IG///671q1bp7Nnz0qSDMNwWlAAAAAAAADwbA4XpU6fPq0bbrhB7du31+DBg5WYmChJeuCBBzRlyhSnBwgAAAAAAADP43BRavLkyapdu7aOHj2qOnXqWNtHjhyptWvXOjU4AAAAAAAAeCa71pQqbv369Vq3bp2aN29u096uXTsdOXLEaYEBAAAAAADAczk8UyorK8tmhlSRlJQU+fj4OCUoAAAAAAAAeDaHi1LXXnut3n33Xetzk8kki8WiF154Qf3793dqcAAAAAAAAPBMDl++98ILL+iGG27Qjh07lJeXp2nTpunXX39VSkqKtmzZ4ooYAQAAAAAA4GEcninVuXNnHTx4UNdcc41uvvlmZWVl6ZZbbtHPP/+sNm3auCJGAAAAAAAAeBiHZ0pJUlBQkP72t785OxYAAAAAAADUEHYVpfbs2WP3Cbt27VrhYAAAAAAAAFAz2FWUCg8Pl8lkkmEYMplM1nbDMCTJpq2goMDJIQIAAAAAAMDT2FWUio+Pt27//PPPmjp1qp544gn17t1bkrR161a9/PLLeuGFF1wTJQAAQFWRkVT4cFRASOEDAAAAkuwsSrVs2dK6ffvtt+vVV1/V4MGDrW1du3ZVaGionnnmGQ0fPtzpQQIAAFQZO5ZLm+Y6flzf6VL/Gc6PBwAAoJpyeKHzvXv3qnXr1iXaW7durX379jklKAAAgCqrxxipwyDbtvyz0rLIwu2xa6VafiWPY5YUAACADYeLUp06ddKcOXP09ttvy9vbW5KUl5enOXPmqFOnTk4PEAAAoEop7TK8vKzz2yFdJW9/98YEAABQDTlclFq6dKmGDRum5s2bW++0t2fPHplMJn3xxRdODxAAAAAAAACex+GiVM+ePfXHH39o1apV+u233yRJI0eO1N133y1/f74VBAAAAAAAwIU5XJSSJH9/fz300EPOjgUAAAAAAAA1hLmyAwAAAAAAAEDNQ1EKAAAAAAAAbkdRCgAAAAAAAG5HUQoAAAAAAABuR1EKAAAAAAAAbmfX3ffq168vk8lk1wlTUlIuKiAAAAAAAAB4PruKUgsWLLBunz59Ws8995wGDhyo3r17S5K2bt2qdevW6ZlnnnFJkAAAAAAAAPAsdhWlRo0aZd2+9dZb9eyzz2rChAnWtokTJ2rRokX69ttvNXnyZOdHCQAAAAAAAI/i8JpS69atU2RkZIn2yMhIffvtt04JCgAAAAAAAJ7N4aJUw4YN9dlnn5Vo/+yzz9SwYUOnBAUAAAAAAADPZtfle8XNnj1bDz74oL777jv16tVLkrRt2zatXbtWb731ltMDBAAAAAAAgOdxuCg1evRoderUSa+++qr+/e9/S5I6deqk77//3lqkAgAAAAAAAMrjcFFKknr16qVVq1Y5OxYAAAAAAADUEA6vKSVJhw4d0tNPP627775bycnJkqSvv/5av/76q1ODAwAAAAAAgGdyuCi1adMmdenSRdu2bdPHH3+szMxMSdLu3bsVHR3t9AABAAAAAADgeRwuSk2fPl3PPfecvvnmG3l7e1vbr7/+ev34449ODQ4AAAAAAACeyeGi1N69ezVixIgS7cHBwTp16pRTggIAAAAAAIBnc7goVa9ePSUmJpZo//nnn9WsWTOnBAUAAAAAAADP5nBR6s4779STTz6ppKQkmUwmWSwWbdmyRVOnTtX999/vihgBAAAAAADgYRwuSj3//PPq2LGjQkNDlZmZqbCwMF133XXq06ePnn76aVfECAAAAAAAAA9Ty9EDvL299dZbb2nmzJnau3evMjMzdfnll6tdu3auiA8AAAAAAAAeyOGZUs8++6yys7MVGhqqwYMH64477lC7du109uxZPfvss66IEQAAAAAAAB7G4aLU7NmzlZmZWaI9Oztbs2fPdkpQAAAAAAAA8GwOF6UMw5DJZCrRvnv3bjVo0MApQQEAAAAAAMCz2b2mVP369WUymWQymdS+fXubwlRBQYEyMzP1yCOPuCRIAAAAAAAAeBa7i1ILFiyQYRgaO3asZs+eraCgIOs+b29vtWrVSr1793ZJkO705ZdfasqUKbJYLHryySf14IMPVnZIAAAAAAAAHsfuotSoUaMkSa1bt1afPn1Uu3ZtlwVVWfLz8xUVFaWNGzcqKChI3bt314gRI9SwYcPKDg0AAAAAAMCjOLymVN++fa0FqZycHKWnp9s8qrPt27frsssuU7NmzVS3bl0NGjRI69evr+ywAAAAAAAAPI7DRans7GxNmDBBwcHB8vf3V/369W0elWXz5s0aNmyYmjZtKpPJpE8//bTUfosXL1arVq3k6+urXr16afv27dZ9CQkJatasmfV5s2bNdPz4cVeHDgAAAAAAUOM4XJR64okntGHDBi1ZskQ+Pj56++23NXv2bDVt2lTvvvuuK2K0S1ZWlrp166bFixeX2efDDz9UVFSUoqOjtWvXLnXr1k0DBw5UcnKyGyMFAAAAAACAw0WpL774Qq+//rpuvfVW1apVS9dee62efvppPf/881q1apUrYrTLoEGD9Nxzz2nEiBFl9pk/f77GjRunMWPGKCwsTEuXLlWdOnW0bNkySVLTpk1tZkYdP35cTZs2LfN8ubm5pV6+aLFYrH/as20Y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+PG6/PLL1bZtWx06dMiVoQNOExYWpqysLDVq1EiSbD4DxRcPLe7HH3+0bp85c0YHDx5Up06dJEmNGjVSUlKSzX8gZZ3nQucuel507p07d8pisejll1/WVVddpfbt2yshIcHucwPu1KFDB+3atatE+65du9S+ffsLHs9nAX/FuAVg3AK4CuMW96AohRJuv/12eXl5afHixbr++uv13nvv6b///a/27t2rUaNGycvL64LnaNeunXbs2KF169bp4MGDeuaZZ/TTTz+5IXrAfqdPn9b111+v999/X3v27FF8fLxWr16tF154QTfffLP8/Px01VVXae7cudq/f782bdqkp59+utRzPfvss4qJidEvv/yi0aNH65JLLtHw4cMlSf369dPJkyf1wgsv6NChQ1q8eLG+/vpru+PcsmWLXnjhBR08eFCLFy/W6tWr9fjjj0uS2rZtq3Pnzum1117TH3/8offee09Lly696J8N4AqPPvqoDh48qIkTJ2rPnj06cOCA5s+fr3/+85+aMmXKBY/ns4DSMG5BTcG4BXAvxi3uQVEKJdSqVUsTJkzQCy+8oOnTp6tv374aOnSohgwZouHDh9tc01qWhx9+WLfccotGjhypXr166fTp0xo/frwbogfsV7duXfXq1UuvvPKKrrvuOnXu3FnPPPOMxo0bp0WLFkmSli1bpvz8fHXv3l2TJk3Sc889V+q55s6dq8cff1zdu3dXUlKSvvjiC+u15Z06ddLrr7+uxYsXq1u3btq+fbtDd82YMmWKduzYocsvv1zPPfec5s+fr4EDB0qSunXrpvnz52vevHnq3LmzVq1apTlz5lzkTwZwjUsvvVSbN2/Wb7/9poiICPXq1UsfffSRVq9ercjIyAsez2cBpWHcgpqCcQvgXoxb3MNkeNoFiQAAAAAAAKjymCkFAAAAAAAAt6MoBQAAAAAAALejKAUAAAAAAAC3oygFAACA/2/v/kKa6uM4jn/O5h9kGiQMJix0aBR0UVIYeJEmIUERS7MigjknCOKFgkWKihmBeVWRBEGtsIswkS5C6M9VUSEpCIYXgZSCHRC7SdJyqc/FAyOf8s/Jh+Nm79fVzu+c8913u/ry2e8wAAAA2xFKAQAAAAAAwHaEUgAAAAAAALAdoRQAAAAAAABsRygFAAAAAAAA2xFKAUAMKi8vl9/vjx4XFhaqtrZ2w/oBAABYDnMLgD9FKAUAyygvL5dhGDIMQ4mJifL5fDp//ry+fftmey+9vb26dOlS9DgrK0tXr161vQ8AABCbmFsAxKOEjW4AAGLZ4cOHFQ6HFYlENDg4qEAgIMMwdOXKlT+qF4lElJiYaPm+9PT0P3o/AADw92BuARBv2CkFACtITk6Wx+PRtm3b5Pf7dejQIT179kzS73/127Nnj1pbW6PHhmHo5s2bOnbsmFwuly5fvqz5+XmFQiH5fD6lpKRox44dunbt2op9/LwNvrCwUGNjY6qrq4v+Ivr161dt2bJFPT09S+579OiRXC6Xpqen1/1dAACA2MbcAiDeEEoBwBq9e/dOr1+/VlJSkqX7Wltbdfz4cQ0PD6uiokILCwvyer16+PChRkZG1NLSosbGRnV3d6+pXm9vr7xer9ra2mSapkzTlMvl0unTpxUOh5dcGw6HdeLECaWlpVnqGQAAxDfmFgDxgMf3AGAFjx8/Vmpqqn78+KHv37/L4XDoxo0blmqcOXNGwWBwydrFixejr30+n968eaPu7m6dPHly1Xrp6elyOp1KS0uTx+OJrldWVio/P1+maSojI0OTk5Pq6+vT8+fPLfULAADiE3MLgHjDTikAWMHBgwc1NDSk/v5+BQIBBYNBlZaWWqqxb9++X9Y6Ozu1d+9eud1upaam6tatWxofH19Xr3l5edq1a5fu3bsnSbp//74yMzN14MCBddUFAADxgbkFQLwhlAKAFbhcLuXk5Gj37t26c+eO+vv7dfv2bUmSw+HQ4uLikusjkchva/zswYMHqq+vVygU0tOnTzU0NKRgMKi5ubl191tZWam7d+9K+ncLfDAYlGEY664LAABiH3MLgHhDKAUAa+RwONTY2KimpibNzs7K7XbLNM3o+S9fvujDhw+r1nn16pXy8/NVXV2t3Nxc5eTkaHR01FIvSUlJmp+f/2X97NmzGhsb0/Xr1zUyMqJAIGCpLgAA2ByYWwDEA0IpALCgrKxMTqdTnZ2dKioqUldXl16+fKnh4WEFAgE5nc5Va2zfvl0DAwN68uSJ3r9/r+bmZr19+9ZSH1lZWXrx4oUmJiY0NTUVXd+6datKSkp07tw5FRcXy+v1Wv6MAABgc2BuARDrCKUAwIKEhATV1NSoo6NDFy5cUEFBgY4ePaojR47I7/crOzt71RpVVVUqKSnRqVOntH//fn3+/FnV1dWW+mhra9PHjx+VnZ0tt9u95FwoFNLc3JwqKios1QQAAJsLcwuAWGcs/vfBYgBAXOvq6lJdXZ0+ffpk+W+gAQAA7MTcAvzdEja6AQDA/2NmZkamaaq9vV1VVVUMdgAAIGYxtwCQeHwPADaNjo4O7dy5Ux6PRw0NDRvdDgAAwLKYWwBIPL4HAAAAAACADcBOKQAAAAAAANiOUAoAAAAAAAC2I5QCAAAAAACA7QilAAAAAAAAYDtCKQAAAAAAANiOUAoAAAAAAAC2I5QCAAAAAACA7QilAAAAAAAAYDtCKQAAAAAAANjuH1Vl6M1ghoN4AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from pathlib import Path\n", + "\n", + "csvp = 'final_contrast_comparison_combined.csv'\n", + "outp = 'final_contrast_comparison_symlog.png'\n", + "print('Reading', csvp)\n", + "df = pd.read_csv(csvp)\n", + "\n", + "period_order = ['Before 2020', '2020 and After']\n", + "rurality_order = ['Rural','Suburban','Urban']\n", + "periods = [p for p in period_order if p in df['Period'].unique()]\n", + "\n", + "fig, axes = plt.subplots(1, len(periods), figsize=(6*len(periods),6), sharey=True)\n", + "if len(periods)==1:\n", + " axes=[axes]\n", + "\n", + "for ax, p in zip(axes, periods):\n", + " sub = df[df['Period']==p]\n", + " pois = sub[sub['model']=='poisson'].set_index('rurality')\n", + " nb = sub[sub['model'].isin(['neg_binom','neg_binom','neg-binom','nb'])].set_index('rurality')\n", + "\n", + " xs = np.arange(len(rurality_order))\n", + " width = 0.35\n", + "\n", + " poi_y = [pois.loc[r, 'poisson_median'] if r in pois.index and not pd.isna(pois.loc[r,'poisson_median']) else np.nan for r in rurality_order]\n", + " poi_lower = [pois.loc[r, 'poisson_ci_lower'] if r in pois.index and 'poisson_ci_lower' in pois.columns else np.nan for r in rurality_order]\n", + " poi_upper = [pois.loc[r, 'poisson_ci_upper'] if r in pois.index and 'poisson_ci_upper' in pois.columns else np.nan for r in rurality_order]\n", + " poi_err = np.array([ [ (y - lo) if not (pd.isna(y) or pd.isna(lo)) else 0 for y, lo in zip(poi_y, poi_lower)],\n", + " [ (up - y) if not (pd.isna(y) or pd.isna(up)) else 0 for y, up in zip(poi_y, poi_upper)] ])\n", + "\n", + " nb_y = [nb.loc[r, 'nb_median'] if r in nb.index and not pd.isna(nb.loc[r,'nb_median']) else np.nan for r in rurality_order]\n", + " nb_lower = [nb.loc[r, 'nb_ci_lower'] if r in nb.index and 'nb_ci_lower' in nb.columns else np.nan for r in rurality_order]\n", + " nb_upper = [nb.loc[r, 'nb_ci_upper'] if r in nb.index and 'nb_ci_upper' in nb.columns else np.nan for r in rurality_order]\n", + " nb_err = np.array([ [ (y - lo) if not (pd.isna(y) or pd.isna(lo)) else 0 for y, lo in zip(nb_y, nb_lower)],\n", + " [ (up - y) if not (pd.isna(y) or pd.isna(up)) else 0 for y, up in zip(nb_y, nb_upper)] ])\n", + "\n", + " ax.errorbar(xs - width/2, poi_y, yerr=poi_err, fmt='o', label='Poisson', color='#1f77b4', capsize=5)\n", + " ax.errorbar(xs + width/2, nb_y, yerr=nb_err, fmt='s', label='NegBin', color='#ff7f0e', capsize=5)\n", + "\n", + " ax.set_xticks(xs)\n", + " ax.set_xticklabels(rurality_order)\n", + " ax.set_title(p)\n", + " ax.set_xlabel('Rurality')\n", + " ax.grid(axis='y', linestyle=':', alpha=0.5)\n", + "\n", + "# symlog on y-axis to show signed magnitude while handling negatives\n", + "for a in axes:\n", + " a.set_yscale('symlog', linthresh=0.5)\n", + " a.set_ylim(-40, 5)\n", + "\n", + "axes[0].set_ylabel('Estimated delay (days) — symlog scale')\n", + "axes[-1].legend()\n", + "plt.tight_layout()\n", + "fig.savefig(outp, dpi=200)\n", + "print('Wrote', outp)" + ] + }, + { + "cell_type": "markdown", + "id": "c73fbbc6", + "metadata": {}, + "source": [ + "\"Figure X. Poisson vs Negative‑Binomial estimated change in reporting delay (days), by rurality and period. Points show model median estimates and vertical lines show 95% bootstrap/confidence intervals; blue circles = Poisson GLM, orange squares = Negative‑Binomial sensitivity. The Poisson model yields near‑zero estimates with narrow intervals, while the Negative‑Binomial estimates indicate larger negative changes (faster reporting) with substantially wider uncertainty; the signed‑log scale displays negative delays’ magnitudes while preserving near‑zero Poisson estimates.\"\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 122, + "id": "e4f9cdeb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reading final_contrast_comparison_combined.csv\n", + "Wrote final_contrast_comparison_symlog_annotated.png\n", + "Wrote final_contrast_comparison_symlog_column.png\n", + "Wrote final_contrast_comparison_symlog_annotated.png\n", + "Wrote final_contrast_comparison_symlog_column.png\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAJOCAYAAABm7rQwAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjUsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvWftoOwAAAAlwSFlzAAAPYQAAD2EBqD+naQAApdxJREFUeJzs3XlcVGX///H3DDsKiAsCiormhmtpmpmphbmXmmarW9nqXUlm1l2R3d2a38psMW1TW6xfqS3mXWipZZlp7pamZLgkICqyCwhzfn9MjI6AzugwyPB6Ph7z8JzrXHPm82FUrvnMda5jMgzDEAAAAAAAAOBG5soOAAAAAAAAANUPRSkAAAAAAAC4HUUpAAAAAAAAuB1FKQAAAAAAALgdRSkAAAAAAAC4HUUpAAAAAAAAuB1FKQAAAAAAALgdRSkAAAAAAAC4HUUpAAAAAAAAuB1FKQA4wwsvvKCmTZvKy8tLHTt2rOxwAAAAqqwFCxbIZDJp3759Lj0v4zXAM1CUAlAllQxwTn+EhYWpd+/e+uabb877vCtWrNDkyZPVvXt3zZ8/X9OmTXNh1OfHYrFowYIFuv766xUVFaUaNWqobdu2eu6555Sfn1/mc9599121bt1a/v7+at68uV577bVSfT777DONHDlSTZs2VWBgoFq2bKlHHnlEGRkZZZ5z6dKluuyyy+Tv769GjRopPj5eRUVFrkwVAIAq49dff9WECRPUpk0b1ahRQ40aNdJNN92kPXv2lNl/165d6tevn2rWrKnatWvrjjvu0JEjR+z6/PHHH5o8ebI6duyooKAgRUREaODAgdq4cWOZ5zx06JBuuukm1apVS8HBwbrhhhv0119/uTxXd5s8ebJMJpNGjhxZ5vGyxmvJycl65plntHXrVvcGC+CCeFd2AABwIZ599llFR0fLMAwdPnxYCxYs0IABA/TVV19p0KBBTp9v1apVMpvNevfdd+Xr61sBETsvLy9PY8eO1RVXXKF7771XYWFhWrduneLj47Vy5UqtWrVKJpPJ1v/NN9/UvffeqxtvvFFxcXH68ccf9eCDDyovL0+PPfaYrd/dd9+tyMhI3X777WrUqJF27Nih119/XV9//bU2b96sgIAAW99vvvlGQ4YMUa9evfTaa69px44deu6555SWlqY5c+a49ecBAMDFYMaMGVq7dq1GjBih9u3bKzU1Va+//rouu+wy/fLLL2rbtq2t799//62rr75aISEhmjZtmnJycvTiiy9qx44d2rBhg23M8c477+jdd9/VjTfeqPvvv1+ZmZl68803dcUVVyghIUGxsbG2c+bk5Kh3797KzMzUE088IR8fH7388svq2bOntm7dqjp16rj9Z+IKhmHo448/VpMmTfTVV18pOztbQUFBdn3KGq9t3LhRU6dOVZMmTZg5BVQlBgBUQfPnzzckGb/++qtde3p6uuHj42Pceuut53XesWPHGjVq1HBFiIZhGIbFYjHy8vIu6BwFBQXG2rVrS7VPnTrVkGR8++23tra8vDyjTp06xsCBA+363nbbbUaNGjWM9PR0W9vq1atLnfO9994zJBlvv/22XXtMTIzRoUMH4+TJk7a2f//734bJZDJ27dp1vqkBAFBlrV271igoKLBr27Nnj+Hn52fcdtttdu333XefERAQYOzfv9/W9u233xqSjDfffNPWtnHjRiM7O9vuuUePHjXq1atndO/e3a59xowZhiRjw4YNtrZdu3YZXl5exuOPP37B+blKyZgtKSnJof6rVq0yJBmrVq0yfHx8jAULFpTqU9Z47ddffzUkGfPnz3dB1Kfk5OS49HwA7HH5HgCPUqtWLQUEBMjb234iqMVi0axZs9SmTRv5+/urfv36uueee3T8+HFbH5PJpPnz5ys3N9d2SeCCBQskSUVFRfrPf/6jZs2ayc/PT02aNNETTzyhgoICu9dp0qSJBg0apOXLl6tz584KCAjQm2++KUnKyMjQww8/rKioKPn5+emSSy7RjBkzZLFYzpqTr6+vrrzyylLtQ4cOlWS9HKDE6tWrdezYMd1///12fR944AHl5ubqf//7n62tV69eDp1z586d2rlzp+6++267n+v9998vwzC0ePHis8YPAIAnuvLKK0vNqm7evLnatGlj93tUkpYsWaJBgwapUaNGtrbY2Fi1aNFCn376qa2tU6dOqlmzpt1z69Spox49epQ65+LFi3X55Zfr8ssvt7W1atVK1157rd05yzN//nxdc801CgsLk5+fn2JiYsqc/Vwytvnpp5/UpUsX+fv7q2nTpnr//fdL9f399991zTXXKCAgQA0bNtRzzz13znHOmRYuXKiYmBj17t1bsbGxWrhwod3x8sZrJT+HsWPHlhrHSdL69evVr18/hYSEKDAwUD179tTatWvtzv3MM8/IZDJp586duvXWWxUaGqqrrrrKqfgBOIeiFIAqLTMzU0ePHtWRI0f0+++/67777lNOTo5uv/12u3733HOPHn30UXXv3l2vvPKKxo4dq4ULF6pv3746efKkJOmDDz5Qjx495Ofnpw8++EAffPCBrr76aknSXXfdpaefflqXXXaZbWr89OnTdfPNN5eKaffu3brlllvUp08fvfLKK+rYsaPy8vLUs2dPffjhhxo1apReffVVde/eXY8//rji4uLOK/fU1FRJUt26dW1tW7ZskSR17tzZrm+nTp1kNpttx11xzsjISDVs2PCc5wQAoLow/llO4PTfo4cOHVJaWlqp36OS1KVLF4d+j6amptqd02KxaPv27eWec+/evcrOzj7rOefMmaPGjRvriSee0EsvvaSoqCjdf//9mj17dqm+f/75p4YPH64+ffropZdeUmhoqMaMGaPff//dLsbevXtr69atmjJlih5++GG9//77euWVV86ZX4mCggItWbJEt9xyiyTplltu0apVq2zjE6ns8Vrr1q317LPPSrIuT3DmOG7VqlW6+uqrlZWVpfj4eE2bNk0ZGRm65pprtGHDhlJxjBgxQnl5eZo2bZrGjx/vcPwAzkNlT9UCgPNRMhX8zIefn1+pad4//vijIclYuHChXXtCQkKp9tGjR5eaDr5161ZDknHXXXfZtU+aNMk2vbxE48aNDUlGQkKCXd///Oc/Ro0aNYw9e/bYtU+ZMsXw8vIyDhw44PTPIDY21ggODjaOHz9ua3vggQcMLy+vMvvXq1fPuPnmm896zjvvvNPw8vKyi/OFF14wJJUZ4+WXX25cccUVTscOAIAn+uCDDwxJxrvvvmtrK7ms7P333y/V/9FHHzUkGfn5+eWec82aNYbJZDKeeuopW9uRI0cMScazzz5bqv/s2bMNScYff/xx1ljLWl6gb9++RtOmTe3aSsY2a9assbWlpaUZfn5+xiOPPGJre/jhhw1Jxvr16+36hYSEOHz53uLFiw1JRmJiomEYhpGVlWX4+/sbL7/8sl2/ssZr5V2+Z7FYjObNmxt9+/Y1LBaLXf7R0dFGnz59bG3x8fGGJOOWW245Z6wAXIOZUgCqtNmzZ+vbb7/Vt99+qw8//FC9e/fWXXfdpc8++8zWZ9GiRQoJCVGfPn109OhR26Nkivzq1avP+hpff/21JJWa0fTII49Ikt0lcZIUHR2tvn372rUtWrRIPXr0UGhoqF0MsbGxKi4u1po1a5zKe9q0afruu+/0/PPPq1atWrb2EydOlLtAu7+/v06cOFHuOT/66CO9++67euSRR9S8eXO7c0qSn5+f0+cEAKC6+OOPP/TAAw+oW7duGj16tK39XL9HT+9zprS0NN16662Kjo7W5MmTXXLOEqff0KRk5nnPnj31119/KTMz065vTEyMevToYduvV6+eWrZsaXenv6+//lpXXHGFunTpYtfvtttuO2scp1u4cKE6d+6sSy65RJIUFBSkgQMHlrqEzxlbt25VYmKibr31Vh07dsw2BsvNzdW1116rNWvWlLrE8N577z3v1wPgHO6+B6BK69Kli93U9VtuuUWXXnqpJkyYoEGDBsnX11eJiYnKzMxUWFhYmedIS0s762vs379fZrPZNkAqER4erlq1amn//v127dHR0aXOkZiYqO3bt6tevXrnFcPpPvnkEz355JO68847dd9999kdCwgIUGFhYZnPy8/PtxuAnu7HH3/UnXfeqb59++q///1vqXNKKrV+1rnOCQBAdZGamqqBAwcqJCREixcvlpeXl+3YuX6Pnt7ndLm5uRo0aJCys7P1008/2a01db7nPN3atWsVHx+vdevWKS8vz+5YZmamQkJCbPunr4VVIjQ01G5tzv3796tr166l+rVs2fKscZTIyMjQ119/rQkTJujPP/+0tXfv3l1LlizRnj171KJFC4fOdbrExERJsisUnikzM1OhoaG2/bLGcgAqBkUpAB7FbDard+/eeuWVV5SYmKg2bdrIYrEoLCys3G/ZyisUnclkMjnUr6xBoMViUZ8+fey+5Tydo4Osb7/9VqNGjdLAgQM1d+7cUscjIiJUXFystLQ0uyJcYWGhjh07psjIyFLP2bZtm66//nq1bdtWixcvLrVIfEREhCQpJSVFUVFRdsdSUlLsvhEFAKC6yczMVP/+/ZWRkaEff/yx1O/a03+PniklJUW1a9cuNeOpsLBQw4YN0/bt27V8+XK1bdvW7njJc8o7p6Qyf+eX2Lt3r6699lq1atVKM2fOVFRUlHx9ffX111/r5ZdfLjVz6PQi2+kMwyj3NZy1aNEiFRQU6KWXXtJLL71U6vjChQs1depUp89bkssLL7ygjh07ltnnzMXl+cINcB+KUgA8TlFRkSQpJydHktSsWTN999136t69+3kNMho3biyLxaLExES1bt3a1n748GFlZGSocePG5zxHs2bNlJOTo9jYWKdfv8T69es1dOhQde7cWZ9++mmp4pEk22Br48aNGjBggK1948aNslgspQZje/fuVb9+/RQWFqavv/661KDszHOeXoBKTk7W33//rbvvvvu8cwIAoCrLz8/X4MGDtWfPHn333XeKiYkp1adBgwaqV6+eNm7cWOrYhg0bSv1utlgsGjVqlFauXKlPP/1UPXv2LPU8s9msdu3alXnO9evXq2nTpgoKCio37q+++koFBQVaunSp3Syocy1pcDaNGze2zUo63e7dux16/sKFC9W2bVvFx8eXOvbmm2/qo48+OmtRqrwvD5s1ayZJCg4OvqBxGICKwZpSADzKyZMntWLFCvn6+toKSDfddJOKi4v1n//8p1T/oqIiZWRknPWcJcWdWbNm2bXPnDlTkjRw4MBzxnXTTTdp3bp1Wr58ealjGRkZtkJaeXbt2qWBAweqSZMmWrZsWbnFtWuuuUa1a9cudUvnOXPmKDAw0C7W1NRUXXfddTKbzVq+fHm5M8batGmjVq1a6a233lJxcbHdOU0mk4YPH37W2AEA8ETFxcUaOXKk1q1bp0WLFqlbt27l9r3xxhu1bNkyHTx40Na2cuVK7dmzRyNGjLDr+69//UuffPKJ3njjDQ0bNqzccw4fPly//vqrXWFq9+7dWrVqValznqlk5tPpM50yMzM1f/78sz7vbAYMGKBffvnF7m52R44ccWg9qIMHD2rNmjW66aabNHz48FKPsWPH6s8//9T69evLPUeNGjUkqdS4rlOnTmrWrJlefPFF2xeWpzty5IiDGQKoCMyUAlClffPNN/rjjz8kWddl+uijj5SYmKgpU6YoODhYktSzZ0/dc889mj59urZu3arrrrtOPj4+SkxM1KJFi/TKK6+ctbDSoUMHjR49Wm+99ZYyMjLUs2dPbdiwQe+9956GDBmi3r17nzPORx99VEuXLtWgQYM0ZswYderUSbm5udqxY4cWL16sffv22d3q+XTZ2dnq27evjh8/rkcffbTUwurNmjWzDYQDAgL0n//8Rw888IBGjBihvn376scff9SHH36o//73v6pdu7btef369dNff/2lyZMn66efftJPP/1kO1a/fn316dPHtv/CCy/o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ycwv97ghKSUzXxuS0tWtWZ0Ki8MwDK1cuVLLly9X//799cUXX2jt2rW68sorJUkLFy5UVFSUvvjiC40YMaLU8w8cOKBHH31UrVq1kiQ1b97c7tiNN96odu3aSZKaNm1qO/bGG28oKipKr7/+ukwmk1q1aqXk5GQ99thjevrpp2U2W+crtW/fXvHx8bZzv/7661q5cqX69OlTMT8QMVMKAAAAAAB4sLTs8gtS59PPWcuWLVPNmjXl7++v/v37a+TIkRozZoy8vb3VtWtXW786deqoZcuW2rVrV5nniYuL01133aXY2Fg9//zz2rt3r+3Ygw8+qOeee07du3dXfHy8tm/fbju2a9cudevWTSaTydbWvXt35eTk6O+//7a1tW/f3u71IiIilJaWdsH5nw1FKQAAAAAA4LHCghy7o56j/ZzVu3dvbd26VYmJiTpx4oTee+89uwKRo5555hn9/vvvGjhwoFatWqWYmBh9/vnnkqS77rpLf/31l+644w7t2LFDnTt31muvvebU+UsuBSxhMplksVicjtMZFKUAAAAAAIDH6hJdWxEh/iqvDGSSFBHiry7RtSvk9WvUqKFLLrlEjRo1kre3dRWl1q1bq6ioSOvXr7f1O3bsmHbv3q2YmJhyz9WiRQtNnDhRK1as0LBhwzR//nzbsaioKN1777367LPP9Mgjj+jtt9+2vVbJmlUl1q5dq6CgIDVs2NDV6TqFohQAAAAAAPBYXmaT4gdbCz1nFqZK9uMHx8jL7PzspfPVvHlz3XDDDRo/frx++uknbdu2TbfffrsaNGigG264oVT/EydOaMKECfr++++1f/9+rV27Vr/++qtat24tSXr44Ye1fPlyJSUlafPmzVq9erXt2P3336+DBw/qX//6l/744w99+eWXio+PV1xcnG09qcpCUQoAAAAAAHi0fm0jNOf2yxQW7GfXHh7irzm3X6Z+bSPcHtP8+fPVqVMnDRo0SN26dZNhGPr6669LXUYnSV5eXjp27JhGjRqlFi1a6KabblL//v01depUSVJxcbEeeOABtW7dWv369VOLFi30xhtvSJIaNGigr7/+Whs2bFCHDh1077336s4779STTz7p1nzLYjJOn7+FC5KVlaWQkBBlZmYqODi4ssMBAAAexNXjDMYtAICqIj8/X0lJSYqOjpa//4Wt+5Sdf1LtnlkhSVow9nL1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VTD2Bbv0qT1+TuqTc/epmslkssWHs/epPX5O6lPH7VNDxy0On5R6/PHHmTFjxnXL9O7du0F1denSBRcXF9v0smq5ubmEhmoxSRERERFpRVPervr30P/Cly9du8yg30HB95D8q6rFz3vHQ/oXNctYymHNTOhzG/Sb2KpNFhERaU0On5QKDg4mODi4Repyd3dn6NChbN++3XZZn9VqZfv27cybN+/6O4tj8u4Mrh5guVJ3GVePqnIiIiIiLenQX2FvUtXjkQ/C4N83bL9Bv4XP/njt10wmGPN01Q/Ad2uha7+fXq+sgLUzwS8E7rj+1QQiIiKOzuGTUo3x448/curUKdvzjIwMDh06RFBQED179gTgscceIzExkWHDhjF8+HCWLFlCcXGx7W584mQ6hcO8b6Ekv+5bK3t3rionIiIi0pIG/abqpz6lBVBRCv5VC6Bz4jPwCoSinNplK8qqxjRegVCcD18vgdv+b9VrlZaqhJRXJ5i4tCqBJSIi4sTaVVIqJSWFMWN+WvT6scceAyAxMZHk5GQApk+fTl5eHs8//zznz59n0KBBbNq0iZCQkLZosrSETuFVP+XFP20LHQjuPm3XJhEREel4NjwKqVvgx1z4YAq4+8Kjh+BKIaxOBEsZmMxVJ8ymrYTl46v22/g49JsEfX9VVTb5zqpyhhVGPAixd1SVO7YeTmyAkBth2b9Vbes5Au58pU26KyIi0lztKikVHx9fddeSesybN0+X64mIiIhIy5r42rW3d+oJc76sue3qk2l3vvLTyTTfrjBv/7XrGTit6kdERKSdaN5tXERERERERERERJqgXc2UEhERERFxaAXf/7QWZrXzR7QWpoiIdEhKSomIiIiI2EPB9/DG0Np3Da6+UQtU3TV43rdKTImISIegy/dEREREROyhJL92QurnLFeqyomIiHQASkqJiIiIiIiIiIjd6fI9ERERERERcVxF56t+qtW1Jls1v9CqHxFxeEpKiYiIiIiIiONKWQE7Xr72a1evyVZt9FMw5unWbZOItAglpURERERERMRxDZsJsXc0vLxmSYk4DSWlxHlpGq+IiIiISPuncbxIu6WklDgvTeMVERERERERcVpKSonz0jRekebRbEMREfvy7gyuHmC5UncZV4+qciIiIh2AklLivPQHskjzaLahiIh9dQqHed9CSX7ViYDq/2tnbfrp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j08//ZT777+fkpIS9uzZw5w5cygvLyc5OZmoqCjbXTd27typMybSahw9nvz8/Jg0aRJ79+6tsb2ueIqMjLT15+LFi6xatUoJKWk1jh4/jf0+OnfuHFlZWTz00ENYLBbefPNNBg0a1K4Ggs7i7NmzFBYW4uvry4kTJ4iPj6dz585s2bKF0tJS3NzcOHHiBBMnTqyxX31nn/v06cOOHTu4cuUK5eXl5OXl2f5grtajRw8uXLhAYWEhnp6enDp1iltvvRVvb29uuukmoGotkX379tnev7i4GB8fH8rLy9m3bx8JCQkte0BEGsER4weqLn91c3OrdQlsamoqBw4cYMaMGbrrnjiVtow1Z6akVDtT3+Jru3btws3Njby8PGJiYrj99tttr2/cuJEzZ87QqVMnpk6dioeHR73vd/LkScaNGwfAwIEDeffdd2v9EXDy5EkGDhwIQHR0NBs2bMAwDFJTU7nxxhsxm82EhIRQWVlJUVERmZmZdS7klp+fT35+PjExMVy4cKGph0mkQRwxnvz9/fH39691JqaueLr6j+djx47VOhMp0locMX4a+31kMpmwWCxUVlZisVhwdXWtdXmJ2EdYWBiffvqpbfHY6vXGRo8eTXJysm3x2G7dulFQUNDger29vRk1ahRvv/22bXZ29R/By5Yt48EHH8RsNjN+/HhWrlxpu6X9z2fh/dyuXbtIT08H4Be/+AVdunRpUr9FWoIjxk9hYSG7d+8mODjYdmnU2LFjiYqKYtOmTVitVlasWAFUXe7088SViCNqi1hrD5SUakcasvhaTk4Oc+fOxcvLizfffJORI0cSEBBAaWkpkZGR3HnnnWzbto29e/cSHx/Pzp07OX78eK16hgwZwvDhw2ssuubp6UlZWVmtsleXMZlMeHl5UVpaSlFRUY1FbP39/SkqKrruQm5bt25l3LhxfP/99006RiIN5ajxVJe64unnSanJkyc3uE6RpnLU+Gns91H37t3p1asXr7zyClarlXHjxjUoQSYN05jLND09PZk2bVqt7XFxccTFxdXY1qlTpwbdzaja0KFDGTp0aK3tV5+1jo2NJTY2ts46evXqVeN3aMKECQ1+f5GmcPb48ff354UXXrhmnY888kiD31+ktTl6rLUHSkq1A41dfM3X1xeArl27UlBQQEBAAC4uLvTr1w+AAQMG2NagufXWWx3mzMS/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3CIdncYtIvahcYt9KCklNZjNZp555hmeffZZSktLCQ4OrrGQWmFhIRkZGfXWs3v3bm6++Wbmzp3L4MGDiYqKIj09vTWbLtJi+vfvT3FxMcHBwQA1YuDqxUOv9s9//tP2+NKlS6SmptKvXz8AgoODOX/+fI0vkLrqqa/u6ufVdX/77bdYrVZeeeUVRo4cSUxMDOfOnWtw3SL2FBsby4EDB2ptP3DgADExMfXur1iQn9O4RUTjFpHWonGLfSgpJbXce++9uLi4kJSUxG233caqVavYtWsX3333HYmJibi4uNRbR3R0NCkpKWzevJnU1FSee+459u/fb4fWizRcfn4+t912Gx988AFHjhwhIyODNWvWsGjRIiZPnoyXlxcjR47k5Zdf5sSJE+zYsYNnn332mnUtWLCA7du3c/ToUWbMmEGXLl1ISEgAID4+nry8PBYtWkR6ejpJSUn84x//aHA7d+/ezaJFi0hNTSUpKYk1a9bw6KOPAhAVFUVFRQWvv/46p0+fZtWqVSxbtqzZx0akNTz00EOkpqbyyCOPcOTIEU6ePMmrr77KX//6Vx5//PF691csyLVo3CIdhcYtIvalcYt9KCkltbi6ujJv3jwWLVrEU089xejRo7nrrru48847SUhIqHFNa10eeOABpkyZwvTp0xkxYgT5+fnMnTvXDq0XaThfX19GjBjB4sWLufXWW7nxxht57rnnuP/++3njjTcAeO+997BYLAwdOpT58+fz5z//+Zp1vfzyyzz66KMMHTqU8+fPs2HDBtu15f369ePNN98kKSmJuLg49u3b16i7Zjz++OOkpKQwePBg/vznP/Pqq69y++23AxAXF8err77KwoULufHGG/nwww/5y1/+0swjI9I6evfuzc6dO/nXv/7F2LFjGTFiBKtXr2bNmjVMmDCh3v0VC3ItGrdIR6Fxi4h9adxiHyajvV2QKCIiIiIiIiIiDk8zpURERERERERExO6UlBIREREREREREbtTUkpEREREREREROxOSSkREREREREREbE7JaVERERERERERMTulJQSERERERERERG7U1JKRERERERERETsTkkpERERERERERGxOyWlREQc0IwZM0hISLA9j4+PZ/78+W3WHhEREZG6aNwiIk2lpJSISB1mzJiByWTCZDLh5uZGZGQkTz75JGVlZXZvy/r16/nP//xP2/NevXqxZMkSu7dDREREHJPGLSLijFzbugEiIo5swoQJrFixgoqKCr799lsSExMxmUwsXLiwSfVVVFTg5ubW6P2CgoKa9H4iIiLScWjcIiLORjOlRESuw8PDg9DQUMLDw0lISGDs2LFs3boVuPZZv0GDBvHiiy/anptMJt566y0mTZqEj48PL730EpWVlcyePZvIyEi8vLyIjY3ltddeu247rp4GHx8fz5kzZ/jjH/9oOyNaXFyMv78/a9eurbHfxx9/jI+PD0VFRc0+FiIiIuLYNG4REWejpJSISAMdPXqUPXv24O7u3qj9XnzxRe6++26+++47Zs2ahdVqJSwsjDVr1nD8+HGef/55nnnmGVavXt2g+tavX09YWBgLFiwgJyeHnJwcfHx8+PWvf82KFStqlF2xYgX33HMPfn5+jWqziIiIODeNW0TEGejyPRGR6/jss8/w9fXFYrFw5coVzGYzb7zxRqPq+O1vf8vMmTNrbPuP//gP2+PIyEj27t3L6tWrmTZtWr31BQUF4eLigp+fH6Ghobbt9913HzfffDM5OTl069aNCxcu8Pnnn7Nt27ZGtVdERESck8YtIuJsNFNKROQ6xowZw6FDh/jmm29ITExk5syZTJ06tVF1DBs2rNa2pKQkhg4dSnBwML6+vrzzzjucPXu2WW0dPnw4N9xwAytXrgTggw8+ICIigltvvbVZ9YqIiIhz0LhFRJyNklIiItfh4+NDVFQUcXFxvPfee3zzzTcsX74cALPZjGEYNcpXVFRcs46rffTRRzzxxBPMnj2bLVu2cOjQIWbOnEl5eXmz23vfffeRnJwMVE2BnzlzJiaTqdn1ioiIiOPTuEVEnI2SUiIiDWQ2m3nmmWd49tlnKS0tJTg4mJycHNvrhYWFZGRk1FvP7t27ufnmm5k7dy6DBw8mKiqK9PT0RrXF3d2dysrKWtt///vfc+bMGZYuXcrx48dJTExsVL0iIiLSPmjcIiLOQEkpEZFGuPfee3FxcSEpKYnbbruNVatWsWvXLr777jsSExNxcXGpt47o6GhSUlLYvHkzqampPPfcc+zfv79R7ejVqxc7d+4kOzubH374wbY9MDCQKVOm8Kc//Ynx48cTFhbW6D6KiIhI+6Bxi4g4OiWlREQawdXVlXnz5rFo0SKeeuopRo8ezV133cWdd95JQkICffr0qbeOBx54gClTpjB9+nRGjBhBfn4+c+fObVQ7FixYQGZmJn369CE4OLjGa7Nnz6a8vJxZs2Y1qk4RERFpXzRuERFHZzJ+fmGxiIg4tVWrVvHHP/6Rc+fONfo20CIiIiL2pHGLSMfm2tYNEBGRllFSUkJOTg4vv/wyDzzwgAZ2IiIi4rA0bhER0OV7IiLtxqJFi+jbty+hoaE8/fTTbd0cERERkTpp3CIioMv3RERERERERESkDWimlIiIiIiIiIiI2J2SUiIiIiIiIiIiYndKSomIiIiIiIiIiN0pKSUiIiIiIiIiInanpJSIiIiIiIiIiNidklIiIiIiIiIiImJ3SkqJiIiIiIiIiIjdKSklIiIiIiIiIiJ2p6SUiIiIiIiIiIjY3f8DqSmF+bAaPYwAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAUEAAAFACAYAAAAiUs6UAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjUsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvWftoOwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAWvRJREFUeJzt3XdYVEfbwOHfAtK7UqSKiAo2LIHYxY69xkSjYIvRmKjYMK89iSVvrLHGRLGQbjSxYY9GXxUbdiUqltBEVHoRON8f+7FxpbiLuxSZ+7r2cnfO7NmHI/sw58ycGZkkSRKCIAiVlE5ZByAIglCWRBIUBKFSE0lQEIRKTSRBQRAqNZEEBUGo1EQSFAShUhNJUBCESk0kQUEQKjWRBAVBqNREEhQEDQgJCUEmk3Hv3j2N7ve///0vNWvWRFdXF29vb43uW5ATSVAo1tmzZxk/fjz16tXDxMQEFxcX3nnnHSIjIwutf+PGDbp27YqpqSnW1tYMHTqUhIQEpTo3b95k2rRpeHt7Y2ZmRvXq1enevTvnzp0rdJ/R0dG88847WFpaYm5uTu/evbl7967Gf9bSNm3aNGQyGYMGDSp0+4EDB5g2bRotW7Zk06ZNLFiwgJiYGObOnUtERETpBvsmkwShGP3795fs7e2ljz/+WNqwYYP02WefSXZ2dpKJiYl05coVpboPHz6UqlWrJrm7u0srVqyQvvjiC8nKykpq1KiRlJWVpag3efJkydLSUho5cqS0fv166csvv5Tc3d0lXV1d6eDBg0r7TElJkTw8PCRbW1tp8eLF0tKlSyVnZ2fJyclJevz4cakcA1Vs2rRJAqSoqCiV6ufl5UlOTk5SjRo1JCMjIyk5OblAnenTp0s6OjpKx+7s2bMSIG3atElDkQsiCQrFOnnypNKXUJIkKTIyUjIwMJCGDBmiVD527FjJyMhIun//vqLs4MGDEiCtX79eUXbu3DkpJSVF6b2PHz+WbGxspJYtWyqVL168WAKk8PBwRdmNGzckXV1dacaMGa/982mKuknwyJEjEiAdOXJEqlKlihQSElKgzvDhwyUTExOlMm0lwdTUVI3uryIpURLcsmWL1KJFC6l69erSvXv3JEmSpGXLlkk7d+7UaHBC+dWkSROpSZMmSmW2trbSwIEDC9StXbu21KFDh1fus1+/fpK1tbVS2VtvvSW99dZbBep27txZcnd3f+U+N27cKPn5+Uk2NjaSvr6+5OnpKa1Zs6ZAPVdXV6l79+7SX3/9Jb311luSgYGB5ObmJm3evLlA3atXr0p+fn6SoaGh5OjoKH322WfSd999p1YSHDlypOTl5SVJkiT5+/tLnTp1UtoOFHjkJ9rCyvOdPn1a6tKli2Rubi4ZGRlJbdq0kU6cOKG07zlz5kiAdO3aNem9996TLC0tJW9vb5XifhOpfU1w7dq1BAUF0a1bN549e0Zubi4AlpaWLF++/LVOzYWKQZIk4uPjqVatmqIsOjqaR48e0axZswL1fXx8uHjx4iv3GxcXp7TPvLw8Ll++XOQ+79y5Q0pKSrH7XLt2La6urnz66acsWbIEZ2dnxo0bx+rVqwvUvX37NgMGDKBTp04sWbIEKysrAgMDuXbtmlKMfn5+REREEBwczMSJE9myZQsrVqx45c+XLysri+3bt/Pee+8B8N5773HkyBHi4uIUdbZu3Urr1q0xMDBg69atbN26FU9PT+bPnw/ABx98oChv06YNAEeOHKFNmzYkJyczZ84cFixYwLNnz2jfvj3h4eEF4hg4cCDp6eksWLCA0aNHqxz/G0fdrOnp6Snt2LFDkiRJMjU1le7cuSNJkiRduXJFqlq1qiYTtFBObd26VQKk7777TlGWf5q2ZcuWAvWnTp0qAVJmZmaR+zx+/Lgkk8mkWbNmKcoSEhIkQJo/f36B+qtXr5YA6ebNm8XGmp6eXqCsS5cuUs2aNZXKXF1dJUA6fvy4ouzRo0eSgYGBNHnyZEXZxIkTJUA6c+aMUj0LCwuVW4K//vqrBEh///23JEmSlJycLBkaGkrLli1TqhcQEKDy6XBeXp7k4eEhdenSRcrLy1P6+d3c3JRamvktwffee++VsVYGarcEo6KiaNy4cYFyAwMD0tLSSp6NhQrh5s2bfPTRRzRv3pyAgABFeUZGBiD/PXiZoaGhUp2XPXr0iMGDB+Pm5sa0adM0ss98RkZGiudJSUk8fvyYtm3bcvfuXZKSkpTqenl50bp1a8VrGxsb6tSpo9QTvXfvXt5++218fHyU6g0ZMqTYOF4UGhpKs2bNqFWrFgBmZmZ0796d0NBQlffxsoiICP7++28GDx5MYmIijx8/5vHjx6SlpdGhQweOHz9OXl6e0ns+/PDDEn/em0RP3Te4ubkRERGBq6urUnlYWBienp4aC0wof+Li4ujevTsWFhb8+uuv6OrqKrblJ5usrKwC78vMzFSq86K0tDR69OhBSkoKJ06cwNTU9LX3+aKTJ08yZ84cTp06RXp6utK2pKQkLCwsFK9dXFwKvN/KyoqnT58qXt+/fx9fX98C9erUqVNsHPmePXvG3r17GT9+PLdv31aUt2zZku3btxMZGUnt2rVV2teL/v77bwClP0wvS0pKwsrKSvHazc1N7c95E6mdBIOCgvjoo4/IzMxEkiTCw8P54YcfWLhwId9++602YhTKgaSkJPz9/Xn27Bl//fUXDg4OSturV68OQGxsbIH3xsbGYm1tXaBFl52dTb9+/bh8+TL79++nfv36Stvz31PUPoECcbzozp07dOjQgbp167J06VKcnZ3R19dn7969LFu2rEDL6MWk/iJJgytQ/PLLL2RlZbFkyRKWLFlSYHtoaCjz5s1Te7/5P8t///vfIgdVv/gHBl79B6SyUDsJjho1CiMjI2bOnEl6ejqDBw/GwcGBFStW8O6772ojRqGMZWZm0rNnTyIjIzl06BBeXl4F6jg6OmJjY1PogOfw8PACX8y8vDyGDRvG4cOH+fnnn2nbtm2B9+no6NCgQYNC93nmzBlq1qyJmZlZkXHv2rWLrKws/vjjD6VW3tGjR4v7cYvl6uqqaHW96NatWyq9PzQ0lPr16zNnzpwC29avX8/3339fbBKUyWSFlru7uwNgbm5Ox44dVYpF+H+vc0ExLS1Nio+P18zVSaFcysnJkXr16iXp6elJe/bsKbbuhx9+KBkZGUkPHjxQlB06dEgCpLVr1yrVHTduXIHxg4VZtGiRBEhnz55VlN28eVPS1dWVpk+fXux7V65cKQGKYVySJEnPnj2TqlevXqATI3+IzMvatm0rtW3bVvH6dTpGHjx4IMlkskI7eiRJkkJDQyVAOn36tCRJhXeM3LhxQwIKdKLk5uZK7u7ukoeHR4ExmPkx5svvGElISCgy1spE7Zbgi4yNjTE2Nn69LCyUa5MnT+aPP/6gZ8+ePHnyhG3btiltf//99xXPP/30U3755Rf8/PyYMGECqamp/Pe//6VBgwYMHz5cUW/58uWsWbOG5s2bY2xsXGCfffv2xcTEBIBx48axYcMGunfvzpQpU6hSpQpLly7Fzs6OyZMnFxt7586d0dfXp2fPnowZM4bU1FQ2bNiAra1toafYqpg2bRpbt26la9euTJgwARMTE7755htcXV25fPlyse/9/vvvkSSJXr16Fbq9W7du6OnpERoaWuh1R5C3+CwtLVm3bh1mZmaYmJjg6+uLm5sb3377Lf7+/tSrV4/hw4fj6OhIdHQ0R48exdzcnF27dpXoZ37jqZIpvb29pcaNG6v0EN4sbdu2LXSAbv7jZVevXpU6d+4sGRsbS5aWltKQIUOkuLg4pToBAQHF7vPl1tTDhw+lAQMGSObm5pKpqanUo0cPxfCSV/njjz+khg0bSoaGhlKNGjWkxYsXSxs3bixxS1CSJOny5ctS27Zt1R4s3aBBA8nFxaXYeNu1ayfZ2tpKz58/L7QlKEmS9Pvvv0teXl6Snp5egeEyFy9elPr16ydVrVpVMjAwkFxdXaV33nlHOnz4sKKOaAkqk0nSq6/6qnOhtrBrHYIgCOWVSklQEAThTSWm0hIEoVJTu2MkNzeXZcuW8fPPP/PgwQOys7OVtj958kRjwQmCIGib2i3BefPmsXTpUgYNGkRSUhJBQUH069cPHR0d5s6dq4UQBUEQtEfta4Lu7u6sXLmS7t27Y2ZmRkREhKLs9OnTfP/999qKVRAEQePUbgnGxcXRoEEDQH4bTv5N6D169GDPnj2ajU4QBEHL1L4m6OTkRGxsLC4uLri7u3PgwAGaNGnC2bNnC53tozLJy8sjJiYGMzOzIm9vEgRBeyRJIiUlBQcHB3R0VGzjqTuwcPr06dIXX3whSZIk/fjjj5Kenp5Uq1YtSV9f/5W3Mb3pHj58WOwgYPEQD/EoncfDhw9V/t6+9jjB06dP87///Q8PDw969uz5Oruq8JKSkrC0tOThw4eYm5uXdTiCUOkkJyfj7OzMs2fPlKZJK44YLK1BycnJWFhYkJSUJJKgIJSBknwH1e4YWbhwIRs3bixQvnHjRhYvXqzu7gRBEMqU2klw/fr11K1bt0B5vXr1WLdunUaCEgRBKC0lGiKTP4vwi2xsbEo8PZEgCEJZUXuIjLOzMydPniywPsHJkyeLnepc+Fdubi7Pnz8v6zAqvSpVqhQ5pb5QeaidBEePHs3EiRN5/vw57du3B+Dw4cNMmzbtlZNcVnaSJBEXF8ezZ8/KOhTh/1laWmJvby/GdVZiaifBqVOnkpiYyLhx4xSTJxgaGjJ9+nRmzJih8QDfJPkJ0NbWFmNjY/HFK0OSJJGens6jR48ACr3EI1QOJR4ik5qayo0bNzAyMsLDw6PS3y0CxXfP5+bmEhkZia2tLVWrVi2jCIWXJSYm8ujRI2rXri1Ojd8ApTJEJp+pqSlvvfUWLi4u7Nu3jxs3bpR0V5VC/jVAsSZL+ZL//yGu0VZeap8Ov/POO7Rp04bx48eTkZFBs2bNuHfvHpIk8eOPP9K/f39txPnGUPcU+FFyJo9SCi4+XhRbMwNszQ3VDavSEpckBLWT4PHjx/nPf/4DwI4dO5AkiWfPnrF582Y+//xzkQQ1LPTMA1YcLrjObVEmdPBgUqfaWoxIEN4saifBpKQkrK2tAQgLC6N///4YGxvTvXt3pk6dqvEAK7shvi508rJTvM58nsuAdacA+PXD5hhWUb6OZWtWvq7NhoSEMHHiRNEjLpRbal8TdHZ25tSpU6SlpREWFkbnzp0BePr0KYaG4jRM02zNDanvaKF41LE3U2xLzcrBs7q50nZtnAoHBgYik8mQyWTo6+tTq1Yt5s+fT05OzivfO2jQICIjIzUekyBoitotwYkTJzJkyBBMTU1xdXWlXbt2gPw0OX+yVUE7wq7GMuePa4rXgZvOUt3CkDk9vehaX7tDPLp27cqmTZvIyspi7969fPTRR1SpUuWVw6KMjIwwMjLSamyC8DrUbgmOGzeO06dPs3HjRk6cOKGYuLBmzZp8/vnnGg9QkAu7GsvYbReIT1buJIlLymTstguEXdXuLYsGBgbY29vj6urK2LFj6dixI3/88QdPnz5l2LBhWFlZYWxsjL+/P3///e81zJCQECwtLRWvL126hJ+fH2ZmZpibm9O0aVPOnTsHwP379+nZsydWVlaYmJhQr1499u7dq3jvsWPH8PHxwcDAgOrVqxMcHKzUGm3Xrh2ffPIJ06ZNw9raGnt7e7HujfBKJRoi07RpU/r27YupqamirHv37rRs2VJjgQn/ys2TmLfrOoUN6Mwvm7frOrl5pTcrmpGREdnZ2QQGBnLu3Dn++OMPTp06hSRJdOvWrcghJ0OGDMHJyYmzZ89y/vx5goODqVKlCgAfffQRWVlZHD9+nCtXrrB48WLF71h0dDTdunXjrbfe4tKlS6xdu5bvvvuuwB/ezZs3Y2JiwpkzZ/jyyy+ZP38+Bw8e1O7BECo0tU+HhdIXHvWE2KTMIrdLQGxSJuFRT2jurt2B2JIkcfjwYfbv34+/vz87d+7k5MmTtGjRAoDQ0FCcnZ3ZuXMnAwcOLPD+Bw8eMHXqVMVMRB4eHkrb+vfvr7isUrNmTcW2NWvW4OzszKpVq5DJZNStW5eYmBimT5/O7NmzFWckDRs2ZM6cOYp9r1q1isOHD9OpUyftHBChwhOLr1cAj1KKToAlqVcSu3fvxtTUFENDQ/z9/Rk0aBCBgYHo6enh6+urqFe1alXq1KlT5OD5oKAgRo0aRceOHVm0aBF37txRbPvkk0/4/PPPadmyJXPmzOHy5cuKbTdu3KB58+ZK4/patmxJamoq//zzj6KsYcOGSp9XvXp1xa1xglAYkQQrAFsz1Xp8Va1XEn5+fkRERPD333+TkZHB5s2bSzTQeO7cuVy7do3u3btz5MgRvLy82LFjBwCjRo3i7t27DB06lCtXrtCsWTO+/vprtfaff2qdTyaTkZeXp3acQuUhkmAF4ONmTXULQ4pKOTKguoUhPm7WWovBxMSEWrVq4eLigp6e/CqKp6cnOTk5nDlzRlEvMTGRW7du4eXlVeS+ateuzaRJkzhw4AD9+vVj06ZNim3Ozs58+OGH/Pbbb0yePJkNGzYoPiv/mmO+kydPYmZmhpOTk6Z/XKESUfua4IunKC+SyWQYGhri4uIiJlPQMF0dGXN6ejF22wVkoNRBkp8Y5/T0QlendG8B8/DwoHfv3owePZr169djZmZGcHAwjo6O9O7du0D9jIwMpk6dyoABA3Bzc+Off/7h7NmziruMJk6ciL+/P7Vr1+bp06ccPXoUT09PQD4qYfny5Xz88ceMHz+eW7duMWfOHIKCglRfWlEQCqF2EvT29i72NKhKlSoMGjSI9evXi8HTGtS1fnXWvt+EOX9cUxomY19K4wSLsmnTJiZMmECPHj3Izs6mTZs27N27t8BpKYCuri6JiYkMGzaM+Ph4qlWrRr9+/Zg3bx4gn2nno48+4p9//sHc3JyuXbuybNkyABwdHdm7dy9Tp06lUaNGWFtbM3LkSGbOnFmqP6/w5lF7Kq3ff/+d6dOnM3XqVHx8fAAIDw9nyZIlzJkzh5ycHIKDgxk0aBBfffWVVoIur4qbxiczM5OoqCjc3Nxe649DSuZzGsw9AEDI8Ldo7WFT6i3AN4mm/l+E8qEkU2mp3RL84osvWLFiBV26dFGUNWjQACcnJ2bNmkV4eDgmJiZMnjy50iVBbXh5FpnM57mK56YGetyITVaqL2aREQT1qJ0Er1y5gqura4FyV1dXrly5AshPmcWiS5pR3Cwy+RMpvEjMIiMI6lE7CdatW5dFixbxzTffoK+vD8gnpFy0aJFiAGx0dDR2dnbF7UZQ0cuzyLxKeZtFRhDKO7WT4OrVq+nVqxdOTk6KgalXrlwhNzeX3bt3A3D37l3GjRun2UgrKVtzQ3F6KwhapHYSbNGiBVFRUYSGhiqmSBo4cCCDBw/GzEw+zdPQoUM1G2Up2r17N5MnTyYvL4/p06czatSosg5JEAQtKtG9w2ZmZnz44YeajqXM5eTkEBQUxNGjR7GwsFBMFCEWRhKEN1eJRpneuXOHjz/+mI4dO9KxY0cmTJigdA9oRRUeHk69evVwdHTE1NQUf39/Dhw4UNZhCYKgRWonwf379+Pl5UV4eDgNGzakYcOGnD59mnr16pX5lEXHjx+nZ8+eODg4IJPJ2LlzZ4E6q1evpkaNGhgaGuLr60t4eLhiW0xMDI6OjorXjo6OREdHl0boRUuJg5gI1R8pcWUUqCBUTGqfDgcHBzNp0iQWLVpUoHz69OllOmVRWloajRo1YsSIEfTr16/A9p9++omgoCDWrVuHr68vy5cvp0uXLty6dQtbW9syiFgF5zbBsUWvrpevbTD4FT/bsyAI/1I7Cd64cYOff/65QPmIESNYvny5JmIqMX9/f/z9/YvcvnTpUkaPHs3w4cMBWLduHXv27GHjxo0EBwfj4OCg1PKLjo5W3BVTmKysLLKy/h3InJycXGTdEms2HOq88DPlZMDGrvLnI8JA76Wp683sNR9DOSMWbxI0Se3TYRsbGyIiIgqUR0RElN/WFJCdnc358+fp2LGjokxHR4eOHTty6pR80LGPjw9Xr14lOjqa1NRU9u3bp3RnzMsWLlyIhYWF4uHs7Kz5wM3swcEbjF/ROWNcVV5PC0kwf6Gll1v/O3fu1Pi6vTVq1FAs6qSrq4uDgwMjR47k6dOnijpi8SZBk9RuCY4ePZoPPviAu3fvKmYTPnnyJIsXLyYoKEjjAWrK48ePyc3NLTCI287Ojps3bwKgp6fHkiVL8PPzIy8vj2nTphXbMzxjxgylnzk5OVk7ifDZQ1jVFHJeWoQ9v0UIoGcA48+DpRY+HzA0NGTx4sWMGTMGKysrrXxGvvnz5zN69Ghyc3OJjIzkgw8+4JNPPmHr1q2AWLxJ0Cy1W4KzZs1i9uzZfP3117Rt25a2bduyatUq5s6d+0bM6NGrVy8iIyO5ffs2H3zwQbF1DQwMMDc3V3poRXpiwQT4spwseT0t6dixI/b29ixcuLDIOidOnKB169YYGRnh7OzMJ598QlpammJ7bGws3bt3x8jICDc3N77//ntq1KhR4DKKmZkZ9vb2ODo64ufnR0BAABcuXFBsf3nxprlz5+Lt7c3WrVupUaMGFhYWvPvuu6SkpGjs5xfeXGonQZlMxqRJk/jnn39ISkoiKSmJf/75hwkTJmj81EiTqlWrhq6uLvHx8Url8fHx2Nu/+dfRXpeuri4LFizg66+/VprOPt+dO3fo2rUr/fv35/Lly/z000+cOHGC8ePHK+oMGzaMmJgY/vzzT7Zv384333zzyqnvo6Oj2bVrl9IU/oW5c+cOO3fuZPfu3ezevZtjx44VOH0XhMK81myUZmZmirtEyjt9fX2aNm3K4cOHFWV5eXkcPnyY5s2bl2FkFUffvn3x9vZWLGT0ooULFzJkyBAmTpyIh4cHLVq0YOXKlWzZsoXMzExu3rzJoUOH2LBhA76+vjRp0oRvv/2WjIyMAvuaPn06pqamGBkZ4eTkhEwmY+nSpcXGlpeXR0hICPXr16d169YMHTpU6f9aEIqi0jXBxo0bq9zKe/G0pbSlpqZy+/ZtxeuoqCgiIiKwtrbGxcWFoKAgAgICaNasGT4+Pixfvpy0tDRFb7HwaosXL6Z9+/ZMmTJFqfzSpUtcvnyZ0NBQRZkkSeTl5REVFUVkZCR6eno0adJEsb1WrVqFXl+cOnUqgYGBSJLEw4cP+fTTT+nevTvHjx9HV1e30Lhq1Kih9AdZLLAkqEqlJNinTx8th6EZ586dw8/PT/E6v9MiICCAkJAQBg0aREJCArNnzyYuLg5vb2/CwsLEjDdqaNOmDV26dGHGjBkEBgYqylNTUxkzZgyffPJJgfe4uLio1ZtbrVo1atWqBcin8F++fDnNmzfn6NGjSr37LxILLAklpVISLOz0pzxq164dr5ooe/z48UrXqQT1LVq0CG9vb+rUqaMoa9KkCdevX1ckr5fVqVOHnJwcLl68SNOmTQG4ffu20tCXouS3/go7dRaE1/Vai6+npqYW+GurtR5Sodxo0KABQ4YMYeXKlYqy6dOn8/bbbzN+/HhGjRqFiYkJ169f5+DBg6xatYq6devSsWNHPvjgA9auXUuVKlWYPHkyRkZGBS61pKSkEBcXpzgdnjZtGjY2NoohWYKgSWp3jERFRdG9e3dMTEywsLDAysoKKysrLC0ttT5+rNIyriofB1gcPYNXD6jWoPnz5yv9AWzYsCHHjh0jMjKS1q1b07hxY2bPno2Dg4OizpYtW7Czs6NNmzb07duX0aNHY2ZmVmBtj9mzZ1O9enUcHBzo0aMHJiYmHDhwQMzmI2iF2gsttWzZEkmSmDBhAnZ2dgX+irdt21ajAVYkWl1o6dnD/x8vWMRtc8ZVtTZQWlv++ecfnJ2dOXToEB06dCiTGMRCS2+WUllo6dKlS5w/f17pepCgRSlxqs0Mk54of5jZl9v7h48cOUJqaioNGjQgNjaWadOmUaNGDdq0aVPWoQmVmNpJ8K233uLhw4ciCZaW4maRefG2uXzleBaZ58+f8+mnn3L37l3MzMxo0aIFoaGhha5RLAilRe0k+O233/Lhhx8SHR1N/fr1C/wC5687ImjIy7PIvEo5bQUCdOnSpdgJKYSydfhGPF/suUGeJPFhW3fe9XFRbMvIzuXDbed5+DQdXZmMIb4uBLZ0A+BqdBL/2XmVjOwc6tqbs+SdRlTRfa37MEqV2kkwISGBO3fuKA0wlslkSJKETCYjNze3mHcLaivHp7fCmyMnN4/P99zgh9FvY2aoR8+vT9Clnj1WJvqKOmPbufN2zaqkZeXQc9UJ2tWxpUY1E4J/u8xnvevT2MWKVUf+5pdz/zDY16WYTytf1E7XI0aMoHHjxpw6dYq7d+8SFRWl9K8gCBXPpX+e4WFrir2FISYGerStY8PxvxMU2430dXm7prx33sRAj5rVTHmUIp/UI+ZZJo1d5CNDmrtXI+xaxZrdXO2W4P379/njjz+KHBQrFE/cxVC+iP8PufjkLOwt/u0dtzc3JD45s9C6Mc8yuBmXTH1Hee+ri7UxxyITaFvbhgPX4ohPKvx95ZXaSbB9+/ZcunRJJEE16evro6OjQ0xMDDY2Nujr65frWXfedJIkkZ2dTUJCAjo6Oujr67/6TQJZObmM//4Cn3bzxFhfnj7+O6Ahc3dd46v9t2hXxwYdnYr1e612EuzZsyeTJk3iypUrNGjQoEDHSK9evTQW3JtER0cHNzc3YmNjiYmJKetwhP9nbGyMi4sLOjoV50K+NtiZGxD3QgsuLjkTb2dLpTqSJBH08yX86tjSrUF1RbmHnRmho94G4Oy9J9xJSC2VmDVF7SSYv97w/PnzC2wTHSPF09fXx8XFhZycHHGcygFdXV309PREixxo5GRJZHwKcUmZmBnqcexWAp+091CqszjsFkZVdPm4g3J5YmoWVU0NyMnNY92fdwhsWaMUI399aidBcQ3l9chkMqpUqSLGxgnlip6uDv/p7sV7G06TJ0mMaeOOlYk+gZvCWdy/IXmSxLpjd/CwNcV/xV8ABPvXpW1tG367EM0P4Q+QgEFvOdPaw6Zsfxg1qX3b3N27d6lZs6a24qnQSnLLjiAImlOS76DaF0Jq1aqFn58f27ZtIzOzYvUCCYIgvEztJHjhwgUaNmxIUFAQ9vb2jBkzhvDwcG3EJgiCoHVqJ0Fvb29WrFhBTEwMGzduJDY2llatWlG/fn2WLl1KQkLCq3ciCIJQTpR4XICenh79+vXjl19+YfHixdy+fZspU6bg7OzMsGHDiI2N1WScgiAIWlHiJHju3DnGjRtH9erVWbp0KVOmTOHOnTscPHiQmJgYevfurck4BUEQtELtITJLly5l06ZN3Lp1i27durFlyxa6deumGGzq5uZGSEgINWrU0HSsgiAIGqd2Ely7di0jRowgMDCQ6tWrF1rH1taW77777rWDE4SXFTfdE8CsnVfZdzWW6hZG7Pq4VYH3j912nn+eZhS6Taic1E6Cf//99yvr6OvrExAQUKKABKEoqkz31NvbgXeaOfPpjisF3v/X3wkV7r7WsvIoOVMxS4wqbM0MsDWvmMsTqJ0Ew8LCMDU1pVUr+V/S1atXs2HDBry8vFi9erVYbEnQmhenewIU0z319nZU1GlWw5qHT9ILvPd5bh6rj95mbq96TP3lcqnFXFGFnnnAisOvbvDkm9DBg0mdamsxIu1ROwlOnTqVxYsXA3DlyhUmT55MUFAQR48eJSgoiE2bNmk8SEEA9aZ7etm3f0XRv4kTJvqvtcpspTHE14VOXnYA/O/2Y9Yfv0tiWrZiezVTfT5oXZMWtaoB8pZgRVWiJTe9vLwA2L59Oz169GDBggWsXr2affv2aTxAQXhdcUmZ/PV3AgOaOpV1KBWGrbkh9R0t+OdpOgv33VRKgACJqdks3HeTf56mU9/RosKeCkMJkqC+vj7p6fLTjUOHDtG5c2cArK2tSU5O1mx0gvCCwqZ7slPhy3c9Nom/H6XSavFRBq47xa24FAI3ibucXiU3T2LerusUNrlAftm8XdfJzVNr+oFyR+1zg1atWhEUFETLli0JDw/np59+AiAyMhInJ/GXVtAeVaZ7Kkz7unac/Y/81O7hk3TGhV4gZLiPtsOt8MKjnhBbzCzREhCblEl41BOau1ctvcA0TO0kuGrVKsaNG8evv/7K2rVrcXSUX5Tet28fXbsWsgRkJXTs70SWHb1Q5DCOiIfPmPrLJbJz8+jX2IkJHeVf5IHr/kdqlnyewfjkTHp7OzCnZ71Sj7+8etV0T3bmhkz++RLH/07gWXo2by84zKweXnRvWPhQLqF4j1JUu96qar3ySu2ptISiJScnY2FpRZtFB/lpTAvFMI7tY1soDePoteoEi/s3pLadGf3X/o9F/RtQ11552p8Ba//H5M51KvRfWKFiO3Unkfc2nH5lvR9Gv11ufk9LMpWW6CrTMAOH2rhXMy5yGEd8ciY5uRKe1eX/QT0bOXD4xiOlJBiXlMnDp+n4ulmX/g9QgVSmsWxlwcfNmuoWhsQlZRZ6XVAG2FsY4lPBf09FEtQwXdOq2Jr92+p7eRhHfHJmgWEeZ6ISlfax50os/vWri4G9r1CZxrKVBV0dGXN6ejF22wVkoJQI838z5/T0QreC/56KJFgO7bkcw6fdPMs6jHLvxbFsAJnPcxmw7hQAv37YHMMqukr1K/JYttKW38p2sjJmhn/dAuMEq/7/OEEnK2OuRidV6Fa2SIIalpuayKOUf39ZXl61y87csNhhHtHPMohLyqSpq7jz5lVszQ2Vvnjp2TmK514O5oolIQX1vaqV/Tg1mwX7bipeV+RW9mv9lvzwww/06tULExMTTcVT4WXFRHI7Ia3IYRx25obo6si4EZtMbTszdl2KYVH/Bortey/H0q1BdbECmlCmXm5lv0pFbmW/VhIcM2YMvr6+YuGlF0l5TO5Qs9hhHPN61+OTHy6SlZNH38aOSp0iu6/EMrenVxn+AIJQsJX9JnutJChG1xTOr3ZVejdzUyp7cXBuExcrDga1LfS9v3/UUquxCYKgrMQzSwuCILwJRBIU3hgv3sMaHvWkwt/TKpQOkQSFN0LY1Vg6Lj2meB246SytFh8h7KpY8EsonkiCQoUXdjWWsdsuEJ+sfPdIXFImY7ddEIlQKJZIgi/p27cvVlZWDBgwoKxDEVRQWaZ7ErRHjCZ9yYQJExgxYgSbN2/WyP7E/a3aVVmmexK0RyTBl7Rr144///xTY/sT97dqV2WZ7knQngqVBI8fP85///tfzp8/T2xsLDt27KBPnz5KdVavXs1///tf4uLiaNSoEV9//TU+PmU3gaa4v1W7bM1UazWrWk+ofF4rCZb2rV1paWk0atSIESNG0K9fvwLbf/rpJ4KCgli3bh2+vr4sX76cLl26cOvWLWxtbQHw9vYmJyenwHsPHDiAg4ODxmN+eeR9SuZzxfPUrBwau1hV+Fk4ylJlme5J0J4KdceIv78//v7+RW5funQpo0ePZvjw4QCsW7eOPXv2sHHjRoKDgwGIiIjQWDxZWVlkZf17ve9Va6yEXY1lzh/XFK8DN52luoUhc3p60bW+mP24JCrLdE+C9rxW7/D169dxdXXVVCyvJTs7m/Pnz9OxY0dFmY6ODh07duTUqVNa+cyFCxdiYWGheDg7OxdZVwzj0J6u9auz9v0m2JorX0qwtzBk7ftNxB8YoVivlQSdnZ3R1dV9dcVS8PjxY3Jzc7GzU575ws7Ojri4OJX307FjRwYOHMjevXtxcnIqNoHOmDGDpKQkxePhw4eF1hPDOLSva/3qHHrhfuyQ4W9xYnp7kQCFV6pQHSOl4dChQyrXNTAwwMDg1R0ZYhhH6XjxlNfHzVqcAgsqeWMGS1erVg1dXV3i4+OVyuPj47G3ty+jqOTEMA5BKL/emCSor69P06ZNOXz4sKIsLy+Pw4cP07x58zKMTAzjEITyrEIlwdTUVCIiIhQ9vFFRUURERPDgwQMAgoKC2LBhA5s3b+bGjRuMHTuWtLQ0RW+xKlavXk2NGjUwNDTE19eX8PDw1447fxhHUSdnMqC6GMYhCGVCrWuCeXl5HDt2jL/++ov79++Tnp6OjY0NjRs3pmPHjsX2jmrCuXPn8PPzU7wOCgoCICAggJCQEAYNGkRCQgKzZ88mLi4Ob29vwsLCCnSWFEWVcYYlIYZxCEL5pdLi6xkZGSxZsoS1a9fy5MkTvL29cXBwwMjIiCdPnnD16lViYmLo3Lkzs2fP5u233y6N2DXO19eXt956i1WrVgHypO/s7MzHH3+sGGdYnFct/Jw/TvDFYTJinGDJvXxftip344j7st9sWlt8vXbt2jRv3pwNGzbQqVMnqlSpUqDO/fv3+f7773n33Xf5z3/+w+jRo9WLvozljzOcMWOGokzT4wy71q9Oy1rVaDD3ACAfxtHaw0a0AEuouPuy85Phi8R92UJhVEqCBw4cwNOz+HVwXV1dmTFjBlOmTFFco6tIihtnePPmzULfo8odI4W1VvKZGuhxI1b5PaK1orrKtCKaoD0qJcFXJcAXValSBXd39xIHVJEsXLiQefPmFVtHtFa0pzKtiCZoj9qDpcPCwjA1NaVVq1aAvDd1w4YNeHl5sXr1aqysKuai4SUZZzhjxgxF5wzIW4Ivdw6J1ooglG9qD5GZOnWq4rTvypUrTJ48mW7duhEVFaWUECqakowzNDAwwNzcXOnxMltzQ+o7Wqj8EC0bQShdarcEo6Ki8PKSLw6+fft2evTowYIFC7hw4QLdunXTeIClKSgoiICAAJo1a4aPjw/Lly9Xe5yhIAgVi9pJUF9fn/T0dEB+n+2wYcMAsLa2fuVUUuVd/jjDsWPHkpGRgZWVlVrjDAVBqHjUToKtWrUiKCiIli1bEh4ezk8//QRAZGQkTk5OGg+wtI0fP5769euTkpLC5s2b8fX1LeuQBEHQIrWvCa5atQo9PT1+/fVX1q5di6OjIwD79u2ja9euGg+wLLRr1w4zM7OyDkMQhFKgdhJ0cXFh9+7dXLp0iZEjRyrKly1bxsqVKzUa3MuOHz9Oz549cXBwQCaTsXPnzkLraeP+X0EQ3kxqJ8G2bduyZcsWMjIytBFPsfLXGFm9enWRdfLv/50zZw4XLlygUaNGdOnShUePHinqeHt7U79+/QKPmJiY0vgxBEEoTyQ1TZgwQbKxsZHMzc2lUaNGSadOnVJ3FxoBSDt27ChQ7uPjI3300UeK17m5uZKDg4O0cOFCtfZ/9OhRqX///sXWyczMlJKSkhSPhw8fSoCUlJSk1mcJgqAZSUlJan8H1W4JLl++nJiYGDZt2sSjR49o06YNXl5efPXVVwUGGpe20l5nRJ01RgRBKJ9KNJ+gnp4e/fr14/fff+eff/5h8ODBzJo1C2dnZ/r06cORI0c0HadKSnudEVXXGBEEofx6rUlVw8PDmTNnDkuWLMHW1pYZM2ZQrVo1evTowZQpU1TaR3BwMDKZrNhHURMYaMuhQ4dISEggPT2df/7557XuGBEEoXxTe5zgo0eP2Lp1K5s2beLvv/+mZ8+e/PDDD3Tp0kWxGHtgYCBdu3blq6++euX+Jk+eTGBgYLF1atasqVJs5XmdEUEQyie1k6CTkxPu7u6MGDGCwMBAbGxsCtRp2LAhb731lkr7s7GxKXQfJfHi/b99+vQB/r3/d/z48Rr5DEEQ3ixqJ8HDhw/TunXrYuuYm5tz9OjREgdVlNTUVG7fvq14nb/GiLW1NS4uLoC4/1cQBPWonQRflQC16VVrjACvvc6IIAiVi0prjLzs119/5eeff+bBgwdkZ2crbbtw4YLGgqtoSrK+gSAImlOS76DavcMrV65k+PDh2NnZcfHiRXx8fKhatSp3797F399f7aAFQRDKktpJcM2aNXzzzTd8/fXX6OvrM23aNA4ePMgnn3xCUlKSNmIUBEHQGrWT4IMHD2jRogUARkZGpKSkADB06FB++OEHzUYnCIKgZWonQXt7e548eQLIZ5Q5ffo0IO+pLcHlRUEQhDKldhJs3749f/zxBwDDhw9n0qRJdOrUiUGDBtG3b1+NBygIgqBNavcO5+XlkZeXh56efHTNjz/+yP/+9z88PDwYM2YM+vr6Wgm0IhC9w4JQtkryHSzREBmhcCIJCkLZKsl3UKXB0pcvX1Y5iIYNG6pcVxAEoayplAS9vb2RyWRIkqSYJKEoubm5GglMEAShNKjUMRIVFcXdu3eJiopi+/btuLm5sWbNGi5evMjFixdZs2YN7u7ubN++XdvxCoIgaJRKLUFXV1fF84EDB7Jy5UqlhdYbNmyIs7Mzs2bNUszeIgiCUBGoPUTmypUruLm5FSh3c3Pj+vXrGglKEAShtKidBD09PVm4cKHSxAnZ2dksXLgQT09PjQYnCIKgbWpPpbVu3Tp69uyJk5OToif48uXLyGQydu3apfEABUEQtKlE4wTT0tIIDQ1VrP3h6enJ4MGDMTEx0XiAFYkYJygIZUtr4wRfZmJiwgcffFCStwqCIJQrKl0TzJ8kQRXp6elcu3atxAEJgiCUJpWS4NChQ+nSpQu//PILaWlphda5fv06n376Ke7u7pw/f16jQQqCIGiLSqfD169fZ+3atcycOZPBgwdTu3ZtHBwcMDQ05OnTp9y8eZPU1FT69u3LgQMHaNCggbbjFgRB0Ai1O0bOnTvHiRMnuH//PhkZGVSrVo3GjRvj5+eHtbW1tuKsEETHiCCUrVLpGGnWrBnNmjVTOzhBEITyqES9w4JQ6aXEyR+qMrOXP4RyRyRBQSiJc5vg2CLV67cNBr8Z2otHKDGRBAWhJJoNhzovLDGbkwEbu8qfjwgDPSPl+qIVWG6JJCgIJfHy6W32C0PH7BuCfuW+e6oiUXsChbt372ojDkEQhDKhdhKsVasWfn5+bNu2jczMTG3EJAiCUGrUToIXLlygYcOGBAUFYW9vz5gxYwgPD9dGbIIgCFqndhL09vZmxYoVxMTEsHHjRmJjY2nVqhX169dn6dKlJCQkaCNOQRAErVA7CebT09OjX79+/PLLLyxevJjbt28zZcoUnJ2dGTZsGLGxsZqMUxAEQStKnATPnTvHuHHjqF69OkuXLmXKlCncuXOHgwcPEhMTQ+/evTUZpyAIglaoPURm6dKlbNq0iVu3btGtWze2bNlCt27d0NGR51M3NzdCQkKoUaOGpmMVBEHQOLWT4Nq1axkxYgSBgYFUr1690Dq2trZ89913rx2cIAiCtqmdBP/+++9X1tHX1ycgIKBEAQmCIJSmEt8xkp6ezoMHD5RWnQMUiy8JgiBUBGonwYSEBAIDAwkLCyt0e25u7msHJQiCUFrU7h2eOHEiSUlJnDlzBiMjI8LCwti8eTMeHh788ccf2ohREARBa9RuCR45coTff/+dZs2aoaOjg6urK506dcLc3JyFCxfSvXt3bcQpCIKgFWq3BNPS0rC1tQXAyspKcYdIgwYNuHDhgmajEwRB0DK1k2CdOnW4desWAI0aNWL9+vVER0ezbt26IofMVCS7d++mTp06eHh48O2335Z1OIIgaJnap8MTJkxQ3BI3Z84cunbtSmhoKPr6+oSEhGg6vlKVk5NDUFAQR48excLCgqZNm9K3b1+qVq1a1qEJgqAlaifB999/X/G8adOm3L9/n5s3b+Li4kK1atU0GlxpCw8Pp169ejg6OgLg7+/PgQMHeO+998o4MkEQtKXE9w7nMzY2pkmTJmWeAI8fP07Pnj1xcHBAJpOxc+fOQuutXr2aGjVqYGhoiK+vr9I0YDExMYoECODo6Eh0dLS2QxcEoQyp1BIMCgpSeYdLly4tcTCvIy0tjUaNGjFixAj69etXaJ2ffvqJoKAg1q1bh6+vL8uXL6dLly7cunVL0dkjCELlolISvHjxoko7k8lkrxXM6/D398ff37/YOkuXLmX06NEMHz4cgHXr1rFnzx42btxIcHAwDg4OSi2/6OhofHx8tBq3IAhlS6UkePToUW3HoXXZ2dmcP3+eGTP+XfZQR0eHjh07curUKQB8fHy4evUq0dHRWFhYsG/fPmbNmlXkPrOyssjKylK8Tk5O1t4PIAiCVpT4muDt27fZv38/GRkZAEiSpLGgtOHx48fk5uZiZ2enVG5nZ0dcnHwRbT09PZYsWYKfnx/e3t5Mnjy52J7hhQsXYmFhoXg4Oztr9WcQBEHz1E6CiYmJdOjQgdq1a9OtWzfFcJmRI0cyefJkjQYXHByMTCYr9nHz5k2NfmavXr2IjIzk9u3bfPDBB8XWnTFjBklJSYrHw4cPNRqLIAjap/YQmUmTJlGlShUePHiAp6enonzQoEEEBQWxZMkSjQU3efJkAgMDi61Ts2ZNlfZVrVo1dHV1iY+PVyqPj4/H3r5kC2MbGBhgYGBQovcKglA+qJ0EDxw4wP79+3FyclIq9/Dw4P79+xoLDMDGxgYbGxuN7EtfX5+mTZty+PBh+vTpA0BeXh6HDx9m/PjxGvkMQRAqHrWTYFpaGsbGxgXKnzx5UqatotTUVG7fvq14HRUVRUREBNbW1ri4uADyoT4BAQE0a9YMHx8fli9fTlpamqK3WBCEykftJNi6dWu2bNnCZ599BsiHxeTl5fHll1/i5+en8QBVde7cOaXPzx/bGBAQoLidb9CgQSQkJDB79mzi4uLw9vYmLCysQGeJIAiVh0xSs1v36tWrdOjQgSZNmnDkyBF69erFtWvXePLkCSdPnsTd3V1bsZZ7ycnJWFhYkJSUhLm5eVmHI5Sm7DRY4CB//mkM6JuUbTyVVEm+g2r3DtevX5/IyEhatWpF7969SUtLo1+/fly8eLFSJ0BBECqmEq0xYmFhwX/+8x9NxyIIQmX1v6/hwhbQqQLWbtBnLRi+1JLLzYHfx0HcFZDyoMUn0HgIRB2HsE8BMMnLJWeWGRmProF5c5U+WqUkePnyZZV/FrHQkiAIaqvuDWNGQRUjODRPnhTbv9TQurUH8nJg3ClIS4TVb0Gj98CtDYw9AUD6/Us8XtqKqrb1VP5olZKgt7c3MpkMSZKU7g/Ov5z4YplYaEkQBLW5tf73uWMTiCxsITcZPM+AvFx4ngbGVUFH+Ypelcjd/Hz9OWPV+GiVrglGRUVx9+5doqKi2L59O25ubqxZs4aIiAgiIiJYs2YN7u7ubN++XY2PFgRBKETED+DevmB5nW7yluKSOrCmOXT6rECVKpG7+enqc7U+TqWWoKurq+L5wIEDWblyJd26dVOUNWzYEGdnZ2bNmqUYiCwIgqC202vheTpYu0NMhPK2uCuQnQ7v/QTpj2FPEBiYQVV3MLOHx7fheToX4/LU+ki1O0auXLmCm5tbgXI3NzeuX7+u7u4EQaiswjfA+c3y56MOwt0/4dIP4N4Bvmlb9Psi9/37PKQbtA0Gvxlw7Tdy6vQEVO/DgBIkQU9PTxYuXMi3336Lvr4+IJ+mauHChUr3EguCIBTLZ7T8ARBzEQ7MhGF/gI4uePX+t15OBmzsKn9etzu0mQaZyfDbaOi7Hmzryrdd28HzLsuBL9QKQ+0kuG7dOnr27ImTk5OiJ/jy5cvIZDJ27dql7u4EQRDg4BzISoHvB8lfu/hCy4lw/yRc++3fehlP4ZdAQILm48G9nbw84Rbk5ZJno35DTO07RkB+/3BoaKhiGitPT08GDx6MiUnlHiUv7hipxMQdI5r17CGsago5WUXX0TOA8efB8t95PEvyHSzRYGkTE5NXzrUnCIJQYumJxSdAkG9PT1RKgiXx2qvNCYIgVGQiCQqCUKmJJCgIQqUmkqAgCJWaSIKCIFRqKvUOW1lZqbyw+pMnT14rIEEQhNKkUhJcvny54nliYiKff/45Xbp0oXlz+Xxdp06dYv/+/cUuVC4IgqCSlDhIjQddfcjNLrqerr68Xkqc/N7hElJ7sHT//v3x8/MrsELbqlWrOHToEDt37ixxMBWdGCxdiYnB0ppzdCEcW6R6/fx7hynZd1DtJGhqakpERAS1atVSKr99+zbe3t6kpqaqs7s3ikiCb7iwGRD1l/x5VhIYWCgm81RKgnb15TMf65tCz+VgVw8ynsGW3vK58PJy4O0PoWlgGfwQFUBKnPyhKjN7RUuwVO4YqVq1Kr///juTJ09WKv/999+pWrWqursThIqj68J/nx/+DHSK+PoM2iafIv72YdgzBUbsk0/5NHwf6BvLE+aat8GzFxhbl07sFckLSa00qJ0E582bx6hRo/jzzz/x9fUF4MyZM4SFhbFhwwaNBygI5dL1nfDu94VvM7WV/+vYBFJi5M91dOUJEOS3e0mA+rftC1qgdhIMDAzE09OTlStX8ttv8tkdPD09OXHihCIpCsIbLfYy6BqATZ3i60V8rzxDcsYzCOkOiXeg82dgIs6cyoMSTaDg6+tLaGiopmMRhIrh2g6o37f4Ov+cg3ObYOSBf8uMLGHsSUh9BD+9L58zL7/VKJSZEg2WvnPnDjNnzmTw4ME8evQIgH379nHt2jWNBicIZS58A6xtJX88z5CXXdsB9foV/Z5nD+C3D2DQ1sKv+ZnayjtP7v9POzELalE7CR47dowGDRpw5swZtm/frugNvnTpEnPmzNF4gIJQpnxGy3uAx56QL/ITc1G+Hm5V96Lf88tw6P4V2L4wwWfqI/mkoQCZSfIEWM1Du7ELKlH7dDg4OJjPP/+coKAgzMzMFOXt27dn1apVGg1OEMqdazug3gunws8eFpz9+Ok92DtV/lzPSJ5Anz2EXRMASd4h4vuBfOiMUOZKtNDS998X7BWztbXl8ePHGglKEMqtTvP/fV7U7Mc5GZB4W/5cz0Bez6npv2MKhXJF7dNhS0tLYmNjC5RfvHgRR0dHjQQlCBWCOrMfC+WW2knw3XffZfr06cTFxSGTycjLy+PkyZNMmTKFYcOGaSNGQRAErVE7CS5YsIC6devi7OxMamoqXl5etGnThhYtWjBz5kxtxCgIgqA1aidBfX19NmzYwN27d9m9ezfbtm3j5s2bbN26FV1dXW3EWOr69u2LlZUVAwYMKOtQBEHQMrWT4Pz580lPT8fZ2Zlu3brxzjvv4OHhQUZGBvPnz3/1DiqACRMmsGXLlrIOQ3W3wmD12zDXEuKv/1t+5VdY00I+xu27LpAQWfC9OVnyMW1rmsP6tvK7IUD+74YO8v2ua/3vxAGC8IZROwnOmzev0Jli0tPTmTdvnkaCKmvt2rVTGv5T7lXzgHe2gGtL5fLaXeR3KIw9Aa0mwqFCxnGeD5FP+zTuFAzcBPs/lZfrm0D/DfDRaei3AX7/SNs/hSCUCbWToCRJhc4yfenSJayty3ZGjOPHj9OzZ08cHByQyWRFzm24evVqatSogaGhIb6+voSHh5duoJpW1R1sahcsNzCD/P+r5+lAIbODJ9wCtzby59Y1ISUWUuLl+7SuKS+3qSOf+SQvVyvhC0JZUnmcYP4U+zKZjNq1ayslwtzcXFJTU/nwww+1EqSq0tLSaNSoESNGjKBfv8Jva/rpp58ICgpi3bp1+Pr6snz5crp06cKtW7ewtX3D7uNMiZO39C5skc/Q22M5xEQo1zG0gIuhYOkqv5Ph6X35zCdmdv/WubkbHLzlM6EI/zKuKh8HWNwwGT0DeT2h3FI5CS5fvhxJkhgxYgTz5s3DwsJCsU1fX58aNWooptsvK/7+/vj7+xdbZ+nSpYwePZrhw4cDsG7dOvbs2cPGjRsJDg4ujTBLz7lNyjP0/jSk6Lq3D4KNp3z6J9kLye5JFBycDUN+1V6cFZWlM4w////jBTNgY1d5+Ygw+Z0iIE+Als5lF6PwSionwYCAAADc3Nxo0aIFVapU0VpQ2pKdnc358+eZMWOGokxHR4eOHTty6tQptfeXlZVFVta/rYDk5GSNxKmS8A1wfrP8+aiD8vtaX9ZsONR54Y/Cll7y1h4of1HzmdlDSA+wcpW/Tn8CPw6WtyCLu1e2MrN0lj+y0/4ts28optevQNS+ba5t27aK55mZmWRnKy+EUp6nlX/8+DG5ubnY2dkpldvZ2XHz5k3F644dO3Lp0iXS0tJwcnLil19+KbSVu3DhwrLrDPIZLX8UJztNfhoLcOeI/JQ37v97f/O/qNlpgEw+4eeVX+X1DS0gJ1s+3VPz8VCzbREfIAgVn9pJMD09nWnTpvHzzz+TmFjwdqDcXM1ePA8ODmbx4sXF1rlx4wZ169bV2GceOnRIpXozZswgKChI8To5ORln5zI49Yk8IL85P/2xfB0L1+by3uLLP8H13+U37FcxgubjYMf/X7f9dTi0+xSSo+U9wjpV5K293mvk26/tgH/OQmYynF4rLwv4Q0wHL7xx1E6CU6dO5ejRo6xdu5ahQ4eyevVqoqOjWb9+PYsWqbFClIomT55MYGBgsXVq1qyp0r6qVauGrq4u8fHxSuXx8fHY26u/poGBgQEGBgZqv0/janeGyTcKlvt9Co2H/nuT/44XOq4i98sfIL94P/688rWrRoPkD0F4w6mdBHft2sWWLVto164dw4cPp3Xr1tSqVQtXV1dCQ0MZMqSYi+8lYGNjg42NjUb2pa+vT9OmTTl8+DB9+vQBIC8vj8OHDxdYQvSNoc5N/uICvlAJqZ0Enzx5omh5mZub8+TJEwBatWrF2LFjNRudmlJTU7l9+7bidVRUFBEREVhbW+Pi4gJAUFAQAQEBNGvWDB8fH5YvX05aWpqit1gQhMpF7SRYs2ZNoqKicHFxoW7duvz888/4+Piwa9cuLC0ttRCi6s6dO4efn5/idf71uoCAAEJCQgAYNGgQCQkJzJ49m7i4OLy9vQkLCyvQWSIIxXp5bdycjH+fx10uvOe9FJeRFFSn9uLry5YtQ1dXl08++YRDhw7Rs2dPJEni+fPnLF26lAkTJmgr1nKvXC6+HhMB36jQu/vBsX97koVXO7pQeQzmq7QNBr8Zr64nvJZSWXx90qRJiucdO3bk5s2bnD9/nlq1atGwYUN1dycIFdPLYzBfRbQCy60SLbn5IldXV1xdXTURiyBUHOL09o1RoiR49uxZjh49yqNHj8jLy1PatnTpUo0EJgiCUBrUToILFixg5syZ1KlTBzs7O6WJFAqbXUYoY+Imf0EoltpJcMWKFWzcuPGVA5iFciAlTj7+752t8nuGczLhj4/l23p9DXqG8ueGFvJ6ulXEKZ5Q6aidBHV0dGjZsuWrKwpl7+VZZF6UnwxfJHowhUpI7SEyX375JTExMSxfvlxLIVVc5W6IzMtj2V5FXOwXKriSfAfVToJ5eXl0796dyMhIvLy8Ckyp9dtvv6mzuzdKuUuCglDJlMo4wU8++YSjR4/i5+dH1apVRWeIIAgVmtpJcPPmzWzfvp3u3btrIx5BEIRSpfZCS9bW1ri7i1mGBUF4M6idBOfOncucOXNIT0/XRjyCIAilSu3T4ZUrV3Lnzh3s7OyoUaNGgY6RCxcuaCw4QRAEbVM7CeZPRioIgvAmUHuIjFA0MURGEMpWSb6Dal8TFARBeJOodDpsbW1NZGQk1apVw8rKqtixgfnT7QuCIFQEKiXBZcuWYWZmpnguBkgLgvCmENcENUhcExSEslUqt83p6uoSGxuLra2tUnliYiK2trYaX3y9IpEkCUtLS9auXUu1atV4/vw57du3L9GaxgD37t0jJyeHWrVqFVsvMjKSCxcuoKenR5cuXRSt9nwXLlwgMjISIyMjunbtqlgrOTs7m40bN9K5c2dq1qzJ48ePOXz4MDKZjEaNGlGnTp0Sxa0tSUlJ/PDDD1StWrVcH9udO3eSlSWfv9HPzw9bW1tOnTrFvXv3APD29sbT07NEcZel8nj8X5acnAzIv4sqk9Qkk8mk+Pj4AuXR0dGSoaGhurt7ozx8+FCytLSU3nnnHQmQHB0dpaFDh0qA1h46OjrSyJEjJV1dXcnZ2Vnq0aOH0nZjY2Np2LBhEiA1aNBAatWqlWJb69atpffff1+qXbu2BEiDBw+WrK2tJZlMJgUGBkp6enpajV3dR0U5tlZWVhIgVa1aVRo8eLBSma6urjR27NgyP5ZvwvEv7vHw4UOVv7cqnw6vXLkSkC+09Nlnn2FqaqrYlpuby/Hjx7l37x4XL15UZXdvpLy8PG7dusWFCxfo2bMnOTk5hIaGEhAQoFQvNDQUW1tbEhMTqVWrFs2aNSMlJYX9+/eTl5dHtWrVaN++PdeuXeP58+d4e3srvT85ORlnZ2cePnzI8+fPOX/+PJ07dwbgxx9/5N1331XUjYqKIj4+nrfffpuMjAz2799Pnz59yMrK4vDhw1hZWWFnZ0fNmjX5/vvvGTx4MAD79u2jcePGJf5Lrw1JSUkcP3683B/bF+P9888/6d27t6JMkiRCQ0MZMmRIhbu2/rrHPzs7m127drF+/XrF8X35+L8oMTGx2ONfGEmSSElJwcHBAR0d1Qa/qHw6vGzZMsWHrFu3Dl1dXcU2fX19atSowbp161Td3RtJR0eH6tWrU6VKFczNzblz5w62trYFrk1kZ2fTtm1bqlatSkhICL6+vly6dIk2bdpQq1Ytfv/9d54+fYqRkRG6urqYm5vz22+/KZr6ubm5BAYG8uTJE6ysrDA1NVV8hkwmU/o8HR0dzM3NMTc3x9TUlOfPn2Nubs6xY8do0aIFd+/exdjYGHNzc6ytrUlJScHGxob4+HjFZ5cXeXl5FeLY5gsLC6NNmzZKZadOnaJ+/fpYWFho81Bpxesef1tbW/bt20dycnKRxz9fq1atMDAwKPb4F0XdY6tyEoyKigLk1zh+++03rKys1PqgyuT+/fuEhISgr69P165dC2zX19enWrVqANjZ2fH06VOePHmCg4MDAI6OjiQmJir9JevXr5/ieXJyMqNGjWLFihVkZWUprj8BBf76GRoaKoYtZWZmYmRkRGZmJvHx8bRt25a7d+8q6nbq1Im9e/cik8mwsbFRau2XF+X92OY7evQojo6OSisx3rlzhwcPHvDOO++8ziEoU69z/HNycoiJieHZs2cYGxsr3vPi8X9RQkJCscdfU9TuGDl69KjS69zcXK5cuYKrq6tIjP/P1dW12F/07OxsEhMTsba25tGjR1haWmJtbU10dDQeHh5ER0fj7e3N06dPFe8prLVy79496tWrx+PHj8nNzSUmJqZAh5WDgwOnTp0C5F9CZ2dnHj9+THJyMtu2bePJkydERkZia2uLlZUVQ4YM4fnz52zfvr3AvsqD8n5sASIiIkhOTlY6DY6Pj+f48eMV8jT4Ra9z/O3s7HBwcMDS0pLs7GzFe4pqCbq5uRV7/DVF7SQ4ceJEGjRowMiRI8nNzaVNmzacOnUKY2Njdu/eTbt27bQQ5pvF0NCQ06dPExsbS926dTE1NaVly5bs3LmTEydOYGNjg6urq9IX9cW/lllZWTx8+JA6deqgq6uLr68vISEh6OnpKa5JnThxgnr16mFlZYWHhwcbN27E0NCQfv36YWhoyKhRowD4888/Fb+YERERXLp0CR0dHTp06FAhv6xlfWzz8vLYtWsXjo6OhISEYGVlRe/evdm/fz8ZGRl8//33ALz77rsYGhqW6rEpDcUd/5ycHBo3boy7uzs3btxQvKeoliBQ6PHXOHV7QB0cHKSzZ89KkiRJO3bskBwcHKRbt25JM2fOlFq0aKHu7iql9evXl3UIbyxxbMtWRTz+arcEExMTFT2Ge/fuZeDAgdSuXZsRI0awYsUKjSfpii40NJTnz58rXrdo0aIMo3mziGNbtt6U46/2HSOurq5s2LCBDh064Obmxtq1a+nevTvXrl2jVatWSqcZgiAI5Z3a3S3Dhw/nnXfeoX79+shkMjp27AjAmTNnqFu3rsYDFDQrMDDwjZ8T8s8//0Qmk/Hs2TOt7L9GjRpiyVkVVJTjpPbp8Ny5c6lfvz4PHz5k4MCBiluwdHV1CQ4O1niAb6LAwEB+//13Ro8ezePHjzE2NsbU1JS5c+e+8mJ5fkdG7dq1Vf6806dPc/36dYyMjCpEZ0dCQgKzZ89mz549xMfH4+LiwqBBg7CxscHY2Jhu3brh6Oj4yv2cPn2amjVrlvhY9evXT/H7ne/gwYP4+/uTnp5Obm4uurq6/Pzzz6Snp5OTk0OnTp1wdXVFkiQOHz5MTEwMeXl5vP/+++jq6irGKUqSRK9evRTDScqrdu3a4e3trUhmz549Y8OGDeTm5nL//n1mzpyp0v/F6/7eFvZ/oSklGngzYMAAJk2ahJOTk6IsICBAaUiAULy2bdtSv3595s2bR/PmzYmPj2fOnDkl3t+L12ZelJ6eTmRkJMOHD6devXrlavBzUfr378/FixfZvHkzkZGRbNiwAX19fdzc3PD39+fIkSNa+dyXj1V4eLjS9ocPH5KSksK+ffvQ0dHh+vXringDAwMZMGAAx44dA+DGjRuYmpoybNgwAgMD0dPTIy4ujtzcXIYPH06HDh0Uw2sqGldXV+zt7Tl69Gih/xcvDn8pqVf9X2iSykmwW7duJCUlKV4vWrRI6XQjMTERLy8vjQb3JtPX18fQ0BBnZ2cGDRqEvb09Bw8eBP49jVi/fj179+7l22+/ZeDAgcydOxeAK1euMHToUBYuXEifPn0wMTHhiy++IDc3l5EjR+Lm5oaRkRF16tRhzZo1uLq6IpPJqFWrVrkflvHs2TP++usvFi9ejJ+fH66urnh7e1O3bl169epFVlYWZ86cISIiQuk9H374IRs2bODbb7/lwYMHADx48IAvv/ySgIAAxo8fr3RL59y5cwvcsrV69Wq2b9+uOFa7d++mT58+fPHFFzg4ODB69GjFSovZ2dl89913mJiY4OLiwurVq8nKylKMZduxYwdff/01I0eOpFevXowbNw5dXV0kSUKSJPbs2cO6devYv38/np6emJqa0rVrV2JjY7V7gDUoISGB5ORkxSWW/OM0ZcoU9u7dS48ePUhOTua9995jwYIFfPbZZyxYsIBt27YpBkEvXbqUBg0aYGJigrOzM+PGjSM1NZXo6GhcXV3ZvHkznTt35sKFC1o7Tionwf379yuN3l6wYIHSBKo5OTncunVLY4FVJseOHSM2NhZ9fX2l8szMTFq0aMGIESNwcXFRlFtaWrJt2zYOHjyIn58fV65cwcHBgS1btuDs7ExQUBDLli1j+vTp/Pjjj4oxWYaGhlobda8ppqammJqaKs3E8qK4uDgeP35coDz/D8qIESOIj48H5Keub7/9NlOmTCE9PZ2ZM2fy/PlztmzZAsgH5IaEhBASEkJcXBySJCla1PnH6vDhw9y6dYuDBw8yatQoxSnZt99+S9WqVbl48SLBwcGcP3+e7777Dg8PD0VMXbp0YdasWXTp0oVLly4xd+5cdHV1Wb16NU+ePOH06dN89dVXbN26lePHj/PgwQOmTJmi8WOqLY6OjorT+RePk4uLCy1atGDPnj0kJCTQqFEjxowZQ/369Zk9ezaSJCkWZEtPT2fkyJEsWbKEyZMnA/Dpp5+SmZmpONZPnz7lwYMHWjtOKl8TfLkTWc1OZeElhw8fxs3NjbCwMLKysti/fz/r169XqmNkZISlpSWA0hRl1atXB6BJkya4u7tTs2ZNPvjgg0I/5+rVq1y+fBmQJ9W8vDwt/DSao6enR0hICKNHj2bdunU0adKEtm3bYmZmRkhICLm5uRw8eLDA9eeMjAxF4spP9G3btqVFixZ4eXkxbdo0goOD2bFjB8OGDWPu3LmcOHGCVatWKfYhk8kUqyfmHysTExO+/fZb9PX1SU9PVyRmHx8fmjZtSu3atalduzbvvvsu4eHhVK1aFXd3d+rUqUOLFi1wcHDA19cXfX191q5dS5cuXRg/fjzr16+nffv2LFq0SNG6HD9+PPPnzy+Nw/xa7t+/T25uLo0bN6ZTp07s27dP6TidPHkSS0tLJEnC0NCQ4OBg/vzzTzw9Pbl48SK///47gYGBAMycOVNp37/++isffvghH3/8saKRpauri6enJ82aNQM0f5zU7hgRNKN58+bUqVOHwYMHs2zZMvr06UP//v1Vem9cXBwANWvWxNraGoAtW7aQl5dHdHQ0cXFxZGVlcejQIZ48ecLQoUMB+a1dmZmZ2vmBNKh///50796dv/76i9OnT3P06FFsbW2pXr06HTp0UHkJB2dnZ+Li4vDy8iI1NZUqVapw48aNAi1BgK5du6Krq6sYA5t/rBo0aKBooTs7Oyuu4zVo0ABnZ2ckSSIvL4/mzZuzZs0axXXx9PR0pk6dyp9//omPjw/Xr18nLy8PPT35V05XVxdjY2NFAgT5H7dHjx69/gHUMldXV9LT01m0aBGbN28GUDpOL3rx/vO4uDiaN2/O3r17Fb+3y5cv5/79+4qOJkmSqFKlClZWVopj7eXlpTS3paaPk8rnRjKZrEDPYkXoaSyv8nuEGzVqxMaNGzlz5gzfffcdIL9RvLiWd3JyMkOHDiUjI4OmTZsCMGzYMAwNDfn888/x9PRk7NixHDhwgEGDBhETE8PGjRu5cuVKgXs0yytDQ0M6derErFmz+O2333B1dWXOnDmKVt6Lx6OoTiGQH6utW7dy8+ZNxaSmw4YNQ0dHh7/++ovAwEACAwOxt7cnNzeXhw8fKh0rExMTwsLCeP78Ofb29piYmODv7w/Iv5y5ubls3bqVlJQUOnToQPv27bl37x4fffQRNWrUYPr06fTv35/p06dz9+5dkpKSCAkJISEhocDFfplMVu7OsMzNzZX6AvI9e/ZMabYWExOTV+4rOTmZ1NRUXF1dadq0Kffu3VO06IcPH860adNo2bIlcXFx6Onp4eHhQVxcHPXq1eOtt95S7Efjx0nVW0tkMpnUrVs3qW/fvlLfvn0lPT09qXPnzorX3bp1k3R0dDR3L8sbLCAgQOrdu7dS2ffffy/Z29tL6enpko+PjzR16lTFtqSkJMnIyEiaM2eOogyQduzYobSP8ePHS+3bt1cq69Chg9SoUaNiP7siWLJkiVS1alUpPT1dAqQ9e/Yoth04cEACpKNHj0qSJElHjx6VAOmnn35S1Hny5IlkbGysKFuzZo1ka2sr5eXlKeoMHjxYcnV1Vbwu6li5urpK/v7+SmXvvvuuouzXX3+VqlSpIuXm5iq2f/bZZxIgPX36VJIkSdq0aZNkYWGhtI8dO3ZIanwlS8WUKVOkhg0bFigfOnSo1LFjR0mSKv5xUvl0+OXJE99///0CdYYNG1bybFzJ5eTk0KtXL7766iu6du1KWFgYf/31F5aWlsyePVtp/saieHh4sGXLFvbv34+bmxtbt27l7NmzuLm5lcJPoBmJiYkMHDiQESNG0LBhQ8zMzDh37hxffvklvXv3xsjIiI8++ogDBw5w7949srOzOXToUKH7mj9/PlWrVsXOzo7//Oc/VKtWTTFQvF27diQkJPDll18yYMAAwsLC2Ldvn8pDiE6ePMmXX35Jnz59OHjwIL/88gt79uwBoFatWjx//pyvv/6anj17cvLkyQo71+bYsWNZtWoVn3zyiaJjaM+ePfzwww/s2rWL0NBQ7O3tqVatGiEhIbRo0UJpLGCFOE4aS6eCyor6y7lw4ULJxsZGevbsmTRo0CDJ3NxccnZ2lkJCQqRGjRq9siWYmZkpBQYGShYWFpKlpaU0duxYKTg4uEK1BDMzM6Xg4GCpSZMmkoWFhWRsbCzVqVNHmjlzppSeni5JkiRdv35dat68uWRkZCR5e3sX2RLctWuXVK9ePUlfX1/y8fGRLl26pPRZa9eulZydnSUTExNp2LBh0hdffKFyS3DevHnSwIEDJWNjY8ne3l5asWKFUp2lS5dK1atXl4yMjKQuXbpIW7ZsqZAtQUmSpPDwcKlTp06SjY2NZGFhIfn6+ir97lX04yRWmxMEoVIr34PGBEEQtEwkQUEQKjWRBAVBqNREEhQEoVITSVAQhEpNJEFBECo1kQQFQajURBIUBKFSE0lQEFTw8tos7dq1Y+LEiWUWj6A5IgkKFUZgYKBiNqMqVarg5ubGtGnTymR6sN9++43PPvtM8bqiLCokFCTmExQqlK5du7Jp0yaeP3/O+fPnCQgIQCaTsXjx4hLt7/nz54qJVNWRPx+eUPGJlqBQoRgYGGBvb4+zszN9+vShY8eOBdZmeZG3t7dibRaQz0W3du1aevXqVezaLCtWrCg2jhdPh9u1a8f9+/eZNGmSoqWalpaGubk5v/76q9L7du7ciYmJCSkpKa99LATNEElQqLCuXr3K//73v0JnNC7O3Llz6du3L1euXGHEiBHk5eXh5OTEL7/8wvXr15k9ezaffvopP//8s0r7++2333BycmL+/PnExsYSGxuLiYkJ7777Lps2bVKqu2nTJgYMGICZmZlaMQvaI06HhQpl9+7dmJqakpOTQ1ZWFjo6OkrrhKhi8ODBDB8+XKls3rx5iudubm6cOnWKn3/+mXfeeeeV+7O2tkZXVxczMzPF9PwAo0aNokWLFsTGxiqmhN+7d2+R8x8KZUO0BIUKxc/Pj4iICM6cOUNAQADDhw9XeW2WfPkL9rxo9erVNG3aFBsbG0xNTfnmm28US3eWlI+PD/Xq1VOsw7Ft2zZcXV1p06bNa+1X0CyRBIUKxcTEhFq1aqm8Nkth64+8vB7Gjz/+yJQpUxg5ciQHDhwgIiKC4cOHa2QR8VGjRikWc9q0aRPDhw8Xa/OUMyIJChWWjo4On376KTNnziQjIwMbGxulRbmTk5OJiop65X5OnjxJixYtGDduHI0bN6ZWrVrcuXNHrVj09fWVlkXN9/7773P//n1WrlzJ9evXCyxTIZQ9kQSFCm3gwIGKBc3bt2/P1q1b+euvv7hy5QoBAQEqr81y7tw59u/fT2RkJLNmzeLs2bNqxVGjRg2OHz9OdHS00uLwVlZW9OvXj6lTp9K5c2ecnJzU/hkF7RJJUKjQ9PT0GD9+PF9++SXBwcG0bduWHj160L17d/r06aO0rm9RxowZQ79+/Rg0aBC+vr4kJiYybtw4teKYP38+9+7dw93dHRsbG6VtI0eOJDs7mxEjRqi1T6F0iDVGBEHLtm7dyqRJk4iJiVF7OI+gfWKIjCBoSXp6OrGxsSxatIgxY8aIBFhOidNhQdCSL7/8krp162Jvb8+MGTPKOhyhCOJ0WBCESk20BAVBqNREEhQEoVITSVAQhEpNJEFBECo1kQQFQajURBIUBKFSE0lQEIRKTSRBQRAqNZEEBUGo1P4PUqzLjmaH33sAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from pathlib import Path\n", + "\n", + "csvp = 'final_contrast_comparison_combined.csv'\n", + "out_annot = 'final_contrast_comparison_symlog_annotated.png'\n", + "out_col = 'final_contrast_comparison_symlog_column.png'\n", + "\n", + "print('Reading', csvp)\n", + "df = pd.read_csv(csvp)\n", + "\n", + "period_order = ['Before 2020', '2020 and After']\n", + "rurality_order = ['Rural','Suburban','Urban']\n", + "periods = [p for p in period_order if p in df['Period'].unique()]\n", + "\n", + "# create annotated figure (wide)\n", + "fig, axes = plt.subplots(1, len(periods), figsize=(12*len(periods)/2,6), sharey=True)\n", + "if len(periods)==1:\n", + " axes=[axes]\n", + "\n", + "for ax, p in zip(axes, periods):\n", + " sub = df[df['Period']==p]\n", + " pois = sub[sub['model']=='poisson'].set_index('rurality')\n", + " nb = sub[sub['model'].isin(['neg_binom','neg_binom','neg-binom','nb','neg_binom'])].set_index('rurality')\n", + "\n", + " xs = np.arange(len(rurality_order))\n", + " width = 0.35\n", + "\n", + " poi_y = [pois.loc[r, 'poisson_median'] if r in pois.index and not pd.isna(pois.loc[r,'poisson_median']) else np.nan for r in rurality_order]\n", + " poi_lower = [pois.loc[r, 'poisson_ci_lower'] if r in pois.index and 'poisson_ci_lower' in pois.columns else np.nan for r in rurality_order]\n", + " poi_upper = [pois.loc[r, 'poisson_ci_upper'] if r in pois.index and 'poisson_ci_upper' in pois.columns else np.nan for r in rurality_order]\n", + " poi_err = np.array([ [(y - lo) if not (pd.isna(y) or pd.isna(lo)) else 0 for y, lo in zip(poi_y, poi_lower)],\n", + " [(up - y) if not (pd.isna(y) or pd.isna(up)) else 0 for y, up in zip(poi_y, poi_upper)] ])\n", + "\n", + " nb_y = [nb.loc[r, 'nb_median'] if r in nb.index and not pd.isna(nb.loc[r,'nb_median']) else np.nan for r in rurality_order]\n", + " nb_lower = [nb.loc[r, 'nb_ci_lower'] if r in nb.index and 'nb_ci_lower' in nb.columns else np.nan for r in rurality_order]\n", + " nb_upper = [nb.loc[r, 'nb_ci_upper'] if r in nb.index and 'nb_ci_upper' in nb.columns else np.nan for r in rurality_order]\n", + " nb_err = np.array([ [(y - lo) if not (pd.isna(y) or pd.isna(lo)) else 0 for y, lo in zip(nb_y, nb_lower)],\n", + " [(up - y) if not (pd.isna(y) or pd.isna(up)) else 0 for y, up in zip(nb_y, nb_upper)] ])\n", + "\n", + " ax.errorbar(xs - width/2, poi_y, yerr=poi_err, fmt='o', label='Poisson', color='#1f77b4', capsize=4)\n", + " ax.errorbar(xs + width/2, nb_y, yerr=nb_err, fmt='s', label='NegBin', color='#ff7f0e', capsize=4)\n", + "\n", + " # numeric labels for medians\n", + " for xi, (py, ny) in enumerate(zip(poi_y, nb_y)):\n", + " if not pd.isna(py):\n", + " ax.text(xi - width/2, py + 0.12*max(1, abs(py)), f'{py:.2f}', ha='center', va='bottom', color='#1f77b4', fontsize=8)\n", + " if not pd.isna(ny):\n", + " ax.text(xi + width/2, ny + 0.12*max(1, abs(ny)), f'{ny:.2f}', ha='center', va='bottom', color='#ff7f0e', fontsize=8)\n", + "\n", + " # p-value labels under x-axis\n", + " xlocs = xs\n", + " ptexts = []\n", + " for r in rurality_order:\n", + " pv_pois = pois.loc[r,'poisson_p'] if r in pois.index and 'poisson_p' in pois.columns else np.nan\n", + " pv_nb = nb.loc[r,'nb_p'] if r in nb.index and 'nb_p' in nb.columns else np.nan\n", + " pstr = ''\n", + " if not pd.isna(pv_pois):\n", + " pstr += f'P_poi={pv_pois:.3g}'\n", + " if not pd.isna(pv_nb):\n", + " if pstr: pstr += '\\n'\n", + " pstr += f'P_nb={pv_nb:.3g}'\n", + " ptexts.append(pstr)\n", + " for xi, txt in enumerate(ptexts):\n", + " ax.text(xi, ax.get_ylim()[0]*0.95, txt, ha='center', va='top', fontsize=7, color='gray')\n", + "\n", + " ax.set_xticks(xs)\n", + " ax.set_xticklabels(rurality_order)\n", + " ax.set_title(p)\n", + " ax.set_xlabel('Rurality')\n", + " ax.grid(axis='y', linestyle=':', alpha=0.5)\n", + "\n", + "# symlog scale\n", + "for a in axes:\n", + " a.set_yscale('symlog', linthresh=0.5)\n", + " a.set_ylim(-40, 6)\n", + "\n", + "axes[0].set_ylabel('Estimated delay (days) — symlog scale')\n", + "axes[-1].legend()\n", + "plt.tight_layout()\n", + "fig.savefig(out_annot, dpi=300)\n", + "print('Wrote', out_annot)\n", + "\n", + "# now save a column-width version (single panel focusing on '2020 and After' if present)\n", + "col_width_in = 3.3\n", + "col_height_in = 3.3\n", + "fig2, ax2 = plt.subplots(1,1, figsize=(col_width_in, col_height_in))\n", + "\n", + "p = '2020 and After' if '2020 and After' in df['Period'].unique() else df['Period'].unique()[0]\n", + "sub = df[df['Period']==p]\n", + "pois = sub[sub['model']=='poisson'].set_index('rurality')\n", + "nb = sub[sub['model'].isin(['neg_binom','neg_binom','neg-binom','nb','neg_binom'])].set_index('rurality')\n", + "\n", + "xs = np.arange(len(rurality_order))\n", + "width = 0.35\n", + "\n", + "poi_y = [pois.loc[r, 'poisson_median'] if r in pois.index else np.nan for r in rurality_order]\n", + "poi_lower = [pois.loc[r, 'poisson_ci_lower'] if r in pois.index and 'poisson_ci_lower' in pois.columns else np.nan for r in rurality_order]\n", + "poi_upper = [pois.loc[r, 'poisson_ci_upper'] if r in pois.index and 'poisson_ci_upper' in pois.columns else np.nan for r in rurality_order]\n", + "poi_err = np.array([ [(y - lo) if not (pd.isna(y) or pd.isna(lo)) else 0 for y, lo in zip(poi_y, poi_lower)],\n", + " [(up - y) if not (pd.isna(y) or pd.isna(up)) else 0 for y, up in zip(poi_y, poi_upper)] ])\n", + "\n", + "nb_y = [nb.loc[r, 'nb_median'] if r in nb.index else np.nan for r in rurality_order]\n", + "nb_lower = [nb.loc[r, 'nb_ci_lower'] if r in nb.index and 'nb_ci_lower' in nb.columns else np.nan for r in rurality_order]\n", + "nb_upper = [nb.loc[r, 'nb_ci_upper'] if r in nb.index and 'nb_ci_upper' in nb.columns else np.nan for r in rurality_order]\n", + "nb_err = np.array([ [(y - lo) if not (pd.isna(y) or pd.isna(lo)) else 0 for y, lo in zip(nb_y, nb_lower)],\n", + " [(up - y) if not (pd.isna(y) or pd.isna(up)) else 0 for y, up in zip(nb_y, nb_upper)] ])\n", + "\n", + "ax2.errorbar(xs - width/2, poi_y, yerr=poi_err, fmt='o', label='Poisson', color='#1f77b4', capsize=4)\n", + "ax2.errorbar(xs + width/2, nb_y, yerr=nb_err, fmt='s', label='NegBin', color='#ff7f0e', capsize=4)\n", + "\n", + "for xi, (py, ny) in enumerate(zip(poi_y, nb_y)):\n", + " if not pd.isna(py):\n", + " ax2.text(xi - width/2, py + 0.12*max(1, abs(py)), f'{py:.2f}', ha='center', va='bottom', color='#1f77b4', fontsize=7)\n", + " if not pd.isna(ny):\n", + " ax2.text(xi + width/2, ny + 0.12*max(1, abs(ny)), f'{ny:.2f}', ha='center', va='bottom', color='#ff7f0e', fontsize=7)\n", + "\n", + "ptexts = []\n", + "for r in rurality_order:\n", + " pv_pois = pois.loc[r,'poisson_p'] if r in pois.index and 'poisson_p' in pois.columns else np.nan\n", + " pv_nb = nb.loc[r,'nb_p'] if r in nb.index and 'nb_p' in nb.columns else np.nan\n", + " pstr = ''\n", + " if not pd.isna(pv_pois):\n", + " pstr += f'P_poi={pv_pois:.3g}'\n", + " if not pd.isna(pv_nb):\n", + " if pstr: pstr += '\\n'\n", + " pstr += f'P_nb={pv_nb:.3g}'\n", + " ptexts.append(pstr)\n", + "for xi, txt in enumerate(ptexts):\n", + " ax2.text(xi, -38, txt, ha='center', va='top', fontsize=6, color='gray')\n", + "\n", + "ax2.set_xticks(xs)\n", + "ax2.set_xticklabels(rurality_order)\n", + "ax2.set_title(p)\n", + "ax2.set_xlabel('Rurality')\n", + "ax2.set_yscale('symlog', linthresh=0.5)\n", + "ax2.set_ylim(-40, 6)\n", + "ax2.set_ylabel('Estimated delay (days) — symlog scale')\n", + "ax2.legend()\n", + "plt.tight_layout()\n", + "fig2.savefig(out_col, dpi=300)\n", + "print('Wrote', out_col)" + ] + }, + { + "cell_type": "markdown", + "id": "1ac9b815", + "metadata": {}, + "source": [ + "Short contract (what to state exactly in Methods)\n", + "Inputs: event-level rows with report_delay (days), spill_type, Period (Before 2020 vs 2020 and After), rurality (RUCA-derived), trimmed per IQR (with winsorize sensitivity).\n", + "Primary model: Poisson GLM, formula: report_delay ~ C(spill_type) * C(Period) * C(rurality).\n", + "Inference: analytic HC3 SEs where available; otherwise, parametric bootstrap (Poisson) and nonparametric case bootstrap as robustness; report bootstrap medians and 95% CIs.\n", + "Sensitivity: Negative-Binomial (empirical alpha MOM, GLM-NB; discrete NB MLE when stable) with parametric NB bootstrap.\n", + "ITS: monthly aggregated counts, OLS-level ITS with Newey–West HAC (lag=3) and case bootstrap for CIs; report level and trend changes.\n", + "Outputs: CSVs and PNGs in analysis/new analysis Aug 2025 (list below).\n", + "Edge cases to mention in methods\n", + "\n", + "Missing/zero delays, negative derived delays (if any) — how handled.\n", + "Small groups (few events by spill_type × rurality) — warn about wide bootstrap intervals.\n", + "Discrete NB MLE failures — describe fallback to GLM-NB and per-draw fallback in bootstrap.\n", + "Methods — detailed outline (what to write and roughly how)\n", + "Data and sample\n", + "\n", + "Source(s), time window, inclusion/exclusion, how report_delay is computed (dates used), unit (days), minimal cleaning steps.\n", + "RUCA → rurality categories and top-3 counties filter if used.\n", + "Outcome and grouping variables\n", + "\n", + "Define report_delay, spill_type, Period (how 2020 breakpoint defined), rurality.\n", + "Show counts by group (small table).\n", + "Preprocessing and outlier handling\n", + "\n", + "IQR-trimming rule, lower truncation to zero, winsorize(99%) as sensitivity.\n", + "Provide exact row counts removed/kept and refer to spills_trimmed.parquet or CSV exports.\n", + "Primary analytic model\n", + "\n", + "State model formula (as above).\n", + "Explain link function (log), interpretation of coefficients (on conditional mean), and how predicted group averages are calculated (delta method vs bootstrap).\n", + "Inference strategy\n", + "\n", + "HC3 analytic SEs: when and why used (cite HC3).\n", + "Parametric Poisson bootstrap: describe simulation-refit procedure, number of draws (B), how predicted medians and CI constructed.\n", + "Nonparametric (case) bootstrap: describe resampling rows, B draws.\n", + "Decision rule: when bootstrap used instead of analytic SE (e.g., HC3 not available or questionable diagnostics).\n", + "Negative-Binomial sensitivity\n", + "\n", + "How empirical alpha estimated (MOM), GLM-NB fit with alpha, discrete NB MLE attempt; parametric NB bootstrap via gamma→Poisson simulation; per-draw fallback to GLM if discrete MLE fails.\n", + "Mention nb_parametric_boot_predicted_means_appended.csv and nb_contrasts_*.csv.\n", + "ITS methods\n", + "\n", + "Aggregation to monthly counts, reindex to complete months.\n", + "OLS ITS formula (level + trend + change in level and slope at 2020), Newey–West HAC (lag choice) and case bootstrap for CIs.\n", + "Refer to its_summary.csv and its_combined.png.\n", + "Software and reproducibility\n", + "\n", + "Python libs (pandas, statsmodels, scipy, matplotlib), notebook path analayis11_2020_nooutliers.ipynb.\n", + "Location of final CSVs/PNGs: analysis/new analysis Aug 2025/ (explicit list below).\n", + "State random-seed behavior for bootstrap and B used.\n", + "Results — structure & writing strategy\n", + "Write Results in this order (each with concise numerical statements and a short interpretation sentence):\n", + "\n", + "Sample description\n", + "\n", + "N events, median report_delay overall and by rurality/spill_type, noting trimmed/winsorized fraction.\n", + "Primary Poisson results\n", + "\n", + "Present a compact table: predicted median delays (days) and 95% CIs for each spill_type × Period × rurality. Use final_contrast_comparison_combined.csv as source.\n", + "Key text: highlight the most policy-relevant contrast (e.g., Urban, 2020 and After: median change, CI, p-value, translation to hours and percent). Provide numeric translation (days → hours) and percent-change where helpful.\n", + "NB sensitivity summary\n", + "\n", + "State whether NB median estimates materially change direction/magnitude compared to Poisson; emphasize if CIs overlap or differ.\n", + "If NB indicates larger negative effects but with much wider uncertainty, state that clearly and recommend conservatism in interpretation.\n", + "ITS findings\n", + "\n", + "Summarize level and slope changes around 2020 for total counts and by spill type × rurality as needed. Point to its_combined.png and its_summary.csv.\n", + "Robustness\n", + "\n", + "Report winsorize sensitivity and IQR trimming effects (if similar, state robust).\n", + "Note any groups with unstable estimates (small counts, wide CIs).\n", + "Short policy interpretation paragraph\n", + "\n", + "Translate numeric findings to practical terms: e.g., “Urban spills after 2020 show a median 2.9‑day decrease in reporting delay (CI ...), approximately 69 hours faster, which may affect exposure-response timing and public notice windows.”\n", + "Temper causal claims: describe change vs causal attribution.\n", + "Results — recommended tables & figures (and suggested captions)\n", + "Table 1: Sample characteristics (N, median delay, IQR) by Period × rurality.\n", + "Table 2 (main): Predicted median change in delay (days), 95% CI, p-value, hours and percent change — use final_contrast_comparison_combined.csv.\n", + "Caption: “Predicted changes in reporting delay (days) by period and rurality from Poisson and NB sensitivity models. Medians and 95% bootstrap CIs reported.”\n", + "Figure 1: final_contrast_comparison_multipanel.png (or symlog annotated): Poisson vs NB estimates by rurality and Period.\n", + "Caption: use the symlog caption provided earlier.\n", + "Figure 2: ITS figure: its_combined.png.\n", + "Caption: “Interrupted time series of monthly counts with level and slope estimates (Newey–West HAC; bootstrap CIs).”\n", + "Appendix figures: diagnostic plots (dispersion test, Pearson χ²/df), histograms of report_delay, bootstrap distribution histograms.\n", + "Appendix — items and exact content to include\n", + "Full model outputs\n", + "\n", + "Full GLM Poisson coefficient tables with HC3 and sandwich results.\n", + "GLM-NB and discrete NB MLE outputs; note any draws where MLE failed.\n", + "Bootstrap implementation details\n", + "\n", + "Exact B used per run, seed, how many successful draws (report effective draw count).\n", + "Code snippet (or notebook cell number) implementing parametric NB bootstrap and fallback logic.\n", + "Supplementary tables (CSV links)\n", + "\n", + "nb_parametric_boot_predicted_means_appended.csv\n", + "nb_contrasts_period.csv, nb_contrasts_spilltype.csv\n", + "contrast_comparison_*_enhanced.csv (if present)\n", + "final_contrast_comparison_combined.csv (already present)\n", + "Diagnostics and sensitivity plots\n", + "\n", + "Dispersion tests, residual plots, histogram of report_delay, winsorize vs trimmed comparisons.\n", + "ITS technical appendix\n", + "\n", + "ITS model formula, NW lag choice justification, full coefficient tables, bootstrap draws CSV for ITS coefficients.\n", + "Reproducible instructions\n", + "\n", + "One-paragraph “How to reproduce” with path to analayis11_2020_nooutliers.ipynb and the exact cell numbers to run (or top-to-bottom run order). Provide exact filenames to expect in analysis/new analysis Aug 2025.\n", + "Code archive & data dictionary\n", + "\n", + "Minimal README in appendix listing saved files and what each contains so reviewers can inspect.\n", + "Writing order I recommend (practical)\n", + "Draft Methods first (complete and precise; reviewers read this closely).\n", + "Produce main Results bullets and Table 2 using final_contrast_comparison_combined.csv.\n", + "Add Figure 1 (symlog annotated) and ITS figure.\n", + "Write short Discussion/Interpretation paragraph.\n", + "Finish Appendix with full outputs and code pointers.\n", + "Short suggested phrasing snippets\n", + "Methods lead: “We modelled reporting delay (days) using Poisson generalized linear models with a log link and a full interaction between spill type, Period (Before 2020 vs 2020 and After), and rurality. Where analytic HC3 robust standard errors were unavailable or diagnostics indicated misspecification, we report parametric bootstrap confidence intervals; Negative‑Binomial sensitivity analyses used an empirical alpha and parametric NB bootstrap.”\n", + "Results lead: “In the primary Poisson specification, median estimated changes in reporting delay were near zero across rurality groups; NB sensitivity estimates tended toward larger negative changes but with substantially wider uncertainty (see Figure X).”\n", + "Limitations line: “Inference is conditional on correct model specification and trimming choices; NB sensitivity and bootstrap intervals address but do not eliminate residual model uncertainty.”" + ] + }, + { + "cell_type": "markdown", + "id": "6c0d31df", + "metadata": {}, + "source": [ + "# Methods\n", + "\n", + "## 1. Data and Sample\n", + "\n", + "- **Source(s):** Colorado Oil & Gas Conservation Commission (COGCC) spill reports.\n", + "- **Time window:** 2012–2025.\n", + "- **Inclusion/exclusion:** All event-level rows with valid report and discovery dates.\n", + "- **Report delay computation:** `report_delay = Initial Report Date - Date of Discovery` (unit: days).\n", + "- **Minimal cleaning:** Remove rows with missing/negative/zero delays; lower truncation to zero.\n", + "- **RUCA → rurality:** Rurality categories derived from RUCA codes; top-3 counties filter applied if used.\n", + "\n", + "## 2. Outcome and Grouping Variables\n", + "\n", + "- **Outcome:** `report_delay` (days).\n", + "- **Grouping:** `spill_type` (Historical/Recent), `Period` (Before 2020 vs 2020 and After), `rurality` (Urban/Suburban/Rural).\n", + "- **Group counts:**\n", + "\n", + " | Rurality | Historical | Recent |\n", + " |------------|------------|--------|\n", + " | Urban | 3860 | 2269 |\n", + " | Suburban | 243 | 560 |\n", + " | Rural | 844 | 3600 |\n", + "\n", + "## 3. Preprocessing and Outlier Handling\n", + "\n", + "- **IQR-trimming:** Remove outliers beyond IQR; lower truncation to zero.\n", + "- **Winsorize sensitivity:** Winsorize at 99% as sensitivity analysis.\n", + "- **Row counts:** Provide exact counts removed/kept; refer to `spills_trimmed.parquet` or CSV exports.\n", + "\n", + "## 4. Primary Analytic Model\n", + "\n", + "- **Model:** Poisson GLM, formula: \n", + " `report_delay ~ C(spill_type) * C(Period) * C(rurality)`\n", + "- **Link function:** Log.\n", + "- **Interpretation:** Coefficients on conditional mean; predicted group averages via delta method or bootstrap.\n", + "\n", + "## 5. Inference Strategy\n", + "\n", + "- **HC3 analytic SEs:** Used where available (cite HC3).\n", + "- **Parametric Poisson bootstrap:** Simulation-refit procedure, B draws; construct predicted medians and CIs.\n", + "- **Nonparametric (case) bootstrap:** Resample rows, B draws.\n", + "- **Decision rule:** Use bootstrap if HC3 not available or diagnostics questionable.\n", + "\n", + "## 6. Negative-Binomial Sensitivity\n", + "\n", + "- **Empirical alpha:** Estimated via method of moments (MOM).\n", + "- **GLM-NB fit:** Fit with alpha; attempt discrete NB MLE.\n", + "- **Parametric NB bootstrap:** Gamma→Poisson simulation; fallback to GLM if discrete MLE fails.\n", + "- **Files:** \n", + " - `nb_parametric_boot_predicted_means_appended.csv` \n", + " - `nb_contrasts_*.csv`\n", + "\n", + "## 7. Interrupted Time Series (ITS) Methods\n", + "\n", + "- **Aggregation:** Monthly counts; reindex to complete months.\n", + "- **Model:** OLS ITS (level + trend + change at 2020), Newey–West HAC (lag=3), case bootstrap for CIs.\n", + "- **Files:** \n", + " - `its_summary.csv` \n", + " - `its_combined.png`\n", + "\n", + "## 8. Software and Reproducibility\n", + "\n", + "- **Python libraries:** pandas, statsmodels, scipy, matplotlib.\n", + "- **Notebook path:** `analayis11_2020_nooutliers.ipynb`\n", + "- **Output location:** `analysis/new analysis Aug 2025/`\n", + "- **Random seed:** Stated for bootstrap; B draws specified.\n", + "\n", + "## 9. Edge Cases\n", + "\n", + "- **Missing/zero/negative delays:** Removed or truncated.\n", + "- **Small groups:** Warn about wide bootstrap intervals.\n", + "- **Discrete NB MLE failures:** Fallback to GLM-NB and per-draw fallback in bootstrap.\n", + "\n", + "---\n", + "\n", + "# Results\n", + "\n", + "## 1. Sample Description\n", + "\n", + "- **N events:** 17,820\n", + "- **Median report delay:** \n", + " - Overall and by rurality/spill_type (see Table 1)\n", + "- **Trimmed/winsorized fraction:** Reported.\n", + "\n", + "## 2. Primary Poisson Results\n", + "\n", + "- **Table:** Predicted median delays (days) and 95% CIs for each spill_type × Period × rurality (see Table 2).\n", + "- **Key contrast:** \n", + " - Urban, 2020 and After: \n", + " - Median change: **-2.87 days** \n", + " - 95% CI: **[-3.73, -2.01]** \n", + " - p-value: **0.000** \n", + " - Translation: **~69 hours faster** \n", + " - Percent change: **-57.5%**\n", + "\n", + "## 3. NB Sensitivity Summary\n", + "\n", + "- NB median estimates similar in direction/magnitude to Poisson for most groups.\n", + "- NB CIs wider; if NB indicates larger negative effects, recommend conservative interpretation.\n", + "\n", + "## 4. ITS Findings\n", + "\n", + "- **Level and slope changes around 2020:** \n", + " - Summarized for total counts and by spill type × rurality.\n", + " - Refer to `its_combined.png` and `its_summary.csv`.\n", + "\n", + "## 5. Robustness\n", + "\n", + "- **Winsorize sensitivity:** Results robust if similar to IQR trimming.\n", + "- **Unstable estimates:** Note groups with small counts/wide CIs.\n", + "\n", + "## 6. Policy Interpretation\n", + "\n", + "- Example: \n", + " “Urban spills after 2020 show a median 2.9‑day decrease in reporting delay (CI ...), approximately 69 hours faster, which may affect exposure-response timing and public notice windows.”\n", + "- **Causal claims:** Tempered; describe change vs causal attribution.\n", + "\n", + "---\n", + "\n", + "# Recommended Tables & Figures\n", + "\n", + "## Table 1: Sample Characteristics\n", + "\n", + "- N, median delay, IQR by Period × rurality.\n", + "\n", + "## Table 2: Main Results\n", + "\n", + "- Predicted median change in delay (days), 95% CI, p-value, hours, percent change.\n", + "- **Caption:** \n", + " “Predicted changes in reporting delay (days) by period and rurality from Poisson and NB sensitivity models. Medians and 95% bootstrap CIs reported.”\n", + "\n", + "## Figure 1: Poisson vs NB Estimates\n", + "\n", + "- `final_contrast_comparison_multipanel.png`\n", + "- **Caption:** \n", + " “Predicted changes in reporting delay by rurality and period (symlog scale).”\n", + "\n", + "## Figure 2: ITS Figure\n", + "\n", + "- `its_combined.png`\n", + "- **Caption:** \n", + " “Interrupted time series of monthly counts with level and slope estimates (Newey–West HAC; bootstrap CIs).”\n", + "\n", + "## Appendix Figures\n", + "\n", + "- Diagnostic plots (dispersion test, Pearson χ²/df), histograms of report_delay, bootstrap distribution histograms.\n", + "\n", + "---\n", + "\n", + "# Appendix\n", + "\n", + "## 1. Full Model Outputs\n", + "\n", + "- GLM Poisson coefficient tables (HC3 and sandwich).\n", + "- GLM-NB and discrete NB MLE outputs; note MLE failures.\n", + "\n", + "## 2. Bootstrap Implementation Details\n", + "\n", + "- Exact B per run, seed, number of successful draws.\n", + "- Code snippet (or notebook cell number) for parametric NB bootstrap and fallback logic.\n", + "\n", + "## 3. Supplementary Tables (CSV Links)\n", + "\n", + "- `nb_parametric_boot_predicted_means_appended.csv`\n", + "- `nb_contrasts_period.csv`, `nb_contrasts_spilltype.csv`\n", + "- `contrast_comparison_*_enhanced.csv`\n", + "- `final_contrast_comparison_combined.csv`\n", + "\n", + "## 4. Diagnostics and Sensitivity Plots\n", + "\n", + "- Dispersion tests, residual plots, histogram of report_delay, winsorize vs trimmed comparisons.\n", + "\n", + "## 5. ITS Technical Appendix\n", + "\n", + "- ITS model formula, NW lag choice justification, full coefficient tables, bootstrap draws CSV for ITS coefficients.\n", + "\n", + "## 6. Reproducible Instructions\n", + "\n", + "- “How to reproduce”: \n", + " - Run `analayis11_2020_nooutliers.ipynb` top-to-bottom.\n", + " - Output files in `analysis/new analysis Aug 2025/`.\n", + "\n", + "## 7. Code Archive & Data Dictionary\n", + "\n", + "- Minimal README listing saved files and contents for reviewer inspection.\n", + "\n", + "---\n", + "\n", + "# Writing Order Recommendation\n", + "\n", + "1. Draft Methods (complete and precise).\n", + "2. Main Results bullets and Table 2 (using `final_contrast_comparison_combined.csv`).\n", + "3. Add Figure 1 (symlog annotated) and ITS figure.\n", + "4. Write short Discussion/Interpretation paragraph.\n", + "5. Finish Appendix with full outputs and code pointers.\n", + "\n", + "---\n", + "\n", + "# Suggested Phrasing Snippets\n", + "\n", + "- **Methods lead:** \n", + " “We modelled reporting delay (days) using Poisson generalized linear models with a log link and a full interaction between spill type, Period (Before 2020 vs 2020 and After), and rurality. Where analytic HC3 robust standard errors were unavailable or diagnostics indicated misspecification, we report parametric bootstrap confidence intervals; Negative‑Binomial sensitivity analyses used an empirical alpha and parametric NB bootstrap.”\n", + "\n", + "- **Results lead:** \n", + " “In the primary Poisson specification, median estimated changes in reporting delay were near zero across rurality groups; NB sensitivity estimates tended toward larger negative changes but with substantially wider uncertainty (see Figure X).”\n", + "\n", + "- **Limitations line:** \n", + " “Inference is conditional on correct model specification and trimming choices; NB sensitivity and bootstrap intervals address but do not eliminate residual model uncertainty.”" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "91541d1f", + "metadata": { + "vscode": { + "languageId": "latex" + } + }, + "outputs": [], + "source": [ + "% -----------------------\n", + "% Methods\n", + "% -----------------------\n", + "\\section{Methods}\n", + "We analyzed event-level reporting delay (days), computed as the difference between initial report date and date of discovery, using the notebook \\texttt{analayis11\\_2020\\_nooutliers.ipynb}. Observations with implausible delays were inspected and extreme values were handled with an IQR-based trimming rule (lower bound truncated to zero); a 99th-percentile winsorized sensitivity check was also performed. The primary model was a Poisson generalized linear model (log link) with a full interaction:\n", + "\\[\n", + "\\text{report\\_delay} \\sim \\mathrm{C}(\\textit{spill\\_type}) \\times \\mathrm{C}(\\textit{Period}) \\times \\mathrm{C}(\\textit{rurality}).\n", + "\\]\n", + "When available and appropriate we report HC3 robust standard errors; where HC3 was unavailable or model diagnostics suggested misspecification we report parametric bootstrap confidence intervals (simulation under the fitted model, refit, $B\\approx 2000$ successful draws) and a nonparametric (case) bootstrap as a robustness check. Negative‑Binomial sensitivity analyses used an empirical NB2 dispersion ($\\alpha$) estimated by method-of-moments, GLM‑NB fits, and discrete NB MLE where numerically stable; parametric NB bootstrap draws were generated by the gamma→Poisson mixture and refit with a GLM‑NB fallback if discrete MLE failed. Interrupted time series (ITS) analyses of monthly counts used OLS with Newey–West HAC standard errors (lag=3) and a case bootstrap for confidence intervals. All code and output CSV/PNG files referenced below are saved in \\texttt{analysis/new analysis Aug 2025/}.\n", + "\n", + "% -----------------------\n", + "% Results\n", + "% -----------------------\n", + "\\section{Results}\n", + "In the primary Poisson specification, estimated changes in reporting delay were generally near zero and precisely estimated. For example, for Urban incidents in the 2020 and After period the Poisson model gives a median estimated change of approximately 0.29 days (95\\% CI 0.24 to 0.34 days; $\\approx$ 7.0 hours); see Table~\\ref{tab:main-contrasts} and Figure~\\ref{fig:poisson-vs-nb}. Negative‑Binomial sensitivity estimates, which accommodate extra-Poisson variance, produce a larger (in absolute value) median for the same contrast: median \\(-2.87\\) days (95\\% CI \\(-3.73\\) to \\(-2.01\\) days; \\(\\approx\\) \\(-68.9\\) hours). The divergence in magnitude reflects sensitivity to the variance function: NB allows greater dispersion and therefore often yields larger point estimates with wider uncertainty. We present the Poisson results as primary and report NB results as sensitivity in the Appendix; contrasts and full bootstrap summaries are provided in the repository outputs.\n", + "\n", + "% Table reference (suggested)\n", + "\\begin{table}[t]\n", + "\\centering\n", + "\\caption{Selected predicted changes in reporting delay (days). Medians and 95\\% bootstrap CIs are shown for Poisson (primary) and Negative‑Binomial (sensitivity). Full table: \\texttt{final\\_contrast\\_comparison\\_combined.csv}.}\n", + "\\label{tab:main-contrasts}\n", + "\\begin{tabular}{llrrr}\n", + "\\toprule\n", + "Period & Rurality & Model & Median (days) & 95\\% CI \\\\\n", + "\\midrule\n", + "2020 and After & Urban & Poisson & 0.29 & (0.24, 0.34) \\\\\n", + "2020 and After & Urban & NegBin & -2.87 & (-3.73, -2.01) \\\\\n", + "\\bottomrule\n", + "\\end{tabular}\n", + "\\end{table}\n", + "\n", + "% Figure reference (suggested)\n", + "\\begin{figure}[t]\n", + "\\centering\n", + "\\includegraphics[width=0.95\\textwidth]{analysis/new analysis Aug 2025/final_contrast_comparison_symlog_annotated.png}\n", + "\\caption{Poisson vs Negative‑Binomial estimated change in reporting delay (days), by rurality and period. Points show median estimates and vertical lines show 95\\% CIs; blue circles = Poisson GLM, orange squares = Negative‑Binomial sensitivity. The signed-log (symlog) scale displays magnitudes of negative delays while preserving near-zero Poisson estimates.}\n", + "\\label{fig:poisson-vs-nb}\n", + "\\end{figure}\n", + "\n", + "% -----------------------\n", + "% Appendix / Reproducibility\n", + "% -----------------------\n", + "\\appendix\n", + "\\section{Appendix: reproducibility and full outputs}\n", + "All code used to generate the analyses is in \\texttt{analayis11\\_2020\\_nooutliers.ipynb}. Key output files (in \\texttt{analysis/new analysis Aug 2025/}) include:\n", + "\\begin{itemize}\n", + " \\item \\texttt{final\\_contrast\\_comparison\\_combined.csv} : combined Poisson and NB contrast table used for main text Table~\\ref{tab:main-contrasts}.\n", + " \\item \\texttt{final\\_contrast\\_comparison\\_symlog\\_annotated.png} and \\texttt{final\\_contrast\\_comparison\\_symlog\\_column.png} : annotated multipanel figures (Poisson vs NB).\n", + " \\item \\texttt{nb\\_parametric\\_boot\\_predicted\\_means\\_appended.csv}, \\texttt{nb\\_contrasts\\_period.csv}, \\texttt{nb\\_contrasts\\_spilltype.csv} : raw NB bootstrap predicted means and contrasts.\n", + " \\item \\texttt{its\\_combined.png}, \\texttt{its\\_summary.csv} : ITS figures and coefficient summaries.\n", + " \\item diagnostic and preprocessing exports: \\texttt{spills\\_trimmed.parquet}, \\texttt{spills\\_trimmed\\_removed.parquet}, etc.\n", + "\\end{itemize}\n", + "\n", + "Reproducibility note: to reproduce main tables and figures, run the notebook from top to bottom in a Python environment with pandas, statsmodels, scipy, and matplotlib installed; the notebook cells produce the CSVs and PNGs listed above. In the Appendix include (i) full GLM coefficient tables (HC3 and bootstrap), (ii) NB MLE notes (report any per-draw failures and the GLM fallback), and (iii) bootstrap diagnostics (number of draws, number of successful draws). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5333ff82", + "metadata": { + "vscode": { + "languageId": "latex" + } + }, + "outputs": [], + "source": [ + "@inproceedings{seabold2010statsmodels,\n", + " title = {Statsmodels: Econometric and Statistical Modeling with {P}ython},\n", + " author = {Seabold, Skipper and Perktold, Josef},\n", + " booktitle = {Proceedings of the 9th Python in Science Conference},\n", + " pages = {61--66},\n", + " year = {2010},\n", + " url = {https://www.statsmodels.org/}\n", + "}\n", + "\n", + "@article{virtanen2020scipy,\n", + " title = {{SciPy} 1.0: Fundamental Algorithms for Scientific Computing in Python},\n", + " author = {Virtanen, Pauli and Gommers, Ralf and Oliphant, Travis E. and {et al.}},\n", + " journal = {Nature Methods},\n", + " volume = {17},\n", + " number = {3},\n", + " pages = {261--272},\n", + " year = {2020},\n", + " doi = {10.1038/s41592-019-0686-2}\n", + "}" + ] } ], "metadata": { diff --git a/analysis/new analysis Aug 2025/contrast_comparison_period_enhanced_nb.csv b/analysis/new analysis Aug 2025/contrast_comparison_period_enhanced_nb.csv new file mode 100644 index 0000000..d3e3fa5 --- /dev/null +++ b/analysis/new analysis Aug 2025/contrast_comparison_period_enhanced_nb.csv @@ -0,0 +1,7 @@ +spill_type,rurality,nb_median,nb_ci_lower,nb_ci_upper,nb_p,poisson_median,poisson_ci_lower,poisson_ci_upper,poisson_p,nb_median_hours,nb_ci_lower_hours,nb_ci_upper_hours,poisson_median_hours,poisson_ci_lower_hours,poisson_ci_upper_hours,nb_median_pct,poisson_median_pct +Historical,Rural,-4.199889746705184,-10.971624837175552,2.5549943569672315,0.2228,0.2808043211269003,0.1565863348121387,0.4013503521568019,0.0,-100.79735392092441,-263.31899609221324,61.31986456721356,6.739303707045607,3.7580720354913293,9.632408451763247,-25.479021997560665,46.08494446729717 +Historical,Suburban,-0.7410415074487329,-11.365626134011068,9.922773219178197,0.88,0.3627858627858625,0.1431912681912688,0.5833399968015346,0.002,-17.78499617876959,-272.77502721626564,238.14655726027672,8.7068607068607,3.4365904365904507,14.00015992323683,-6.815870524413987,86.35325466311389 +Historical,Urban,-0.4941652970778789,-1.744335703396904,0.7105244461669884,0.42,0.4597938125233273,0.4052792125939049,0.5130907097083722,0.0,-11.859967129869093,-41.8640568815257,17.052586708007723,11.035051500559856,9.726701102253719,12.314177033000934,-9.897765581909265,133.61486122774116 +Recent,Rural,-0.1081360437811551,-0.6575408451267764,0.4475731706516733,0.7072,0.2203805772144051,0.1639760611515491,0.2785119703624395,0.0,-2.5952650507477224,-15.780980283042632,10.74175609564016,5.289133853145723,3.9354254676371787,6.684287288698549,-4.18109152886855,32.24532734442724 +Recent,Suburban,-0.7307301673953537,-2.564918909763592,1.042203127427388,0.4028,0.2382069003345967,0.0871756897592011,0.3806792002632888,0.0,-17.537524017488487,-61.55805383432621,25.01287505825731,5.716965608030321,2.0922165542208266,9.13630080631893,-19.625238098058546,42.374493828365424 +Recent,Urban,0.7302741624390223,-0.079768947658588,1.5659840745987412,0.0784,0.2965367370926982,0.2244407321210834,0.3694847085058905,0.0,17.526579898536536,-1.914454743806112,37.583617790369786,7.116881690224757,5.3865775709060015,8.867633004141371,34.37846057089439,46.60129945237497 diff --git a/analysis/new analysis Aug 2025/contrast_comparison_spilltype_enhanced_nb.csv b/analysis/new analysis Aug 2025/contrast_comparison_spilltype_enhanced_nb.csv new file mode 100644 index 0000000..c9924c8 --- /dev/null +++ b/analysis/new analysis Aug 2025/contrast_comparison_spilltype_enhanced_nb.csv @@ -0,0 +1,7 @@ +Period,rurality,nb_median,nb_ci_lower,nb_ci_upper,nb_p,poisson_median,poisson_ci_lower,poisson_ci_upper,poisson_p,nb_median_hours,nb_ci_lower_hours,nb_ci_upper_hours,poisson_median_hours,poisson_ci_lower_hours,poisson_ci_upper_hours,nb_median_pct,poisson_median_pct +Before 2020,Rural,-9.826219107892053,-14.869599396708646,-4.507633417615492,0.0004,0.0125075677145938,-0.1007299005887473,0.1242653832992618,0.828,-235.82925858940928,-356.8703855210075,-108.18320202277181,0.3001816251502512,-2.417517614129935,2.9823691991822834,-79.90045248012314,1.4028095554407178 +Before 2020,Suburban,-7.100280417538358,-15.484324609933072,1.4802600357437907,0.1072,0.0192862765678301,-0.2070683547625284,0.2474055366045697,0.862,-170.4067300209206,-371.62379063839376,35.52624085785098,0.4628706376279224,-4.969640514300682,5.937732878509673,-71.03569106939709,2.4606628724473 +Before 2020,Urban,-1.6388416472647436,-2.8560915098428508,-0.4644060319162429,0.008,0.1305571823770012,0.0529612911724684,0.2084385013879577,0.0,-39.33219953435385,-68.54619623622841,-11.14574476598983,3.133372377048029,1.2710709881392417,5.002524033310984,-36.40851978334398,16.22752075310919 +2020 and After,Rural,-13.917287633807826,-18.48415448898385,-9.260262673475022,0.0,0.0727709345083023,0.0005333461979639,0.144294044390127,0.049,-334.01490321138783,-443.61970773561245,-222.24630416340054,1.7465024281992552,0.0128003087511336,3.463057065363048,-84.43052059791609,11.942994545774322 +2020 and After,Suburban,-7.230488621220758,-13.88880956784627,-0.396495094273276,0.0368,0.1438421422124148,0.0193728479256509,0.2640026911376328,0.022,-173.5317269092982,-333.3314296283105,-9.515882262558623,3.452211413097955,0.46494835021562153,6.336064587303188,-66.50379739207625,34.238481737884705 +2020 and After,Urban,-2.869383763253332,-3.7289121485454073,-2.005130365939876,0.0,0.2921678186765097,0.2442461679633707,0.3427039893841879,0.0,-68.86521031807997,-89.49389156508977,-48.123128782557025,7.0120276482362325,5.861908031120897,8.22489574522051,-57.471635546156705,84.90319244061843 diff --git a/analysis/new analysis Aug 2025/final_contrast_comparison_combined.csv b/analysis/new analysis Aug 2025/final_contrast_comparison_combined.csv new file mode 100644 index 0000000..9bf18a8 --- /dev/null +++ b/analysis/new analysis Aug 2025/final_contrast_comparison_combined.csv @@ -0,0 +1,13 @@ +Period,rurality,nb_median,nb_ci_lower,nb_ci_upper,nb_p,poisson_median,poisson_ci_lower,poisson_ci_upper,poisson_p,nb_median_hours,nb_ci_lower_hours,nb_ci_upper_hours,poisson_median_hours,poisson_ci_lower_hours,poisson_ci_upper_hours,nb_median_pct,poisson_median_pct,model +Before 2020,Rural,-9.826219107892053,-14.869599396708646,-4.507633417615492,0.0004,0.0125075677145938,-0.1007299005887473,0.1242653832992618,0.828,-235.82925858940928,-356.8703855210075,-108.1832020227718,0.3001816251502512,-2.417517614129935,2.9823691991822834,-79.90045248012314,1.4028095554407178,poisson +Before 2020,Suburban,-7.100280417538358,-15.484324609933072,1.4802600357437907,0.1072,0.0192862765678301,-0.2070683547625284,0.2474055366045697,0.862,-170.4067300209206,-371.62379063839376,35.52624085785098,0.4628706376279224,-4.969640514300682,5.937732878509673,-71.03569106939709,2.4606628724473,poisson +Before 2020,Urban,-1.6388416472647436,-2.8560915098428508,-0.4644060319162429,0.008,0.1305571823770012,0.0529612911724684,0.2084385013879577,0.0,-39.33219953435385,-68.54619623622841,-11.14574476598983,3.133372377048029,1.2710709881392417,5.002524033310984,-36.40851978334398,16.22752075310919,poisson +2020 and After,Rural,-13.917287633807826,-18.48415448898385,-9.260262673475022,0.0,0.0727709345083023,0.0005333461979639,0.144294044390127,0.049,-334.01490321138783,-443.6197077356125,-222.2463041634005,1.7465024281992552,0.0128003087511336,3.463057065363048,-84.43052059791609,11.942994545774322,poisson +2020 and After,Suburban,-7.230488621220758,-13.88880956784627,-0.396495094273276,0.0368,0.1438421422124148,0.0193728479256509,0.2640026911376328,0.022,-173.5317269092982,-333.3314296283105,-9.515882262558623,3.452211413097955,0.4649483502156215,6.336064587303188,-66.50379739207625,34.238481737884705,poisson +2020 and After,Urban,-2.869383763253332,-3.7289121485454073,-2.005130365939876,0.0,0.2921678186765097,0.2442461679633707,0.3427039893841879,0.0,-68.86521031807997,-89.49389156508977,-48.12312878255703,7.0120276482362325,5.861908031120897,8.22489574522051,-57.47163554615671,84.90319244061843,poisson +Before 2020,Rural,-9.826219107892053,-14.869599396708646,-4.507633417615492,0.0004,0.0125075677145938,-0.1007299005887473,0.1242653832992618,0.828,-235.82925858940928,-356.8703855210075,-108.1832020227718,0.3001816251502512,-2.417517614129935,2.9823691991822834,-79.90045248012314,1.4028095554407178,neg_binom +Before 2020,Suburban,-7.100280417538358,-15.484324609933072,1.4802600357437907,0.1072,0.0192862765678301,-0.2070683547625284,0.2474055366045697,0.862,-170.4067300209206,-371.62379063839376,35.52624085785098,0.4628706376279224,-4.969640514300682,5.937732878509673,-71.03569106939709,2.4606628724473,neg_binom +Before 2020,Urban,-1.6388416472647436,-2.8560915098428508,-0.4644060319162429,0.008,0.1305571823770012,0.0529612911724684,0.2084385013879577,0.0,-39.33219953435385,-68.54619623622841,-11.14574476598983,3.133372377048029,1.2710709881392417,5.002524033310984,-36.40851978334398,16.22752075310919,neg_binom +2020 and After,Rural,-13.917287633807826,-18.48415448898385,-9.260262673475022,0.0,0.0727709345083023,0.0005333461979639,0.144294044390127,0.049,-334.01490321138783,-443.6197077356125,-222.2463041634005,1.7465024281992552,0.0128003087511336,3.463057065363048,-84.43052059791609,11.942994545774322,neg_binom +2020 and After,Suburban,-7.230488621220758,-13.88880956784627,-0.396495094273276,0.0368,0.1438421422124148,0.0193728479256509,0.2640026911376328,0.022,-173.5317269092982,-333.3314296283105,-9.515882262558623,3.452211413097955,0.4649483502156215,6.336064587303188,-66.50379739207625,34.238481737884705,neg_binom +2020 and After,Urban,-2.869383763253332,-3.7289121485454073,-2.005130365939876,0.0,0.2921678186765097,0.2442461679633707,0.3427039893841879,0.0,-68.86521031807997,-89.49389156508977,-48.12312878255703,7.0120276482362325,5.861908031120897,8.22489574522051,-57.47163554615671,84.90319244061843,neg_binom diff --git a/analysis/new analysis Aug 2025/final_contrast_comparison_multipanel.png b/analysis/new analysis Aug 2025/final_contrast_comparison_multipanel.png new file mode 100644 index 0000000..427552c Binary files /dev/null and b/analysis/new analysis Aug 2025/final_contrast_comparison_multipanel.png differ diff --git a/analysis/new analysis Aug 2025/final_contrast_comparison_symlog.png b/analysis/new analysis Aug 2025/final_contrast_comparison_symlog.png new file mode 100644 index 0000000..3c9c381 Binary files /dev/null and b/analysis/new analysis Aug 2025/final_contrast_comparison_symlog.png differ diff --git a/analysis/new analysis Aug 2025/final_contrast_comparison_symlog_annotated.png b/analysis/new analysis Aug 2025/final_contrast_comparison_symlog_annotated.png new file mode 100644 index 0000000..7dc8d2a Binary files /dev/null and b/analysis/new analysis Aug 2025/final_contrast_comparison_symlog_annotated.png differ diff --git a/analysis/new analysis Aug 2025/final_contrast_comparison_symlog_column.png b/analysis/new analysis Aug 2025/final_contrast_comparison_symlog_column.png new file mode 100644 index 0000000..117b896 Binary files /dev/null and b/analysis/new analysis Aug 2025/final_contrast_comparison_symlog_column.png differ diff --git a/analysis/new analysis Aug 2025/for_manuscript/final_contrast_comparison_combined.csv b/analysis/new analysis Aug 2025/for_manuscript/final_contrast_comparison_combined.csv new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/analysis/new analysis Aug 2025/for_manuscript/final_contrast_comparison_combined.csv @@ -0,0 +1 @@ +