Nikolina Rehwald commited on
Commit
237f914
·
1 Parent(s): 3c9bffe

Updates feat column name

Browse files
.gitignore CHANGED
@@ -4,4 +4,5 @@ output/
4
  .ipynb_checkpoints/
5
  notebooks/.ipynb_checkpoints/*
6
  gedi.egg-info/
7
- build/
 
 
4
  .ipynb_checkpoints/
5
  notebooks/.ipynb_checkpoints/*
6
  gedi.egg-info/
7
+ build/
8
+ *.pyc
data/BaselineED_feat.csv CHANGED
@@ -1,4 +1,4 @@
1
- log,ratio_unique_traces_per_trace,ratio_most_common_variant,ratio_top_10_variants,epa_normalized_variant_entropy,epa_normalized_sequence_entropy,epa_normalized_sequence_entropy_linear_forgetting,epa_normalized_sequence_entropy_exponential_forgetting
2
  BPIC16wm_p,0.002882363538101243,0.29580255809764006,0.7141055665645829,0.0,0.0,0.0,0.0
3
  BPIC15f5,0.9974048442906575,0.0017301038062283738,0.10207612456747404,0.648702019618582,0.6032598312788823,0.34240966430145864,0.4045799140620184
4
  BPIC15f1,0.97581317764804,0.006672226855713094,0.12176814011676397,0.6528546738228733,0.610294028540377,0.270241403634718,0.3639276823477533
 
1
+ log,ratio_variants_per_number_of_traces,ratio_most_common_variant,ratio_top_10_variants,epa_normalized_variant_entropy,epa_normalized_sequence_entropy,epa_normalized_sequence_entropy_linear_forgetting,epa_normalized_sequence_entropy_exponential_forgetting
2
  BPIC16wm_p,0.002882363538101243,0.29580255809764006,0.7141055665645829,0.0,0.0,0.0,0.0
3
  BPIC15f5,0.9974048442906575,0.0017301038062283738,0.10207612456747404,0.648702019618582,0.6032598312788823,0.34240966430145864,0.4045799140620184
4
  BPIC15f1,0.97581317764804,0.006672226855713094,0.12176814011676397,0.6528546738228733,0.610294028540377,0.270241403634718,0.3639276823477533
data/GenBaselineED_feat.csv CHANGED
@@ -1,4 +1,4 @@
1
- ratio_unique_traces_per_trace,ratio_most_common_variant,ratio_top_10_variants,epa_normalized_variant_entropy,epa_normalized_sequence_entropy,epa_normalized_sequence_entropy_linear_forgetting,epa_normalized_sequence_entropy_exponential_forgetting,log
2
  0.21031587365053903,0.23750499800079902,0.7944822071171531,0.8436095804469511,0.454318645274405,0.207520432496227,0.288223924276644,BPIC20c
3
  0.22916666666666602,0.208333333333333,0.39583333333333304,0.401685982808314,0.245964987620705,0.029935020945679004,0.10766848262252701,BPIC20b
4
  0.493082835183603,0.12929120409906,0.556105892399658,0.80784773712104,0.49684445215246903,0.276433398156238,0.33730492928925604,BPIC15f1
 
1
+ ratio_variants_per_number_of_traces,ratio_most_common_variant,ratio_top_10_variants,epa_normalized_variant_entropy,epa_normalized_sequence_entropy,epa_normalized_sequence_entropy_linear_forgetting,epa_normalized_sequence_entropy_exponential_forgetting,log
2
  0.21031587365053903,0.23750499800079902,0.7944822071171531,0.8436095804469511,0.454318645274405,0.207520432496227,0.288223924276644,BPIC20c
3
  0.22916666666666602,0.208333333333333,0.39583333333333304,0.401685982808314,0.245964987620705,0.029935020945679004,0.10766848262252701,BPIC20b
4
  0.493082835183603,0.12929120409906,0.556105892399658,0.80784773712104,0.49684445215246903,0.276433398156238,0.33730492928925604,BPIC15f1
data/GenED_feat.csv CHANGED
@@ -1,4 +1,4 @@
1
- log,ratio_unique_traces_per_trace,ratio_most_common_variant,ratio_top_10_variants,epa_normalized_variant_entropy,epa_normalized_sequence_entropy,epa_normalized_sequence_entropy_linear_forgetting,epa_normalized_sequence_entropy_exponential_forgetting
2
  2_rmcv_rt10v_genELtask_40_03_06,0.475,0.3107142857142857,0.5714285714285714,0.711996755762796,0.40848153131541576,0.10988860893433217,0.1999007815532011
3
  2_enself_rutpt_genELtask_25_02_02,0.19246861924686193,0.25784518828451886,0.7975941422594143,0.8336522045635787,0.45176947602735823,0.2018481552079625,0.2842730838492838
4
  2_rt10v_rutpt_genELtask_39_03_05,0.5,0.3,0.3,0.3935954518140152,0.25153078703466797,0.06196334316806251,0.1255248346244991
 
1
+ log,ratio_variants_per_number_of_traces,ratio_most_common_variant,ratio_top_10_variants,epa_normalized_variant_entropy,epa_normalized_sequence_entropy,epa_normalized_sequence_entropy_linear_forgetting,epa_normalized_sequence_entropy_exponential_forgetting
2
  2_rmcv_rt10v_genELtask_40_03_06,0.475,0.3107142857142857,0.5714285714285714,0.711996755762796,0.40848153131541576,0.10988860893433217,0.1999007815532011
3
  2_enself_rutpt_genELtask_25_02_02,0.19246861924686193,0.25784518828451886,0.7975941422594143,0.8336522045635787,0.45176947602735823,0.2018481552079625,0.2842730838492838
4
  2_rt10v_rutpt_genELtask_39_03_05,0.5,0.3,0.3,0.3935954518140152,0.25153078703466797,0.06196334316806251,0.1255248346244991
notebooks/gedi_fig6_benchmark_boxplots.ipynb CHANGED
The diff for this file is too large to render. See raw diff
 
notebooks/gedi_figs4and5_representativeness.ipynb CHANGED
The diff for this file is too large to render. See raw diff
 
notebooks/gedi_figs7and8_benchmarking_statisticalTests.ipynb CHANGED
@@ -8,16 +8,18 @@
8
  "outputs": [],
9
  "source": [
10
  "import pandas as pd\n",
 
11
  "from scipy import spatial\n",
12
  "from sklearn.metrics.pairwise import cosine_similarity\n",
13
  "TEST='kendalltau'#'kendalltau', 'pearsonr'\n",
14
  "DATA_SOURCE = 'BaselineED' #'BaselineED', 'GenBaselineED', 'GenED'\n",
15
  "IMPUTE = False #If False Nan lines are dropped\n",
16
  "\n",
17
- "paper_feat_columns = [\"log\",\"ratio_unique_traces_per_trace\", \"ratio_most_common_variant\", 'ratio_top_10_variants', 'epa_normalized_variant_entropy', 'epa_normalized_sequence_entropy', 'epa_normalized_sequence_entropy_linear_forgetting', 'epa_normalized_sequence_entropy_exponential_forgetting'] \n",
18
  "paper_metrics_columns = ['log', 'fitness_heu', 'precision_heu',\n",
19
  " 'fscore_heu', 'size_heu', 'cfc_heu', 'fitness_ilp', 'precision_ilp', 'fscore_ilp',\n",
20
- " 'size_ilp','cfc_ilp', 'fitness_imf', 'precision_imf', 'fscore_imf', 'size_imf', 'cfc_imf']"
 
21
  ]
22
  },
23
  {
@@ -131,7 +133,7 @@
131
  "def statistical_test(feature_source, bench_source, test, impute=False, p_thresh=0.05, focus='stat'):\n",
132
  " ft = load_data(feature_source, 'feat')\n",
133
  " #ft['log']=ft.apply(lambda x: x['log'].replace(\"Gen\",\"\"), axis=1)\n",
134
- " #paper_feat_columns = [\"log\",\"ratio_unique_traces_per_trace\", \"ratio_most_common_variant\", 'ratio_top_10_variants', 'epa_normalized_variant_entropy', 'epa_normalized_sequence_entropy', 'epa_normalized_sequence_entropy_linear_forgetting', 'epa_normalized_sequence_entropy_exponential_forgetting'] \n",
135
  " #ft= ft[paper_feat_columns]\n",
136
  " #print(ft.shape)\n",
137
  " #print(\"Feature: \", ft['log'].tolist())\n",
@@ -204,7 +206,7 @@
204
  "Path: ../data/BaselineED_bench.csv\n",
205
  "Imputed dataset: (20, 26)\n",
206
  "No nan's dataset: (14, 26)\n",
207
- "FT_COL: ['log', 'ratio_unique_traces_per_trace', 'ratio_most_common_variant', 'ratio_top_10_variants', 'epa_normalized_variant_entropy', 'epa_normalized_sequence_entropy', 'epa_normalized_sequence_entropy_linear_forgetting', 'epa_normalized_sequence_entropy_exponential_forgetting']\n",
208
  "M_COL: ['log', 'fitness_heu', 'precision_heu', 'fscore_heu', 'size_heu', 'cfc_heu', 'fitness_ilp', 'precision_ilp', 'fscore_ilp', 'size_ilp', 'cfc_ilp', 'fitness_imf', 'precision_imf', 'fscore_imf', 'size_imf', 'cfc_imf']\n",
209
  "BaselineED (14, 8) (14, 16)\n",
210
  "Direct kendalltau BaselineED_feat\n",
@@ -214,17 +216,19 @@
214
  },
215
  {
216
  "data": {
217
- "image/png": "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z58v0z4pKYnnnnsOd3d3zMzMcHZ2ZuTIkezdu9fg+GFhYbq4U1NTCQsLw83NDRMTEyIjI3XtlFKsWbOGfv360aRJE7RaLV5eXrz22mtcuHChRtfuXgsvSq8hwIYNG3j00UextrbG2dmZMWPG6J176dKldOvWDSsrK5ycnPjb3/5Gbm6u3nienp668e4c/87fTgghhBC1RDUAX3/9tQoICFBOTk4KUD4+PiogIEAFBASoV155Rf3666/KwsJCAcrOzk516tRJtW/fXtnZ2SlADR06tMyYK1euVGZmZgpQFhYWqmvXrqpNmzZKq9UqQC1dulSv/aZNm3R19vb2qnv37qpp06YKUEZGRur//u//ypxjzJgxClDTpk1T9vb2SqvV6s4TGRmplFKqqKhIPfHEEwpQgHJ1dVWdOnVSlpaWClAuLi4qJSWl2tcuNTVVAapFixZl6krPOX/+fAUod3d31alTJ90827ZtqwoKCtRrr72mAOXl5aXatWunTExMFKD69u2rSkpKdOP99a9/VQEBAbpxS3+jgIAAtXXr1mrPQQghhBBlNYgkr1Rp0nR3AjZo0CAFqOnTp6vCwkK9uv3796tvv/22TJmpqakC1NSpU1VeXp6urqioSK1evVrt2rVLV5aRkaFsbW0VoF5//XXdOW7duqU++OADBShTU1OVkJBgMF5jY2M1ZMgQdenSJV1dQUGBUkqpadOmKUB16dJFHTx4UFefn5+vXn75ZQWo7t27V/1i/VdlkjwrKyu1atUqXXl6erry9vZWgBo2bJiys7NTP/30k67+8OHDysHBQQEGk7fScYUQQghx/zSo/6UtL8nz9fVVgMrNza3UOAMHDlSAGjduXKXav/POOwpQnTt3vud4zz33nMF4mzVrppdIlrp48aLSarXK1tZWpaenl6m/deuW8vf3V4DauXNnpWK9W2WSvNdff71M3aJFi3T1c+fOLVNfmpy+9tpr5Y4rhBBCiPunQbyTV5HmzZsDt7fsqEhBQQE//vgjAFOnTq3U+DExMQC88sorButff/11vXZ3GzlyJFZWVmXKt27dSmFhISEhIbi7u5epNzIyYtCgQQDs2LGjUrFWx/jx48uUde7cWffncePGlanv0qULAKdPn75vcQkhhBCifA1qC5XyTJ48mZ9++okXX3yROXPmEBISQu/evQkODqZJkyZ6bU+ePElx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",
218
  "text/plain": [
219
- "<Figure size 640x480 with 1 Axes>"
220
  ]
221
  },
222
- "metadata": {},
 
 
223
  "output_type": "display_data"
224
  }
225
  ],
226
  "source": [
227
- "def plot_stat_test(test_results, feature_source, bench_source, test, impute, mask=True, cbar=False):\n",
228
  " feature_source = feature_source.split(\"_\")[0]\n",
229
  " bench_source = bench_source.split(\"_\")[0]\n",
230
  " if feature_source==bench_source:\n",
@@ -268,7 +272,7 @@
268
  "Path: ../data/BaselineED_bench.csv\n",
269
  "Imputed dataset: (20, 26)\n",
270
  "No nan's dataset: (14, 26)\n",
271
- "FT_COL: ['log', 'ratio_unique_traces_per_trace', 'ratio_most_common_variant', 'ratio_top_10_variants', 'epa_normalized_variant_entropy', 'epa_normalized_sequence_entropy', 'epa_normalized_sequence_entropy_linear_forgetting', 'epa_normalized_sequence_entropy_exponential_forgetting']\n",
272
  "M_COL: ['log', 'fitness_heu', 'precision_heu', 'fscore_heu', 'size_heu', 'cfc_heu', 'fitness_ilp', 'precision_ilp', 'fscore_ilp', 'size_ilp', 'cfc_ilp', 'fitness_imf', 'precision_imf', 'fscore_imf', 'size_imf', 'cfc_imf']\n",
273
  "BaselineED (14, 8) (14, 16)\n",
274
  "Direct kendalltau BaselineED_feat\n",
@@ -279,7 +283,7 @@
279
  "Path: ../data/GenBaselineED_bench.csv\n",
280
  "Imputed dataset: (24, 26)\n",
281
  "No nan's dataset: (19, 26)\n",
282
- "FT_COL: ['log', 'ratio_unique_traces_per_trace', 'ratio_most_common_variant', 'ratio_top_10_variants', 'epa_normalized_variant_entropy', 'epa_normalized_sequence_entropy', 'epa_normalized_sequence_entropy_linear_forgetting', 'epa_normalized_sequence_entropy_exponential_forgetting']\n",
283
  "M_COL: ['log', 'fitness_heu', 'precision_heu', 'fscore_heu', 'size_heu', 'cfc_heu', 'fitness_ilp', 'precision_ilp', 'fscore_ilp', 'size_ilp', 'cfc_ilp', 'fitness_imf', 'precision_imf', 'fscore_imf', 'size_imf', 'cfc_imf']\n",
284
  "BaselineED (19, 8) (19, 16)\n",
285
  "Direct kendalltau GenBaselineED_feat\n",
@@ -290,7 +294,7 @@
290
  "Path: ../data/GenED_bench.csv\n",
291
  "Imputed dataset: (441, 26)\n",
292
  "No nan's dataset: (285, 26)\n",
293
- "FT_COL: ['log', 'ratio_unique_traces_per_trace', 'ratio_most_common_variant', 'ratio_top_10_variants', 'epa_normalized_variant_entropy', 'epa_normalized_sequence_entropy', 'epa_normalized_sequence_entropy_linear_forgetting', 'epa_normalized_sequence_entropy_exponential_forgetting']\n",
294
  "M_COL: ['log', 'fitness_heu', 'precision_heu', 'fscore_heu', 'size_heu', 'cfc_heu', 'fitness_ilp', 'precision_ilp', 'fscore_ilp', 'size_ilp', 'cfc_ilp', 'fitness_imf', 'precision_imf', 'fscore_imf', 'size_imf', 'cfc_imf']\n",
295
  "BaselineED (285, 8) (285, 16)\n",
296
  "Direct kendalltau GenED_feat\n",
@@ -301,7 +305,7 @@
301
  "Path: ../data/BaselineED_bench.csv\n",
302
  "Imputed dataset: (20, 26)\n",
303
  "No nan's dataset: (14, 26)\n",
304
- "FT_COL: ['log', 'ratio_unique_traces_per_trace', 'ratio_most_common_variant', 'ratio_top_10_variants', 'epa_normalized_variant_entropy', 'epa_normalized_sequence_entropy', 'epa_normalized_sequence_entropy_linear_forgetting', 'epa_normalized_sequence_entropy_exponential_forgetting']\n",
305
  "M_COL: ['log', 'fitness_heu', 'precision_heu', 'fscore_heu', 'size_heu', 'cfc_heu', 'fitness_ilp', 'precision_ilp', 'fscore_ilp', 'size_ilp', 'cfc_ilp', 'fitness_imf', 'precision_imf', 'fscore_imf', 'size_imf', 'cfc_imf']\n",
306
  "BaselineED (14, 8) (14, 16)\n",
307
  "Direct pearsonr BaselineED_feat\n",
@@ -312,7 +316,7 @@
312
  "Path: ../data/GenBaselineED_bench.csv\n",
313
  "Imputed dataset: (24, 26)\n",
314
  "No nan's dataset: (19, 26)\n",
315
- "FT_COL: ['log', 'ratio_unique_traces_per_trace', 'ratio_most_common_variant', 'ratio_top_10_variants', 'epa_normalized_variant_entropy', 'epa_normalized_sequence_entropy', 'epa_normalized_sequence_entropy_linear_forgetting', 'epa_normalized_sequence_entropy_exponential_forgetting']\n",
316
  "M_COL: ['log', 'fitness_heu', 'precision_heu', 'fscore_heu', 'size_heu', 'cfc_heu', 'fitness_ilp', 'precision_ilp', 'fscore_ilp', 'size_ilp', 'cfc_ilp', 'fitness_imf', 'precision_imf', 'fscore_imf', 'size_imf', 'cfc_imf']\n",
317
  "BaselineED (19, 8) (19, 16)\n",
318
  "Direct pearsonr GenBaselineED_feat\n",
@@ -323,7 +327,7 @@
323
  "Path: ../data/GenED_bench.csv\n",
324
  "Imputed dataset: (441, 26)\n",
325
  "No nan's dataset: (285, 26)\n",
326
- "FT_COL: ['log', 'ratio_unique_traces_per_trace', 'ratio_most_common_variant', 'ratio_top_10_variants', 'epa_normalized_variant_entropy', 'epa_normalized_sequence_entropy', 'epa_normalized_sequence_entropy_linear_forgetting', 'epa_normalized_sequence_entropy_exponential_forgetting']\n",
327
  "M_COL: ['log', 'fitness_heu', 'precision_heu', 'fscore_heu', 'size_heu', 'cfc_heu', 'fitness_ilp', 'precision_ilp', 'fscore_ilp', 'size_ilp', 'cfc_ilp', 'fitness_imf', 'precision_imf', 'fscore_imf', 'size_imf', 'cfc_imf']\n",
328
  "BaselineED (285, 8) (285, 16)\n",
329
  "Direct pearsonr GenED_feat\n",
@@ -334,7 +338,7 @@
334
  {
335
  "data": {
336
  "text/plain": [
337
- "<Figure size 640x480 with 0 Axes>"
338
  ]
339
  },
340
  "metadata": {},
@@ -348,9 +352,10 @@
348
  "for test in TESTS:\n",
349
  " for data_source in DATA_SOURCES:\n",
350
  " cbar = True if data_source == 'GenED' else False\n",
 
351
  " print(test, data_source)\n",
352
  " masked_results = statistical_test(data_source+\"_feat\", data_source+\"_bench\", test, IMPUTE)\n",
353
- " plot_stat_test(masked_results, data_source+\"_feat\", data_source+\"_bench\", test, IMPUTE, cbar=cbar)\n",
354
  " plt.clf()"
355
  ]
356
  },
@@ -361,6 +366,22 @@
361
  "metadata": {},
362
  "outputs": [],
363
  "source": []
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
364
  }
365
  ],
366
  "metadata": {
@@ -379,7 +400,7 @@
379
  "name": "python",
380
  "nbconvert_exporter": "python",
381
  "pygments_lexer": "ipython3",
382
- "version": "3.9.16"
383
  }
384
  },
385
  "nbformat": 4,
 
8
  "outputs": [],
9
  "source": [
10
  "import pandas as pd\n",
11
+ "import os\n",
12
  "from scipy import spatial\n",
13
  "from sklearn.metrics.pairwise import cosine_similarity\n",
14
  "TEST='kendalltau'#'kendalltau', 'pearsonr'\n",
15
  "DATA_SOURCE = 'BaselineED' #'BaselineED', 'GenBaselineED', 'GenED'\n",
16
  "IMPUTE = False #If False Nan lines are dropped\n",
17
  "\n",
18
+ "paper_feat_columns = [\"log\",\"ratio_variants_per_number_of_traces\", \"ratio_most_common_variant\", 'ratio_top_10_variants', 'epa_normalized_variant_entropy', 'epa_normalized_sequence_entropy', 'epa_normalized_sequence_entropy_linear_forgetting', 'epa_normalized_sequence_entropy_exponential_forgetting'] \n",
19
  "paper_metrics_columns = ['log', 'fitness_heu', 'precision_heu',\n",
20
  " 'fscore_heu', 'size_heu', 'cfc_heu', 'fitness_ilp', 'precision_ilp', 'fscore_ilp',\n",
21
+ " 'size_ilp','cfc_ilp', 'fitness_imf', 'precision_imf', 'fscore_imf', 'size_imf', 'cfc_imf']\n",
22
+ "os.makedirs(\"../output/plots\", exist_ok=True)"
23
  ]
24
  },
25
  {
 
133
  "def statistical_test(feature_source, bench_source, test, impute=False, p_thresh=0.05, focus='stat'):\n",
134
  " ft = load_data(feature_source, 'feat')\n",
135
  " #ft['log']=ft.apply(lambda x: x['log'].replace(\"Gen\",\"\"), axis=1)\n",
136
+ " #paper_feat_columns = [\"log\",\"ratio_variants_per_number_of_traces\", \"ratio_most_common_variant\", 'ratio_top_10_variants', 'epa_normalized_variant_entropy', 'epa_normalized_sequence_entropy', 'epa_normalized_sequence_entropy_linear_forgetting', 'epa_normalized_sequence_entropy_exponential_forgetting'] \n",
137
  " #ft= ft[paper_feat_columns]\n",
138
  " #print(ft.shape)\n",
139
  " #print(\"Feature: \", ft['log'].tolist())\n",
 
206
  "Path: ../data/BaselineED_bench.csv\n",
207
  "Imputed dataset: (20, 26)\n",
208
  "No nan's dataset: (14, 26)\n",
209
+ "FT_COL: ['log', 'ratio_variants_per_number_of_traces', 'ratio_most_common_variant', 'ratio_top_10_variants', 'epa_normalized_variant_entropy', 'epa_normalized_sequence_entropy', 'epa_normalized_sequence_entropy_linear_forgetting', 'epa_normalized_sequence_entropy_exponential_forgetting']\n",
210
  "M_COL: ['log', 'fitness_heu', 'precision_heu', 'fscore_heu', 'size_heu', 'cfc_heu', 'fitness_ilp', 'precision_ilp', 'fscore_ilp', 'size_ilp', 'cfc_ilp', 'fitness_imf', 'precision_imf', 'fscore_imf', 'size_imf', 'cfc_imf']\n",
211
  "BaselineED (14, 8) (14, 16)\n",
212
  "Direct kendalltau BaselineED_feat\n",
 
216
  },
217
  {
218
  "data": {
219
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAawAAAEYCAYAAAAAk8LPAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAAsTAAALEwEAmpwYAABOTklEQVR4nO2dd7hV1dGH3x9VRZFmQ1Cs2DUmsUcxscWuMcZYIvaWqLHEmFgI9hiNPbYkmGBL1KifvQF2xYJdVBQREQURsALCfH/MOrLv4dx+zj3lzvs8+9l3r73WXrP3OffMXrNmzcjMCIIgCIJKp0O5BQiCIAiCphAKKwiCIKgKQmEFQRAEVUEorCAIgqAqCIUVBEEQVAWhsIIgCIKqoCwKS9KBkt6WNFvSdEnjJQ3LnB8kaYikqleokgZLMkkrl1uWDBZbbLHFVsatRXRqacOWIqkvcDVwPXAA8A0wF5iZqTYIOB04E5jXxiIGQRAEFUibKyxgFaAjcJ2ZPV6G/oMgCIIqpE1NbsnsNzIdPpxMZcOyJkFJQ/DRFcCcVMfSuQHp+DBJQyV9lEyK/yepX4H+DpH0kqRvJE2V9HdJvfLqHCPpDUlfS/pM0nOSdsuc31bSk5JmSPpC0lhJp7Xg9vtIul7STEmTJF0iaaE8WRaRdJ6k95K59D1Jf8yaRjMmxgF5bYfknlMQBEEt0tYjrDOA54FLgKOAF4ApuAkwx7VAP+AgYDPcXJjPycCTwIHAksAFuIlxi1wFSecCx6e+TgSWxU2Ma0naxMzmStontR0KPAYsDKwD9ErXWBG4E7gl1ZmNjxBXbMG9/xu4Edgd2BgYAnxGUs6SOgH3A2vgz+kVYCPg1CTP8S3oMwiCoGZoU4VlZuMkvZEOXzezpwEkZetMlDQxHT5jZt8WuNT7ZrZ37kDSEsD5kvqa2aQ0+jgR+JOZDc3Uewt4HNgJuB1XHC9n6wD3ZP5eH+gCHGFmuTm2R5p52zluMLPcyPEhSRsCv2T+aPKXuILewsweTWUPp2dzuqTzzOyTFvYdBEFQ9VSrF97decevpP1yab81fm/XS+qU24BncOeOzVO90cB6ki6VtJWkRfKuOwaYA9wkaQ9JSxZZ5uUyx9sB7wNP5sn8ANAZH20FQRC0W6pVYU3LO56V9rk5oZxieQdXONmtO9A7nf8XcASwIW6Omybpttz8kJm9A2yLP6d/A5MlPSPpO9NjK2XumjleEli+gLzPpvO9CYIgaMeUw0uwLfg07bfB54kKnjfPrXIVcJWknqn+BcDNuBLDzEYAIyR1BTbF57LuljTAzKYWWeb3gD3rOT8+7b9J+y555xtUaJIOBQ4FuOqqqzj00ENbJmUQBEGZqFSFlRsxLQx83oL2D+Lrt5Yzsweb0sDMPgNuTnNLhxU4Pwt4RNKiwB3ACkAxFdZ9wM+AL8zszQbqvZ/2awFvwXcOG9s0dHEzuxpf/watWLgXBEFQLipVYb2e9sdLuheYa2bPNbVxcu44D7hM0kBgFD4y6Y/Pb11rZiMkXY0rxKeAT4BVgf3weSMkHY7Pd90DfAD0wT0UJwGvtvou65JbSP2wpAuAl/BR1ErAzsCuZvYVPu82Dncy6YAr9yOpa14MgiCoOSpVYd0FXIH/EJ8GKG1Nxsz+kDwSj0qb4UrnYeDtVO0JXEnsByyOK6LhzPfcewn4KXAOPsc0Dfcy3MfMvm7hvdUn7xxJ2wK/x013KwBf4srpbtylHjP7VtIuwOXAsCTTRbhDyekLXDgIgqBGkE/jBO2M+NCDICgnzRqA5KhWL8EgCIKgnVGpJsGqIDk7NMRciyFsEARBUagqhSVpEDAC2NLMRjaxzRDgdDNr0RC0gesOwN3QG2JLYKSk8cDjZrZvMWUIgqbw00ePKbcITeLezS8utwhBhVNVCguPPbgx870Im8K1uMt4sZkE/LCROmNL0G8QBEG7pKQKS1LXtH6pKKR4fk83s81EYGKjFZsvy2ygya72QVCp7LDMZuzR/8f06tKd97+czFXjbuO1me822q7vQktw6fonIIndn/jdd+Wb9F6HHfpuykrd+tG5QycmfDWZmyY8yDPTir0SJGhvNMnpIpe6QtLakkZI+iql9hiaS32RsgSbpN0lXSNpCvBx5hpNSfXRSdJJkl5P9aZIuk/Sanl9DMq0aTD9R6G0G5K6S7ospfmYldr8VpkovJm+dk51pyZ5hkvq0ZyHnLnmXvJUJl/K05hsVqDOFpIelvR5qne/pLXy6tTJ0Jwpt2QCDYImsfkS3+PwlXbn5gkP8uvnz+eNme9xxtqHs0TXng2266SO/H71/Xl1xrgFzq3dY2XGTH+b0167il+/cD6jp73BqWsexJrdW5LkIAjm01wvwduBh4BdgRvw1Bf5uaEuxV0W9wMGw3epPq5IbXfGI6lvB9wrqWOm7U3AWfhC3V2BQ3Dz3zKFhMmk/3gP+EW69oVAt/puICnYu/H1VxfgkdvvS+3OKtDkYtwNfG88LNPPUllz+RGeIuTUJGtH4K6s8pO0A75O7Atg39TnYsBjkvq3oM8gaJDdlh3Egx8/w32Tn+KDrz/mb+NuZdrsmeywzKYNtjtwhZ1578tJPDZ1zALnrhp3G//94CHe+nwCH30zlRsm3Mc7n3/Axn3WKdFdBO2F5poErzGzc9PfD0jqjkejuChT51kzOzh30NRUH5J+jCuDY8zsksz1bm9Anpak/9geT+NxgJkNy9xLt3QvF+bFCHzUzH6TqTcQOFjS4GZ6AHYH1kshoJA0GY9asT2u/MEV4Sgz2yXXSNII4F1c2R3bjP6CoEE6qSOrLNafWyeOqFP+wmdvskb3Fept98Nea7BB7zX5zQvns2mfdZvU18KduvLFt1+1St4gaO4I6z95xzcBi+Jx7XL8L69OU1N9bIOPZK5phjxjaH76j83xOIM35pUPx5XfxnnlhdKCdAWWaoacAE/llFXmOpBSjEhaBQ/DlP+cvsJDR21OEBSR7p270VEdmT6nbrjO6bM/p2eXxQq26dmlO8esshd/efPffD23adPTOy6zGX269OCRj0e3WuagfdNchfVxPcfLZso+yqvT1FQfvYFpzQl51ML0H71SP/n/bZMz57M0lsqkqdS5Tqb//JQof2fB57QjrUwvIunQNG/23NVXX914g6DdsKChQPWGQvndwP24+6PHefPz9+upUZdN+6zLQSvuwp/f/DefzCqUOCEImk5zTYJL4eap7DHAh5lr5X/Xm5TqA4983kvSws1UWs1N/zEt9dMlefrlWDpPnrYm1+/J+FxfPllZvyEvvUi+A0s+Ea09yGfmnC+Za3Pp2aV7nfIeXRZl+uzCSRLW67kqa/dYiX2W3y6ViI7qwF0/upDL3/4v905+6ru6m/ZZlxMG7ssFY4eHh2BQFJqrsPYEzs0c74U7CLwKrFdPm6am+ngAD/x6MO640Syakf5jFD6n9nM8QnqOfXCl0Cy3+SIyFs95tWZmnrA+3qeuGRZ8FBYETeZbm8vbn3/A+j0H8njGeeJ7PQbyxNSXCrY5/Lm6X82Ne6/FL5bbhmNfvJBPZ0//rvxHfdbj+IH7cMHY63m8nmsFQXNprsI6JHnZjcZNcQcDQ8xsesYjvA5NTfWR0n3cClyYPOIewVPDbw7cXSiyRQvTf9yLO3tcKWkJ4DXc8eFg4JwiJ2VsMmZmko4C7pDUBZ8vnIqPYjcBJpjZhan6TcA/JP0Vj2y/LskjMwiaw/8+HMkJA/dl7Ofv8/qM99i+76b07ro493z0BACDB+zIwMWW5+RXLgfg/a/qWvxXWaw/htUp32KJ73HCwP249t07eHXGOHp29vmwOTY3HC+CVtFchbULPvo5FZgBnAmc0VijJqb6AB+xnQTsj3vEzcCV47X1XLrZ6T/MbF5yHz879dUbH9kch6fpKBtmdo+kzYE/4ve8MD639jSeBTnHdbjCPwhPNvkYsBs+TxgETebRKS+yWKdu/HK5bejVZXHGf/kRp7161XfzTb26dGeZhZs3fbr9MpvSqUNHDl95dw5feffvyl+e/jYnvXxZUeUP2hdNSi+SFqOeDnQ2s29LLVRQcmIOqx0RsQSDCiTSiwRBEAS1S7UFv60o0nxeQ0rfzGxuW8kTBIWIkUtQK1RExmFJB+LOEssDX5lZj/JK1DRSPL/9G6gyKu07mdkCcQPLSPk/9CAI2jMtMgmWXWFJ6gtMwF3MrwG+MbOqiIKewk71aaDK58BVhMIKgiDI0iKFVQkmwVXwQLDXmdnj5RZGUmfg26bECTSz8biHYUPXK45gQRAE7ZyyOl0kk9rIdPhwSo8xTNLekl5M6UJmSHpF0mF5bbeQ9GA6/6U8dclBmfOdJZ2ZUnHMTvszk0LK1RmQ+jxS0p8lTcJDL/VI53eX9LQ8ncp0Sf+VtFwL73UrSS+ka70qadcCddaVdKekzyR9LekJST/KqzNS0sgCbQumHAmCIKgVyu0leAZwdPr7KDzw7D/xQLSj8BQjP8dNhT1yjSTtgq/h6oKvQ9oF+Ac+B5bjOjxyxr/wKBD/xNddXVdAjj8CqwKH4uuZvkmLkm/F05vskfpZCxglqXBk0PpZCY/EfiGwOx5v8RZJK2fuaX3gSTyW4SF45PpPgYckfb+Z/QVBENQclTCHtRUevmlLMxsp6QTgD2ZWMDae3Mb2Hh4FYgMzm1egzlp4NPQ/mdmQTPkpuJJc18xeTnNQ7wEvAt/PmQFTeKcPgVvN7MBM+wHAW8DvzOyiJt7fSDzG4Rpm9nYqWxJXWqea2dmp7GGgb5JtdirriEfsGGtmu2auh5kNyutnPDDSzAY3QayYwwqCoJzUzDqs0UBPeWbfHbVgdt+B+Ejq2kLKKpFLxTE8rzx3nB/N/fa8OauN8Ujy+ak+JgJv0vxUH2/nlBWAmX0CfML81CILJ5n+C8zL9Cc8EG6kFgmCoN1TcQrLzEbhZsD+eG6tKZIekpRLV5qLEzOxgcvkRmf5qU7qSyFSX0qUh1gw1cfaND/VR36KEvC5slxqkV6448mpBfr7Na7AW/VZRXqRIAiqnUrwElwAM7sFn+NZFBgEnAfcJ6kf8yOwL1tPc5ivIJYGxmXK60shUl9KlMF4cNx8CudeaDnT8Yj2l+NzbguQGU1+g4/+8on0IkEQ1DQVqbBymNkXwF2SVsSdFnrjc0jj8TT1V9fjfp5bsLsXcFamfJ+0f7SRrp/EldLKZlbISaOomNmXkh7Do66/0ICpEzy1yM+y+bxSwNzmOoIEQRBUFRWnsCQNxVNqjMDThPTDPQnHmNmUVOdY4DY8/9WVwBRgdWBJMzvdzF6TdCMwJM0FPYnPS50K3GhmLzckg5nNlHQicHlKQXIvHjl+WXyuaaSZ3VDkWz8OV6T3S/o7bqbsA6wPdDSz36d6N+HejP9IbuwrpLYziixPEARBRVFxCgt4BldQf8XNXJ/gyR1PzVUwszskbZ3K/p6Kx1E3Pcj+eHbkA4FTcOV3HvCnpghhZldJ+gBP9rg3npvrQ1ypjGnRnTXc3wuSfohHxb8EWBxXxC8AV2bqjUgu9yfgru8vAvviLvhBEAQ1S9nd2oOyEB96EATlpGbc2oMgCIJgASrRJFgSJA3C58W2NLORRbhek1OLSBqMR9pYxcwiK3AQFOAnI44rtwiN8vCWF5ZbhHZNexphvYA7XrxQpOudxoJrprLbuPqbBkEQBM2l3YywzGwm8HQRL3k1cFcD52cVsa8gCPLYue8m7LnclvTu0p3xX03mirdv55UZ7zXabtmF+3DlD45DiB0fO7kNJA2KRU2NsCStKul/kj6R9I2kCSnCeidJg1Jk9kGp7pB0XGgbnLnmCpKulzRF0ixJYyTtZmaTzOy5BrZXCojYJ11rpqRJki6RtFC2gqRFJJ0n6b0UZf49SX/MRrqQNDjJOSCv7RBJ4VAR1DyDllyPo1bZjRvef5jDnruA12aM55x1DmXJrj0abNdJHTllzf14eca7bSNoUFRqSmHhI55lgSOAbfFo7bMofJ/X4ibC7HYrMBdfnIyk/rib/brAb4GdcZPirZJ2boF8/8ZNhbsDf8Mj1H/3ipfWjN0PHIwvlP5pkvNU4PwW9BcENcke/bfg/smjueejp5nw1Sdc9vb/+HT2THZadtMG2x2y0o68+8VHPPrJS20kaVBMasYkKKkPngxyFzO7M3PqhnS+Tn0zm0gmHqGkn+OK5FgzezIVD8HdL7cws1y4pvuTIhsKZPtpCjeY2enp74ckbQj8El97Rfp7s9RfLhrHw0n20yWdlwLnBkG7pZM6suqi/fjPhJF1yp+fNpY1Fx9Qb7sNe6/ORr3X4PDnLmTzJdapt15QudTSCOtTfKHwuZIOkbRKUxtK+gGeJ+sKM7skc2o74B5gRl7U9vuBdSUViunXEHfnHb9Citie6e994Mm8/h7AFy5v1Mz+gqDmWLxzNzp26Mhns+uG9Pxszhf06lI4QlmvLotx3MA9OfeNG/h6bkwvVys1o7BSTMGtgeeAc4C3JL0r6YiG2qWAunfimY+PyTu9JPArFvQAzJnnWhu1fRbQNa+/5Qv092wL+/uOiNYe1B4LTtfWFwjh5DX24f8+fJI3Zr5faqGCElIzJkEAM3sX+FVK8rgunprjipTc8Ov8+pK64cpqKvCL3LqpDJ8Cj+EhnQoxqUiiZ/t7D9iznvPj0/6btO+Sd75ehRbR2oNaYcacL5k7by49u9Q1cPTsvCifzfmiYJv1e67KuouvxK8GbOMFEh3VgQe2OJ+L37qVuz8qpgNxUCpqSmHlSKOtMZKOAw7CU9uPztZJSm04nuV3AzMrlDLkPtwZ4zUzW0DhlYD78PiAX5jZmw3Uy70mrsV8B5FOwDalFS8Iys+3Npe3vpjI93utyqNT5jtP+HEh51w46Nk/1znepM9a7LP8Vhz1/EVMnRVxo6uFmlFYKcHjxcDNwDt4QsTBwLfAIyyYfuMkYFfcDNhXUt/MuXEpMvxpuDnuUUmX4SOcnriiWNHMDizybVwPHIA7WlwAvISPolbCPRR3NbOvcOU7Djg/ubvPAo6krnkxCGqWWz4Yxe9X35uxMyfw6oz32KnvJvTusjj/96H7Sx204g6s1r0/J47xuNHjv5xcp/3AxfpjZguUB5VNzSgsPJvwBDzVRj/cbPYKsKOZPZ9bf5VhtbS/uMC1DgCGmdmE5JAxBDgbWAI3272KO2kUFTObIynnjn8onjrkS1w53Q3MTvW+lbQLnvBxGD43dhHugn/6AhcOghpj5Cdj6N5pEfZZfmt6de3O+C8/4uSXr+GTWZ8B0LvLYvRdqE+ZpQyKTURrb5/Ehx5UHBFLsF0R0dqDIAiC2qWWTIJlITk7NMRci2FsEARBqwmTYCI5L1wI/AJYCrjTzHZtpM0A3A29IX6LZ0/e2swear2kRSE+9CAIykmLTIIxwprPHrjH4PHAU7hzRWNMAn7YSJ0lWilXEARBQCisLKun/UVmNq8pDcxsNh5Zo14KeCcGQRAELaBdOV1IWjelH/lU0teSxko6OUXCGJKqzc2mGJHUTdK5ksal9CKTJd0qaalmdr+IpMskTU2pSoZL6pEnX6ckz5upr0mSLsimIMlPk5IpL5hyJAiCoFZoNyMsSRvg8QLfweeVJuLR3dcBdgOOxhcab5yajJPUBXgQWA+PT/g0sDieuqQn8HEzRLgYT3+yNzAQ+DOeymT/TJ3hwE54KKgn8VHfGcAAPAJGEARBu6XdKCzgL/i81EYpWgR4BAwAJH0IYGZPZ8oOxBVYfsqSW1rQ/6Nm9pv09wOSBgIHSxpsZibpR7jDx/5m9q9U7yFJ04DhktYzszEt6DcIgqAmaBcmQUmLAJsC12eUVVPYBpicp6xaSqHUIl1xj0Tw1CKz8eSQ+alFADYvggxBEARVS7tQWLj5rgOZhI1NpDfwYZFkKJRaBCA3P7UkHjfwC+qmFsklbGxxahGI9CJBEFQ/7cUk+BkwD1i2me2m4oFu24JP8fiHP6rnfC6VSbNTi0CkFwmCoPppFyOsZAZ8HNhX0sLNaPoAsLSknUojWR3uw0dbi5vZcwW2nMLKphbJsn0byBgEQVA22ssIC+AEYBTwVErdMRFYEVgv4wyRz3DgEOBGSefg0dAXw70EL2okZ1WzMLORkm4EbpF0IZ7WZB7uIbg9cJKZvWVmH0kaBZwsaSpuMtwXT0ESBEFQs7SLERaAmY3GHS8+AC4F7gFOpIF5LTObgzte/A1P93EPcAXQhwXnpIrBvvh6sD2AO3BvxF8Db1PXhX5f3MX+Ejy9yATgzBLIEwRBUDFELMH2SXzoQRCUk0gvEgRBENQuFa+wJB0o6W1JsyVNlzRe0rDM+UGShqRo620tW6dGtma9RRQKr5R/v0EQBO2VilZYkvrirthPAj8GtsLDKJ2RqTYITwtfjnuZ08i2f/1NC3I3HlnjoyLKGARBUBNUupfgKkBH4Doze7zcwhSgsdQijeXKqoOZTQGmtFycIAiC2qViR1jJDDYyHT6cTGXDsiYySUPw0RXAnFTH0rkB6fgwSUMlfZRMiv8nqV+B/g6R9JKkb1JE9b9L6pVX5xhJb6RI758BVwL9c2ul8MW7lwAPJ9mflHRaM+650YjrmTqbS7pd0hcp+vzlzVxjFgRBUFVU8gjrDOB5XAEcBbyAjz4GZepcC/QDDgI2w6Of53MyblI8EA9/dAFwPbBFroKkc/HEjZfgru7L4m7ia0naxMzmStontR0KPAYsjEd675WusSJwJ+6KPhSPC7gKvtarFAwH/oO72W8AnAZ0wyPOB0EQ1BwVq7DMbJykN9Lh67ko6lk/BjObKCm3juoZM/u2wKXeN7O9cweSlgDOl9TXzCal0cyJwJ/MbGim3lt4dIydgNvxuaWXs3XwdVk51sfDJR1hZjNT2SOUjnvM7IT09wNpZDlU0tlm9lYJ+w2CICgLFWsSLCKFoqQDLJf2W+PP4fq8KOnPADOZHyV9NLCepEslbZUiwGcZgzta3CRpD0lLFvtG8vhP3vFN+H1sUOJ+gyAIykJ7UFhNiZIOntgx38uvO/ODyv4LOALYELgfmCbpttx8k5m9g4ds6gD8G5gs6RlJ35kei0x+8sjcccEAvxGtPQiCaqdiTYJtyKdpvw0e1b3gefOQIFcBV0nqmepfANyMKzHMbAQwQlJXPAzUUOBuSQPMbGqR5V4KeC3vGOpJhxLR2oMgqHZqQWHlRkwLA5+3oP2DeJDZ5czswaY0MLPPgJslbQgcVuD8LOARSYviMQFXwFOVFJM9qTtHthd+H88WuZ8gCIKKoBYU1utpf7yke4G5ycW8SSTnjvOAy1La+lF4zqn++PzWtWY2QtLVuEJ8Co+QviqwHykjsKTD8fmue/AAu31wD8VJwKutvssF2V7S+an/DXD3/n+Fw0UQBLVKLSisu3DX7iNx127RzMCKZvaH5JF4VNoMVzoP45HSAZ4ADsCV1OK4IhrO/HVgLwE/Bc7B58Wm4V6G+5jZ1y28t4bYF3fFPwJ3ob8GT6ESBEFQk0S09ipD0mDgn8AqydGjJcSHHgRBOYlo7UEQBEHtUgsmwaogre1qiLkWw90gCIJ6qdkRVko7YpIGNaPNkFwswiLLMoDGI7tvkermp0+pE1/QzIaZmVphDgyCIKhKanmE9QIeTun1xipmuBa4rwSyTKLxyO5j0343PMJGEARBkKFiFJakrmn9UlFI8fyebmabicDERis2X5bZQJNc7c3sxWL3HwRBUAsU3SSYM6tJWlvSCElfpdQeQ3NZgTPmut0lXSNpCplQQ01M9dFJ0kmSXk/1pki6T9JqeX0MyrTZVtKTkmaktBxjs+k/CpkEJXWXdJmkSZJmpTa/VSYKb6avnVPdqUme4ZJ6NPP5NZphONUZnp7TO+n+X5C0ZXP6CoIgqCZKOYd1O/AQsCtwA3Aqvk4qy6W4e+N+pLQYKdXHFantzngk9e2AeyV1zLS9CTgLX6i7K3AIbv5bppAwmfQf7wG/SNe+EE/JUZCkYO/G119dgEduvy+1O6tAk4txl/G98bBMP0tlpWAL4Djgj3iUi1n4MxpYov6CIAjKSilNgteY2bnp7wckdcejUVyUqfOsmR2cO2hqqg9JP8aVwTFmdknmerc3IE9L0n9sj+fZOsDMhmXupVu6lwvzYgQ+ama/ydQbCBwsaXAJPACXAjY1swkAkh4G3gdOwV8AgiAIaopSjrAKpb9YFFgrU/a/vDpNTfWxDT6SuaYZ8oyh+ek/Nsfj892YVz4cV34b55UXSmXSlfmBaYvJ0zllBWBmn6f+82UKgiCoCUqpsJqS/uKjvDpNTfXRG5jWnJBHLUz/0Sv1k+8MMjlzPktjqUyKSf7zzZVFepEgCGqSUpoElwLezTsGT3+R6zffTNakVB945PNekhZuptJqbvqPaamfLsnTL8fSefKUg0KjtqWI9CJBENQopRxh7Zl3vBfwBQ1HLs+m+niuwPZeqvcA7qxxcL1XagAzm2VmjwB/xp0uVqin6ij8Gf08r3wfPOBss9zmi8xGkvrnDiQtBuyAR5MPgiCoOUo5wjokedmNxk1xBwNDzGx6xiO8Dk1N9ZHSfdwKXJh+tB8BOuNzTneb2cj8a7cw/ce9uLPHlZKWwBMmbp/u5ZwSJGVsDh/jjh1DcNPjSbjyPaOMMgVBEJSMUiqsXXC39VOBGcCZNOHHtImpPsBHbCcB+wPHpj5G49EqCtHs9B9mNk/SDsDZqa/ewHjcnfyixu6lxIwCRuKy9cNd+n8a+bCCIKhVip5eJL3xnw50NrNvi3rxAPCFw8DjZrZvCy8Rc1hBEJSTSC8SBEEQ1C5VqbAkHSjpbUmzJU0vtzxNQVKH7NqyAlvHVG+kpJGZds2OOh8EQVCLVF3GYUl9gQnA9fjC4W/MrEmBZctJig+4fwNVRpnZIElrAJjZ66ndIGAEsGUhZ5IWUl0fehAEtUaLTIIVE629GawCdASuM7PHyy2MpM7At00IvTQEuKyB85/DfEUVBEEQ1KWqTIJplDIyHT6cTGXDJO0t6cUUgX2GpFckHZbXdgtJD6bzX8qjwR+UOd9Z0pkpEvrstD8zKaRcnQGpzyMl/VnSJNylvEc6v7ukp+UR6qdL+q+k5QDMbHw9a8ty29h0jTomwXqew0hJj0vaRdKr8ijyb0rKX/sWBEFQM1TbCOsM4HngEtzl/QU8Vt+IVHYiroRXIykRAEm7ALcCTwCH4ZEy1gSWz1z7Onyx89m4u/vGeCDZFfHo61n+iLvQH4qP9r5J67z+BvwTj6CxGD6qGiVpnRTrr5isjN/zEOAT4Ag8TuKUFNEjCIKgpqgqhZUWFr+RDl83s6clnQBMN7NjM1UfyP0hX6V8MR78dkszm5dOPZSpsxbwSzxK/JDcNSTNBc6QdK6ZvZy5/sfAbjkzoKRFgfOAf5rZgZnrPgO8BRxE8ddtLQVsbGZPp77uwxc2DwV+VOS+giAIyk5VmQTrYTTQU57QcEctmDBxID6SujajrPLJRYEfnleeO84PkHt73pzVxnhw3vwo8xOBNzPXLyYf5JQVgJnNBf4LbJAijARBENQUVf/DZmaj8Fh//fF0JVMkPSRpnVQlF+F9YgOXyUVdz48eX19U9vqizD/EglHm187IUEzqi9beBViiBP0FQRCUlapXWABmdouZbQH0BHbDsw7fl0YauXh/BdNuJHJpQZbOK68vKnt9UeYHAz8ssB3a+F00m/qitc8GpuSfiPQiQRBUO1U1h9UYZvYFcJekFfF5q974HNJ4PPPv1fW4n49K+72AszLl+6T9o410/STulr6ymV3XQvGbS39JG2XmsDriI81nC5k+I71IEATVTtUrLElD8ZHFCDzyej/gaGCMmU1JdY4FbgMekXQlPgJZHVjSzE43s9ck3QgMSXNPT+LzUqcCN+Y5XCyAmc2UdCJweYrqfi8ejHdZfP5rpJndUORb/xi4WdLp6X6OAFZN+yAIgpqj6hUW8AyuoP6KzzV9gnsJnpqrYGZ3SNo6lf09FY+jrufe/njCyQNxd/ZJuOffn5oihJldJekD3LV+bzzdyYf46GxMi+6sYd7B83mdjS+mHg/8MlzagyCoVaouNFPgC4eBTma2WQsvER96EATlJKK1B0EQBLVLLZgEq4LksdjQC4KltVRBEARBAWKEVYASpfQ4jQXXaGW3canvwanvARl5xqc4igCY2aBWmAODIAiqkhhhFeYF3EuwmJHTrwbuauD8rLS/O/Wdvzg5CIKgXRMKqwBmNhN4utGKzbvmJNzzsLF6Uyiw8DcIgqC9025NgpJWlfQ/SZ9I+kbShJQOpFO+SVDSkHRcaBucueYKkq6XNCWl/BgjabdmyrWASbCBOptLuj2lVflU0uWSFm7ZEwmCIKhs2vMI6y5gOr7Qdiq+yHd7Civxa4H78spOAHbFI2kgqT++JuwT4Lf4KOkXwK2SdjWzO4t+Bx6c9z/AFcAG+DxZNzxEVBAEQU3RLhWWpD74Yttd8hTJDel8nfpmNpFM8FxJPwd2B441sydT8RB8bcEWZpaLLXh/UmRDgVIorHvM7IT09wOSDBgq6Wwze6sE/QVBEJSN9moS/BSPanGupEMkrdLUhpJ+gCd7vMLMLsmc2g64B5iRl2LkfmBdSd2LKH+O/+Qd34R/phuUoK8gCIKy0i4VVgqAuzXwHHAO8JakdyU1GIdPUj98pDQSOCbv9JLAr1jQXf38dL4tUozkjheITB/R2oMgqHbapUkQwMzeBX6VMhKvC/wauELSeODr/PqSuuHKairwiwKLfD8FHsPjDxaiUQ/BFrAUnmU4ewwew7AOEa09CIJqp90qrBxptDVG0nF4Kvu18CzG35GU2nCgL7CBmX1e4FL34eunXjOzBRReidgTeCRzvBcwD3i2jfoPgiBoM9qlwkrZiC8GbsajnnfEPeu+xRXAYnlNTsI9Ao8B+krqmzk3Lq2dOg1XFI9KugyPnt4TV4ArmtmBJbiV7SWdj0en3wA4HfhXOFwEQVCLtEuFBUwGJgDH4fmzvgFeAXY0s+cLhGRaLe0vLnCtA4BhZjYhOWQMwVN+LIGbCV/FnTRKwb7A8bhr/mzgGtzdPgiCoOaI9CJVSFqs/E9gFTN7pwWXiA89CIJyEulFgiAIgtqlvZoEy0Jal9UQcy2GvEEQBAWJEVYLkdRB0kWSPpI0T9LtjdQfQMPpReYAWxRKbSJpZMoyDICZDTMztdAcGARBUJXECKvl7IF7DR4PPIU7WDTEJOCHjdQZi9t2i53aJAiCoOoJhdVyVk/7i8xsXmOVzWw2HlmjKRQ1tUkQBEEtECbBBpC0bkpB8qmkryWNlXRyioYxJFWbm00zIqmbpHMljUspRiZLulXSUvV0k99no9mOM3V+JmmYpM8kzUypTUoRAioIgqDsxAirHiRtgMcMfAdPFzIRj/C+DrAbcDS+2Hjj1GScpC7Ag8B6eIzCp4HFgW3xRcT5sf9ay0XAQ8Avk2xn49E4tixyP0EQBGUnFFb9/AWfl9rIzL5KZd+FQZL0IYCZPZ0pOxBXYPlpS24pkYyvmdkB6e/7JE0Dhkv6iZk9XKI+gyAIykKYBAsgaRFgU+D6jLJqCtsAk0uUrLEQ+elF/ovHEty4QN0gCIKqJhRWYXriz2ZiYxXz6E2BSOklpI6JMTl2fEakFwmCoAYJk2BhPsNHKgv88DfCVDzYbVtRx5EjzaH1JNKLBEFQg8QIqwDJDPg4sK+khZvR9AFgaUk7lUayBdgz7/jn+Gf6VBv1HwRB0GbECKt+TgBGAU9JugA3D64IrGdmv6mnzXDgEOBGSecAz+CpSrbF12u9WWQZ15T0T+AmYFXgLGBUOFwEQVCLxAirHsxsNO548QFwKXAPcCINzGuZ2Rzc8eJvwKGpzRVAH2BaCcQ8Bo+McTPu0n4XHoEjCIKg5oj0IlVIWlQ8AtjazB5qwSXiQw+CoJxEepEgCIKgdqkYhSXpQElvS5otabqk8ZKGZc4PkjREUsXI3FwkdUrbgSm00kqZsk6SWvTWka69saRnJH2Zrr1eEUUPgiAoOxVhEpTUF09Zfz2e5v0bYC4w08zGpTpDgNOBzmb2bZlEbRWSGnvYB5jZsBZe+3Xga3ye7Svg5QYWPZf/Qw+CoD3TopfzSvESXAXoCFxnZo+XW5gS0lh6kfdactE06hwInGVmjzRWPwiCoBopu3ktmf1GpsOHkzlrWNYkmBldAcxJdSydG5COD5M0NCVUnC7p/yT1K9DfIZJekvSNpKmS/i6pV16dYyS9kSK0f5YiROyWOb+tpCclzZD0RYriflpj92pmz5nZc/ji4tHA1EzZLcDFkvZL1/ta0mOSVkkR4K9KUeM/lnSBUvbiFCV+Lv5ZnpqexfimPf0gCILqoRJGWGcAzwOXAEcBLwBTgEGZOtcC/YCDgM3wH+h8TgaeBA4ElgQuwE2MW+QqSDoXT7h4CW46WxY4E1hL0iZmNlfSPqntUOAxYGE8QnuvdI0VgTtxBTMUmI2PEFds1VNwNgdWAk4CuuDR2G8F3sWjxu+V6pwCjMNd5u/Gn8njwN/xZzWrCLIEQRBUFGVXWGY2TtIb6fD1XPTzrP+BmU2UlFv/9Ew9c1jvm9neuQNJSwDnS+prZpPkKepPBP5kZkMz9d7Cf+x3Am7HA8e+nK2Dr6fKsT6uTI4ws5mprFhmuEWB7cxsRpJtaeBi4FkzOyHVeVDSDnhUiyvMbIqkz9K5idno8UEQBLVE2U2CReTuvONX0n65tN8av9/rs555eDSKmfjIBdxUt56kSyVtlSK3ZxkDzAFukrSHpCWLeA9P5ZRVIhcZ4/68em8C/YvYbxAEQcVTSworP5JEziy2UNrnFMs7uMLJbt3xSOsA/wKOADbEFcU0SbelERpm9g4eaqkD8G9gcnIn/8702Ao+yzue3UD5QjSDiNYeBEG1U3aTYBvyadpvw4IK4Lvz5n7+VwFXSeqZ6l+Ahz/aMNUZAYyQ1BUP3zQUuFvSADObWtK7aCERrT0IgmqnmhRWbsS0MPB5C9o/iKcMWc7MHmxKAzP7DLhZ0obAYQXOzwIekbQocAewAp5iJAiCICgy1aSwXk/74yXdC8xN7uBNIjl3nAdcJmkgHon9G3wuaGvgWjMbIelqXCE+BXyCR0HfD08dgqTD8fmue/DAuH1wD8VJwKutvssgCIKgINWksO7C3biPBE7DV0o3a7W0mf0heSQelTbDlc7DwNup2hPAAbiSWhxXRMOZvw7sJeCnwDn4vNg03MtwHzP7uoX3FgRBEDRCRYRmCtqc+NCDICgnEa09CIIgqF2qySRYFeRCJjXAXIthbRAEQbOp6hFWSjliKaFhU9sMaULU9JbKM4AF13jlb1vkp04pQr8dJF2U4ijOk3R7sa4dBEFQKVT1HJak7sAaeEinmY3VT236Af1KEcJIUhc87mBDjAVWJpM6pQj97omvEzse92781MzeaqBJ9X7oQRDUAi2aw2pThSWpa1q7FBQRSacDQ4COZjavCU1CYQVBUE7azukiZ1aTtLakEZK+SuaooSk3U9Zct7ukayRNAT7OXKMpaT46STpJ0uup3hRJ90laLa+PQZk2Dab+KGQSlNRd0mWSJkmaldr8VpkIvJm+dk51pyZ5hkvq0cznl59NeXC69iaS/iPpc3kakZPT+e0kvSjPJjxa0vez18KVFcDcdJ3BzZEnCIKgGmjtHNbtwEPArsANwKn4Gqksl+LadD9gMHyX5uOK1HZnPIr6dsC9kjpm2t4EnIUv0t0VOARfQLxMIWE0P/XHe8Av0rUvBLrVdwNJwd6Nr726AI/afl9qd1aBJhfjI5S98ZBMP0tlxeA6PGjvbvizPTstdj4fOA+/p27A7cn8SKo7LP29cdryAwEHQRBUP2bW7A1/ozfg93nl1+BRInrg+awM+F9enQF4PqvT8so3TfV3Tcc/TsdHNyBHro9B6XiPdNy9MdkzxzumNoPz6uXySvXJ6+u6vHqX4REz1IznNx4YljkenK59WqasEx5pYw6wQqZ851R3i0zZmdl7asIWBEFQTlqke1o7wvpP3vFNeE6ntTJl/8ur09Q0H9ukH+ZrmiHPGJqf+mNzPMbgjXnlw/G8VxvnlRdKY9IVWKoZctbHvbk/zHN+vQO8ZWbvZerkUo5EepEgCNoVrVVYH9dzvGym7KO8Ok1N89EbmGbNCHdkLUv90Sv1k+8MMjlzPktjaUxaQ6E0IvWlHIn0IkEQtCtau3B4KTx9e/YY4MPMtfM90pqU5gOPet5L0sLNVFrNTf0xLfXTxcxmZ8qXzpOnqrFILxIEQZXT2hHWnnnHewFf0HDU8myaj+cKbDnz1wO4s8bBLRHMzGaZ2SPAn3FHhRXqqToKfw4/zyvfBx/NRMr5IAiCCqC1I6xDkpfdaNwUdzAwxMymZzzC62BNTPNhnurjVuBCSf2BR4DO+JzT3WY2Mv/aLUz9cS8ebf1KSUsArwHbp3s5p55RWRAEQdDGtFZh7YK7rZ8KzMC91c5orJE1Lc0H+IjtJGB/4NjUx2jcg68QzU79YWbzJO0AnJ366o178R0HXNTYvQRBEARtQ4siXUgagueH6py82YLqIuawgiAoJ5FeJAiCIKhdKlZhSTpQ0tuSZkuaXm55mkKKmt6pga1jqjdS0sgi9/0HSRMkfStpTDGvHQRBUAlUZLR2SX2BCcD1+MLhb8zsufJK1TgpPuD+DVQZZWaDJK0BYGavF6nfDfCF1+fjIZ0+N7NXGmhSeR96EATticqP1t5U0kLfkcBPkmt6WZHUGfjWGnlY8nxYfRqo8rmZjS2mbKnf/fF4giuZ2buNVIdQWEEQlJfamMNKo5SR6fDhFH18mKS9U8TyL1Ik9lckHZbXdgtJD6bzX8qjwR+UOd9Z0pkpWvrstD8zKaRcnQGpzyMl/VnSJDyaRY90fndJT8sj1E+X9F9JywGY2fh61pbltrHpGnVMgplI8LtKukrSNEmfSfqrpI6Sfijp8XRPr0naNtN2JPOD345L1xlSlA8jCIKggmitW3spOAN4HrgEd3l/AY/VNyKVnYgr2tVISgRA0i7ArcATwGF4pIw1geUz174OX+x8Nu7uvjFwCrAiHn09yx9xF/pDgY7AN2md19+Af+IRNBbDg+mOkrSOmX3eynu/CLgNj8q+eZKtE7AVbu77MJXdJmn5tEbsSGBffL3Z7ngorImtlCMIgqDyaGnU3FJu+A90Ngr7CXi8v/rqC1879RzQoZ46a6VrDskrPyWVr2Pzo8kbriiVqbcovg7sH3ntB+ARMY5txv2NBEZmjgelPvOv/UIq3yxTtk4q2z9TdnAqG9BEGYIgCMpJWaK1txWjgZ7yZIk7asGEiQPxkdS1Vn/G3VwU+OF55bnj/AC5t5vVmbPaGA/Omx9lfiIeQX1zWs+9ecdvAl+a2eN5ZRDR2oMgaGdUhcIys1F4rL/+eLqSKZIekrROqpKL8N6QKSwXdT0/enx9UdnrizL/EAtGmV87I0NrKBSZfXq2wOYH6I1o7UEQtCsqcQ6rIGZ2C3CLpEVxE9p5wH2S+uHzVVA3rUk+ubQgSwPjMuX1RWWvL8r8YDzeYD6tnb8qKRbR2oMgqHKqYoSVxcy+MLO7gKuAZfCRzVv4HNbBqi/qrgfZBY9PmGWftH+0ka6fxJXSytaAB2AQBEFQGqpihCVpKJ5rawQeeb0fcDQwxsympDrH4h52j0i6EpgCrA4saWanm9lrkm4EhqS5pyfxealTgRvN7OWGZDCzmZJOBC5PUd3vxZ0wlsXnv0aa2Q1FvvUgCIIgURUKC4/icDTwV3yu6RM8X9apuQpmdoekrVPZ31PxOOpGXN8fTzh5IO4dOAk3Lf6pKUKY2VWSPsBd6/fG0518iI/OxrTozoIgCIImUZGRLoKSEx96EATlpDYiXQRBEARBIarFJFgVpOzLDb0EmJnNbSt5giAIaol2q7AkDcKdOLY0s5FFuuxpeGLL+ngfGCBpMB7eaQUzG1+MjiVtjM/XrQUsAnzPzMYU49pB0BZsO+rYcovQKPdvcVG5RWjXtFuFhYc92hgoSoqPxNXAXQ2cn5X2d6e+8xcnt4a/A18DOwFf4a7+QRAENUO7VVhmNhN4usjXnIR7HjZWbwrudl8UkilyIHCWVUA6liAoNjv23ZSf9/sxvbp25/0vJ3PluP/x6ozGM+n0XbgPl69/ApLY9fGTvivv1aU7h664Cysv1o++Cy/Bwx8/xwVjY1VKpVPTTheSVpX0P0mfSPomZeT9b4oDmEvpMSjVHZKOC22DM9dcQdL1kqZImiVpjKTdminX4HTdAZmy8SlW4n6Sxkr6WtJjklaR1C2lHflU0seSLkhryUiyzcU/y1PTdce38tEFQcWwxRLf44iVduemCQ9y5PN/4fWZ73Hm2oexRNceDbbrpI78YfX9eWXGuAXOdVYnZsz5kpsnPMzYme+XSPKg2NS0wsLNc8sCRwDbAr/HzXKF7vta3EyX3W7FlcFbAJL642vC1gV+C+yMmxZvlbRzEeTdHE8XchK+ZmylJMP1eJSNvXCz43F42hNw8+Jm6e+/J7mbpUCDoJLZvd8gHvz4We6d/DQffPUxV7xzG9NmzWTHvps12O6gFXfivS8n8diUlxY49/Gsafxt3G08+PGzfP7tV6USPSgyNWsSlNQHWAXYxczuzJy6IZ2vU9/MJpIJnivp53h+qWPN7MlUPARfP7CFmeViC96fFNlQINtPS1gU2M7MZiQZlgYuBp41sxNSnQcl7YAHA77CzKZIygXNnWhmRTVzBkE56aSOrLJYP275oK6l+/nP3mSN7gPqbbdBrzXYsNeaHPXCX9isz7olljJoK2p5hPUpHtXiXEmHSFqlqQ0l/QBP9niFmV2SObUdcA8wIy/FyP3AupK6t1Lmp3LKKpFLJXJ/Xr03ifQiQTuge+dudFRHPptTN7b09Dlf0LNL4X+3Xl26c+yqv+DPbw7n67mzCtYJqpOaVVgpl9XWeFLHc4C3JL0r6YiG2qXo73fiSRaPyTu9JPArFkwvcn4639oUI4XSi9RXHulFgnZO4YAtv1ttX+6a9ARvfh5zU7VGzZoEAczsXeBXKYL7usCvgSuSU8LX+fUldcOV1VTgFwUW+X4KPIbHHyxEox6C5SLSiwTVyMw5XzLX5tKz82J1ynt0XpTPZhfO6PO9nquyTo+V2HfAtqlEdFQH7tn8Ai59+xbu/eipEksdlIqaVlg50mhrjKTjgIPwxbWjs3WSUhsO9AU2MLNC/w334U4Nr5nZAgovCILi8q3N5e3PJ7J+z4E8NnW+88T6PQfy+NTCCRYOHX1uneNN+qzNXsttzdEvXMins2cUbBNUBzWrsFI24ouBm4F3gI548sVvgUeAxfKanATsipsB+0rqmzk3Lq2dOg14FnhU0mV4Dq6euAJc0cwOLNHtBEG75baJIzlxtX0Y+/kEXpv5Hjssswm9uy7O3ZOeAOCAFXZk4GLL8fuXrwDg/a8m12m/6qzlMGyB8hW7eb7XRTouxDwzVuy2LN/at0z46uM2uKugJdSswgImAxNwF/B+wDfAK8COZvZ8bv1VhtXS/uIC1zoAGGZmE5JDxhDgbGAJ3Ez4Ku6kEQRBkRk15UUW67wIv1x+G3p16c77X37EKa9cxSezfGq3V5fuLLNwn2Zf928/OLHO8cZ91mLyN9PY/5mhRZE7KD6RXqR9Eh96UHFELMF2RaQXCYIgCGqXGGEVmVzIpAaYa+V/6OXuPwiC9k2MsIqNpA6SLpL0kaR5km5vpP4AFlyjlb9tkR/HsEiyribpEUkz07V3Lda1gyAIKoFadrooBnvgXoPHA0/hDhYNMQn4YSN1xuJvF8VObXIhsCKwJzA99RMEQVAzhMJqmNXT/iIzm9dYZTObjUfWaArFjvm3OvComd1X5OsGQRBUBO3eJChp3ZSC5NOU0mOspJNTNIwhqdrcbJqRlO7jXEnjUoqRyZJulbRUE/tcwCQoaaSkxyVtl1KWfC3pRUkbppiFZyfT5DRJw1JUju+uBQwA9sulRCnW8wmCIKgU2vUIS9IGeMzAd/B0IRPxCO/r4Ck6jsYXG2+cmoyT1AV4EFgPj1H4NLA4nr6kJ9CaVYcr43EJzwK+AP6Mh4q6E/+sBuMjqfOBT4DfMT9z8p149I4zWtF/EARBxdKuFRbwF3xeaiMzyyXF+S6PgaQPAbIpOyQdiCuI/LQltxRBnt7AJikGYi6T8B3ACma2Vapzv6TN8fQiv8tlTpY0G5gS6UWCIKhV2q1JUNIiwKbA9Rll1RS2ASbnKati8VZOWSUaSi/ST/lJvYIgCGqYdquwcPNdBzJJG5tIb+DD4osDNC+9SCc8PmKTiPQiQRBUO+3ZJPgZMA9YtpntpuLBbquKSC8SBEG1025HWMkM+Diwr6SFm9H0AWBpSTuVRrIgCIKgEO1WYSVOwE18T0naT9KWkg6SdGkDbYbji4hvlPRHSVtJ2k3SlZJWa6BdEARB0AratcIys9G448UHwKXAPcCJNDCvZWZzcMeLvwGHpjZXAH2AaSUWOQiCoN0SwW/bJ/GhB0FQTiL4bRAEQVC7hMIqMimMUkNbJaydUrE3SYeV4rrtTcZqkTNkbD8ylkjOFhEKq/g0ll5k//KJVlIOLbcATaAaZITqkDNkLA7VICNUiJzteR1WqWgsvch7bSJFEARBjREKq8iYWVPTiwRBEATNIEyCQbGohnhP1SAjVIecIWNxqAYZoULkDLf2IAiCoCqIEVYQBEFQFYTCCoIgCKqCUFhBEARBVRAKK0BSk/NqBc0jnm0QFI9QWO2Y3I+pmc0ttyzNQc665ZajPrLy5Z6tpC5p37mcsgWlQ1LF/p5WsmzNoSZuImgxB0m6Q9JCuYIqGRF8D3hS0pnlFqQeFpDPzHLZo4+UtFOlKa5Kk6c+KlHOnExmNk9SxwoJvwZUtmwtIRYOt1Mk9QX2ALYCVpa0ITAsMyKQVeCah/QPeBDQBVhf0iV41ujfmNmksgpHQfkuBZYEBgPrA2cBF+JpacpKSly6MS5bJ0kzgTPM7MOyCpZHJcpZiTLlqGTZWkuMsNoh6S3rIGAQMBn4PXAs8IKknQEqUVklfgLsCzwPvAi8BnQGLpd0SjkFS2TlGwO8BPQCJgE3AG8D/zKzuZK6lkvIxJXAbXhOOANWBd6SdHhZpVqQSpSzEmXKUcmytQ4zi62dbcDaeJLKEcBqwKJAP+BcYB6wQ7llrEfu7sCDuJIdkMpyi99vSbLvnTtXCfKl8iWAkcBs4AvgV3ntFgI2AdZuQ1n3TM/rD5my3vjo71lgyXJ/3pUqZ3NlAjqEbEW6v3ILEFsbf+A+GvkH8G3+Dzvwa+BTYNm88g5p36nMsh+W/hn3Scdd074n8HVSBqOAB4DRwDoVIl83YFxSWhckWR/CTYUCNgM+Bsbib8bfbwNZ30qyvgFskClfM5XvnI7XBlYt42decXI2QaadCsmEW7TUXmUrxhYmwfbHT/BRyLlmNj7PyWIg8AE+//IdZjYv7b9tMynzkNQf+A3wrJldn4pz8lwJdAX+ChwPnAJMAW6WtEwZ5ZuT9mfho9h/mdnxuFPGbcBccx4HjsZHvDsAoyUNKKGsPwaWBk7E37qfSs43iyaZPwU6pPm43wGvSlpZUpvOeVeinE2UqVMhmcxsnplZqRybKlm2olFujRlb223A4sB9wAeZMjF/BHUj8Exem6XxH9fXgJUy5W1p5ugAXIa/If4glS2U9pum8vOAbpk2RwJTgZ1wk8hWbSxfbnS1HvAJPn+1eO6ZZ9p2zPw9CP9R+VuJn+cawDTgh+l4C+Bx3GQ5Gh8BrgpsiY/6vgTOBh4D/tiGn3vFydlCmc5pi2dXybIV7R7LLUBsbfhhw8/Sj+rgdNwx7/z7+Mgrd/x94C7g86QAFsc9S+soLkpv5uiCK9P/5cuNOza8DHwvr81R6R/0VeAm4DncLLdFG8t3O/AOsH3ueeW1zc3BLQ38HZgO9C/x81wSeBNX8otk7mEffG7zllR2R/q+/Ak4ADgcN10OAxZrg+9rxclZiTJVg2xFu8dyCxBbG3/gyeZfoPyHwATgyMzxB+kHPzcn0xH3LpwHrAV0zrTvWEq5Ux+d0j43ujogyXJ0Xr2VgEdxBfVTYBn8zfI+fI5riRLLl9v/GB/lXZCpU1C5A7sDs4DfNdJHlyLJ+pv0fI7CnUK6pPIl0ue8Hz4n+OfsZ4ybkqYCa7bR97W1cq5RBpl+hY9e6pNp9QLXLIrFopJlK8r9lVuA2Nrog877oWT+m31u/wN8Tmit9KV+D3cbXyvTZkXgkaQkrgD+j4w3UhvfT4ckx/3U9cjrirvofzchnzl3IvAVsHxDz6aIMu6Gj073bKgfYAXgYeB10ptxfn3cMeNC3Bvywmy9Vsh3QpLvMWAIsFcqXxM3Jb3G/JeD3A/fYOAbYL10PAA4gxI65LRCzlk5OYv9WZdKpmI8x0qWrbVbOF20Eyx94+o7Zv6ajT1xL8LRwK5m9ip8F1rol/g8yzPAh8BTwFGSHpDUp6Q3kCGtI+uMzxsNM7PxmdNr4m+Xd5rZnXkr+38IjMeV2ncUeBbF4i3cxLebpJWz/eTkSs91e3xe4RQz+yqVdzAzk7SQpN/go8Of4gp3E2CspE1aI5yZ/QVfzvAEsDI+EgVfUL4O/hb+jaQuZjY78x14A/9xA3/R+SOwbmtkKZGcr5McXyRtKOkk4B+SDmkDmc6rR6bX8DklJG2UL5MVwbGpkmVrNeXWmLGVf8MdL87GRyXz0t998uqsh3veXQ+smMo64B6HXwCDstdL+5K/kZExV+BzbOcnedZOZR3TflvcVDIsU78/7lF4KT5/9JMSyLcu/kPwGnnzbOn8+vi8w735n0naH48vOv5v+pw6An3xH6MLiyhn97TfPPV3f+Zc7hkejJuNs/Ocv8dH42tl5S7h590cOc/LnHs/Pef/pXNvAJvXqkzVIFuL7qfcAsRWORtwKAXmUHCX7Gvxidn1qWsmWBZXZEPy2nTN/N0mNnDcbDYPuCjbL+4ocjvu/LBlKtsJ95SaB7yAh0r6MtVbqkSy9Ux/bwssB/TAvbTmAOtn6uZ+SNbGR4T3kl4gMufOw+cYizp3iLvcv5J5Tjlvx2VwJTkaWCFT/zJgbAHZ1wSWKeFn3WQ5gV3SZ7tjOl4Z+Bs+At6glmWqBtmadR/l7Dy2ytgKKZTMD4+AbfBRy21Aj1Secyzon37098u0PQ1XbitmylSonxLcy29IThXMV1iH4CbMSzL1PsDDJv0kHfcAfoQv6L262Iog0+8yzFeSQ3GX94uzzynz93/wUWFucWzW+/CfePinXiV8lllZhuCeZsfk1XkJf5nJ1l03/bjNAJZug8+8kJxHZ8r6pGd1UeY7sTb+srBUff8DlSZTsb6TlSxbo7K3RSexVf6WFMoC5hzcu+iu9CP7r0x5TmFdCXwEbJaOu+FriT7CRwF/BrYtx/2k/bL45PNoYJVUdjo+F7R/gWewD3BUOr4I+EUJZFuW+aGk5gG7Agvnyf0j3BTzt0xZ7iVixXRPjxS65xLI+0PcnHQPdZ1CVsbnif6SKdsTfxl4FPh5G3/mWTmza/I6444IM6jrHdc182y7AosAAytZpvr+T2tNtnplbssvVGzVtaUv4KG49+D5+MT/6pnzW+HmrKuZP/K6Ov0I34PPDV2KeyxdRMYNvg3v4VBgLvD7dNwND930HCkEFQu+LebeKj8go6RLINsG+EjrK1y5L5U59zvc1JobAWZHvHunZ7xvKjuStFi0RHKugM9l5LzNOqd9bnS9TTo+GR/JPkEmZh2+nu/nSc4ftIGcuWUYG1PXy3WP9CN8EWm9ET4PuxG+3GEiroCfAX5UqzJVg2z1ytwWncRWnRv+Jv8GcCu+tulB3P36GOA64DPcrfz7qf730g/YMOa7zXbAQxN9ACxXpvvYirojg4eABwvU++4NEVg9/fhmTSUlMWkCR6QfgH6ZsquA1/L7BlZJdcdkZH4Xd8potat7E+XNyXI4Hn1+6/QZz0s/biul84vhIac+xV3hn8VNy7eQXnBKLOfN+JzkAOYr2T/hZta+6XgvfC7zZXzZwy9xc+s05i+wL9qooRkyvYWbW+uTKetstFn6vrTq8y+ibCUbZZX8yx1bdW64N9pf04/QJqmsT/pC596shlH3TfqJ9GXeKO9au6br5CZ8F1gTRtvMb+WU0QX4HNuahc6nv3+Ufmj3LHCdkpm6MjLegZv9OmTKeuBrnuYBP01l/fH5hisauGbRn22S64/px+y1tD8rc74TvrxgDj5XtyawPL6Y+kXgyjZ4hnum7+O9+FKAHumHfQqepWAZfF3SdJK5OLVbHBhOnsm1EmXCXwpuxUdCK1SSbCX5bEvdQWzVu+GmnKPJe3PD13gslPcDn0tr8Dvmv4Hn9n/BU25kTV6d04/tcpmytpm49bUob+NvhgNJrr95Mu+NrzXqkznXH/gXeekbSiTjXriH4PrMny88DXfSuCZTbync5LlbOs55fy2S/VEpkYy/Sc/iI9Lbdd4zHpnOH5j9jHEFNhl/ky+1G/zyuCl7Ku4lNw83b3dNz/jjdG4KcFim3a+TjKWIlNFambJmu93xl4IDqeuU06KXlFI9L/wFp9UvTiX7osRWe1v6sckqqaxZYjJuLlw1ew43YX2Bj2pyZsIdUt338TU8t9DGeY3wwKBv4SOD24Bf5p2/Co9TuEw6Xgc3iX6DK+deqbxUjg598ejtH+Dm1+fxRZ3/pu6SgV+lH5BN89rncpuVOuDqlsC62e9I2m+V+r8afyN/hbSOB1/T9y2ZmJRt8HlvlD63jZm/Nul3+AtAX3w92cwk54Z4qpiZlNDMmpFpo4xMJzUi0+fMjxPYF5+LfZSMtyj+ovlXfG1hi1LVtFa2VL83PpVQtJfSNvmyxFbbG27mmUfdN66cmeFmXDF9Lx1vhzsZvIzPexyCz8mMpcCEPB6Bo2TKDNgfd9fNucJ3xEd/twIjUtmP0j28SJ5ia4NnewweAutyYOfMj1Vu1HU0/rabW8y9HD6i/QL3MFy8TN+J3+Lr3jriLy25kekw/AXlTVpowiqijKfgLyy5UWlOzjlJ1uG0gedbM2W6PpV3Bo7DX2JyTi8H4y8Kz+EjoRH46Pv0YtxDE2S7KZWvhDvgTMM9Xd/HX7S6t1qGcn5hYqudDU8Dv3j6O/eW/ZP0RT4h/XAtj7uXjwZWy7RdHTd/nVngmh+nH+WiBH2tR/accs2OGCckZbFfku1F6npItuWPWEPr5G4Enkx/L4ubc2bh80c92lrWjHzb4otPt8mUbYHPgczDI6YsXK7va5JnAP6idAx1R61b4rEyd6pAmXKLeVfDXdL/gS/sXwifQ84pj1zkkU3wEGullu1K0vIV/CV1Kr6kZV/c2zD3fz8g953MfIe70sT1emX7ssRWG1v2i5dX3hk3FzxKWquBr3H6Nvsjlql/B/By+rsTPjp4KP1T5kZnbfLDi5tBPk9KKvemPaDcz7qAnD1wU+El+Cj3edzMeVgFyNYNH0ndiM8TfreWDB9lb1Rm+XLxKIfiI9S/4ItjcxFFOlHCl6QWytQ5Pb+OSXlNpa459hf4yHombqLfpQ1ly426DsRHdXdl2nbGl3BMAg7OfQ8y5/+LL+94kbR0ol45yvmlia12N3zUNA1PAZJ7k/oPbgpagrxRTfrC3p3+7oa/Lc4lM4/UhrIvn+SZl/5Bczb8ikohjnttPZme6ZP4fOA6medd1rQQpCC9Sa6jcW/RPuWUqR4598CdcF7EsxHsU4Ey7Zs5tzme6+2UjKLom374v8JHX+fjL31FN6fXJxs+0nsEt0h8nf6Hv59p9zJwafp7O9zp6UrmJ2C9OP29ab19l/uDia12t/RmtWj6uys+UhnL/JQGubUe2+KmjNNIbtz4mp3X8VHDPODkMshf9GC4RZZvGeabgIYBG6bySlOsf0gvHqNwJ5Gu5ZapHjn3xs3XFaNUMzLl5lh74ovyX6WuM8PB6XtwQjr+7n+vrZ5Xku1VfE64Hz4PPA+f51onnbss1e2LOzHlwpTlnJsanNcs+wcSW21uFDYT/gpfjLs180dYi+AjhJeAjVPZYfjoaj/c7HUoviC1pJl4G7iXilIAebL1ws0wJf1xKoKc3XDvtcrOaJuXJ64SNuqaUw9KLyl7UzfQ8FPAuHLJlv5eGHewOD0j77b43FUuDNlGmfr/wU2X7+CmzEbXN+YeRBCUHEnL4i7aq+Lmin64F+BywG/N7DpJPfGFqE8DvzazSaltVzObVfjKQVD7SOqEBxpeDXe+mCqpM+6efwYeJPkuSZ2sTLmrJJ2IK9ODzOyFVLYwPjXQGx9hfSZpKzxE2km4A85PgZlm9t8Grx8KK2hrJJ2Gr/EwfJ7rFOBZM5sl6QLcvLGnmd1fRjGDoCJJyVI/NTOTNAi4BnjPzLYpq2CApFVxz8UlcdPg48BHZvaFpM5mNicp2SdxK8q+ZvZOk68fCitoKyR1NLO56e+F8bmM6ZnzffF1HpfjLu7TJcniSxoECyBpIeBCPKbjQDN7O/s/Vk4knYe7tL+GK6aDzezDdO5wPI/afsB/miNvKKygTUmp4TuY2dx8ZZRSwV+Mr3+5u2xCBkGVIGlJPK7kdZWirHJIWgL3DJ1mZremsiVx78In8MDSk5vzUtqpVMIGQSHSF3Nu5u8sr+NrPFZua7mCoBoxs0/weWFwp4aKwcymANekl9QcpwFdgKvMbHKq1+RRU4fiihgELcfMHsbzZ/1V0i3JASMIgiZQqabznFySegC74Tm4nktlqr/lgoRJMKgIsmYBSf3xKNS3mtnE8koWBEGxkNQRX8z8UYvah8IKKoXs/Fa5ZQmCoPIIhRVUHOEZGARBIUJhBUEQBFVBOF0EQRAEVUEorCAIgqAqCIUVBEEQVAWhsIIgCIKqIBRWEARBUBWEwgqCIAiqglBYQRAEQVXw/2G1HDh2nLQ/AAAAAElFTkSuQmCC\n",
220
  "text/plain": [
221
+ "<Figure size 432x288 with 1 Axes>"
222
  ]
223
  },
224
+ "metadata": {
225
+ "needs_background": "light"
226
+ },
227
  "output_type": "display_data"
228
  }
229
  ],
230
  "source": [
231
+ "def plot_stat_test(test_results, feature_source, bench_source, test, impute, mask=True, cbar=False, ylabels=False):\n",
232
  " feature_source = feature_source.split(\"_\")[0]\n",
233
  " bench_source = bench_source.split(\"_\")[0]\n",
234
  " if feature_source==bench_source:\n",
 
272
  "Path: ../data/BaselineED_bench.csv\n",
273
  "Imputed dataset: (20, 26)\n",
274
  "No nan's dataset: (14, 26)\n",
275
+ "FT_COL: ['log', 'ratio_variants_per_number_of_traces', 'ratio_most_common_variant', 'ratio_top_10_variants', 'epa_normalized_variant_entropy', 'epa_normalized_sequence_entropy', 'epa_normalized_sequence_entropy_linear_forgetting', 'epa_normalized_sequence_entropy_exponential_forgetting']\n",
276
  "M_COL: ['log', 'fitness_heu', 'precision_heu', 'fscore_heu', 'size_heu', 'cfc_heu', 'fitness_ilp', 'precision_ilp', 'fscore_ilp', 'size_ilp', 'cfc_ilp', 'fitness_imf', 'precision_imf', 'fscore_imf', 'size_imf', 'cfc_imf']\n",
277
  "BaselineED (14, 8) (14, 16)\n",
278
  "Direct kendalltau BaselineED_feat\n",
 
283
  "Path: ../data/GenBaselineED_bench.csv\n",
284
  "Imputed dataset: (24, 26)\n",
285
  "No nan's dataset: (19, 26)\n",
286
+ "FT_COL: ['log', 'ratio_variants_per_number_of_traces', 'ratio_most_common_variant', 'ratio_top_10_variants', 'epa_normalized_variant_entropy', 'epa_normalized_sequence_entropy', 'epa_normalized_sequence_entropy_linear_forgetting', 'epa_normalized_sequence_entropy_exponential_forgetting']\n",
287
  "M_COL: ['log', 'fitness_heu', 'precision_heu', 'fscore_heu', 'size_heu', 'cfc_heu', 'fitness_ilp', 'precision_ilp', 'fscore_ilp', 'size_ilp', 'cfc_ilp', 'fitness_imf', 'precision_imf', 'fscore_imf', 'size_imf', 'cfc_imf']\n",
288
  "BaselineED (19, 8) (19, 16)\n",
289
  "Direct kendalltau GenBaselineED_feat\n",
 
294
  "Path: ../data/GenED_bench.csv\n",
295
  "Imputed dataset: (441, 26)\n",
296
  "No nan's dataset: (285, 26)\n",
297
+ "FT_COL: ['log', 'ratio_variants_per_number_of_traces', 'ratio_most_common_variant', 'ratio_top_10_variants', 'epa_normalized_variant_entropy', 'epa_normalized_sequence_entropy', 'epa_normalized_sequence_entropy_linear_forgetting', 'epa_normalized_sequence_entropy_exponential_forgetting']\n",
298
  "M_COL: ['log', 'fitness_heu', 'precision_heu', 'fscore_heu', 'size_heu', 'cfc_heu', 'fitness_ilp', 'precision_ilp', 'fscore_ilp', 'size_ilp', 'cfc_ilp', 'fitness_imf', 'precision_imf', 'fscore_imf', 'size_imf', 'cfc_imf']\n",
299
  "BaselineED (285, 8) (285, 16)\n",
300
  "Direct kendalltau GenED_feat\n",
 
305
  "Path: ../data/BaselineED_bench.csv\n",
306
  "Imputed dataset: (20, 26)\n",
307
  "No nan's dataset: (14, 26)\n",
308
+ "FT_COL: ['log', 'ratio_variants_per_number_of_traces', 'ratio_most_common_variant', 'ratio_top_10_variants', 'epa_normalized_variant_entropy', 'epa_normalized_sequence_entropy', 'epa_normalized_sequence_entropy_linear_forgetting', 'epa_normalized_sequence_entropy_exponential_forgetting']\n",
309
  "M_COL: ['log', 'fitness_heu', 'precision_heu', 'fscore_heu', 'size_heu', 'cfc_heu', 'fitness_ilp', 'precision_ilp', 'fscore_ilp', 'size_ilp', 'cfc_ilp', 'fitness_imf', 'precision_imf', 'fscore_imf', 'size_imf', 'cfc_imf']\n",
310
  "BaselineED (14, 8) (14, 16)\n",
311
  "Direct pearsonr BaselineED_feat\n",
 
316
  "Path: ../data/GenBaselineED_bench.csv\n",
317
  "Imputed dataset: (24, 26)\n",
318
  "No nan's dataset: (19, 26)\n",
319
+ "FT_COL: ['log', 'ratio_variants_per_number_of_traces', 'ratio_most_common_variant', 'ratio_top_10_variants', 'epa_normalized_variant_entropy', 'epa_normalized_sequence_entropy', 'epa_normalized_sequence_entropy_linear_forgetting', 'epa_normalized_sequence_entropy_exponential_forgetting']\n",
320
  "M_COL: ['log', 'fitness_heu', 'precision_heu', 'fscore_heu', 'size_heu', 'cfc_heu', 'fitness_ilp', 'precision_ilp', 'fscore_ilp', 'size_ilp', 'cfc_ilp', 'fitness_imf', 'precision_imf', 'fscore_imf', 'size_imf', 'cfc_imf']\n",
321
  "BaselineED (19, 8) (19, 16)\n",
322
  "Direct pearsonr GenBaselineED_feat\n",
 
327
  "Path: ../data/GenED_bench.csv\n",
328
  "Imputed dataset: (441, 26)\n",
329
  "No nan's dataset: (285, 26)\n",
330
+ "FT_COL: ['log', 'ratio_variants_per_number_of_traces', 'ratio_most_common_variant', 'ratio_top_10_variants', 'epa_normalized_variant_entropy', 'epa_normalized_sequence_entropy', 'epa_normalized_sequence_entropy_linear_forgetting', 'epa_normalized_sequence_entropy_exponential_forgetting']\n",
331
  "M_COL: ['log', 'fitness_heu', 'precision_heu', 'fscore_heu', 'size_heu', 'cfc_heu', 'fitness_ilp', 'precision_ilp', 'fscore_ilp', 'size_ilp', 'cfc_ilp', 'fitness_imf', 'precision_imf', 'fscore_imf', 'size_imf', 'cfc_imf']\n",
332
  "BaselineED (285, 8) (285, 16)\n",
333
  "Direct pearsonr GenED_feat\n",
 
338
  {
339
  "data": {
340
  "text/plain": [
341
+ "<Figure size 432x288 with 0 Axes>"
342
  ]
343
  },
344
  "metadata": {},
 
352
  "for test in TESTS:\n",
353
  " for data_source in DATA_SOURCES:\n",
354
  " cbar = True if data_source == 'GenED' else False\n",
355
+ " ylabels = True if data_source == 'BaselineED' else False\n",
356
  " print(test, data_source)\n",
357
  " masked_results = statistical_test(data_source+\"_feat\", data_source+\"_bench\", test, IMPUTE)\n",
358
+ " plot_stat_test(masked_results, data_source+\"_feat\", data_source+\"_bench\", test, IMPUTE, cbar=cbar, ylabels=ylabels)\n",
359
  " plt.clf()"
360
  ]
361
  },
 
366
  "metadata": {},
367
  "outputs": [],
368
  "source": []
369
+ },
370
+ {
371
+ "cell_type": "code",
372
+ "execution_count": null,
373
+ "id": "3717a694",
374
+ "metadata": {},
375
+ "outputs": [],
376
+ "source": []
377
+ },
378
+ {
379
+ "cell_type": "code",
380
+ "execution_count": null,
381
+ "id": "c6afe4d9",
382
+ "metadata": {},
383
+ "outputs": [],
384
+ "source": []
385
  }
386
  ],
387
  "metadata": {
 
400
  "name": "python",
401
  "nbconvert_exporter": "python",
402
  "pygments_lexer": "ipython3",
403
+ "version": "3.9.18"
404
  }
405
  },
406
  "nbformat": 4,
notebooks/gedi_figs9and10_consistency.ipynb CHANGED
The diff for this file is too large to render. See raw diff