From 54d3b73d0ae931cb750c78d8e3390827be3a9eef Mon Sep 17 00:00:00 2001 From: DavidOry Date: Mon, 7 Jul 2025 14:35:19 -0400 Subject: [PATCH 1/2] Initial commit of sameness assessment, with UV config --- .gitignore | 12 +- .python-version | 1 + notebooks/sameness-investigations.twb | 3400 +++++++++++++++++ ...tour-mode-choice-sameness-assessment.ipynb | 1150 ++++++ pyproject.toml | 13 + uv.lock | 359 ++ 6 files changed, 4934 insertions(+), 1 deletion(-) create mode 100644 .python-version create mode 100644 notebooks/sameness-investigations.twb create mode 100644 notebooks/tour-mode-choice-sameness-assessment.ipynb create mode 100644 pyproject.toml create mode 100644 uv.lock diff --git a/.gitignore b/.gitignore index a469d54..9a2bcb7 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,14 @@ input/build/ output/ *.zip **/.ipynb_checkpoints/ -output_*/ \ No newline at end of file +output_*/ + +# tour mode choice sameness investigation +.DS_Store +input/tour-mc-data/* + +notebooks/*.twbx +notebooks/tour-mc-investigation-for-tableau.csv + +scripts/.Rhistory +scripts/.Rproj.user/* diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..24ee5b1 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.13 diff --git a/notebooks/sameness-investigations.twb b/notebooks/sameness-investigations.twb new file mode 100644 index 0000000..6852fd4 --- /dev/null +++ b/notebooks/sameness-investigations.twb @@ -0,0 +1,3400 @@ + + + + + + <_.fcp.AnimationOnByDefault.true...AnimationOnByDefault /> + + + <_.fcp.MarkAnimation.true...MarkAnimation /> + <_.fcp.ObjectModelEncapsulateLegacy.true...ObjectModelEncapsulateLegacy /> + <_.fcp.ObjectModelTableType.true...ObjectModelTableType /> + <_.fcp.SchemaViewerObjectModel.true...SchemaViewerObjectModel /> + + + + + + + + + <_.fcp.AnimationOnByDefault.false...style> + <_.fcp.AnimationOnByDefault.false..._.fcp.MarkAnimation.true...style-rule element='animation'> + <_.fcp.AnimationOnByDefault.false...format attr='animation-on' value='ao-on' /> + + + + + + + + + + + <_.fcp.ObjectModelEncapsulateLegacy.false...relation connection='textscan.0fb8pml1k8fz0i19f8m2r1iv76gd' name='tour-mc-investigation-for-tableau.csv' table='[tour-mc-investigation-for-tableau#csv]' type='table'> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_.fcp.ObjectModelEncapsulateLegacy.true...relation connection='textscan.0fb8pml1k8fz0i19f8m2r1iv76gd' name='tour-mc-investigation-for-tableau.csv' table='[tour-mc-investigation-for-tableau#csv]' type='table'> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + [tour-mc-investigation-for-tableau.csv] + + Count + true + + "UTF-8" + "en_US" + "," + "true" + "en_US" + "" + + + + base_unique_id + 20 + [base_unique_id] + [tour-mc-investigation-for-tableau.csv] + base_unique_id + 0 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + base_household_id + 20 + [base_household_id] + [tour-mc-investigation-for-tableau.csv] + base_household_id + 1 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + base_person_id + 20 + [base_person_id] + [tour-mc-investigation-for-tableau.csv] + base_person_id + 2 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + base_tour_type + 129 + [base_tour_type] + [tour-mc-investigation-for-tableau.csv] + base_tour_type + 3 + string + Count + 1 + 1073741823 + true + + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + base_primary_purpose + 129 + [base_primary_purpose] + [tour-mc-investigation-for-tableau.csv] + base_primary_purpose + 4 + string + Count + 1 + 1073741823 + true + + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + base_tour_type_num + 20 + [base_tour_type_num] + [tour-mc-investigation-for-tableau.csv] + base_tour_type_num + 5 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + base_tour_type_count + 20 + [base_tour_type_count] + [tour-mc-investigation-for-tableau.csv] + base_tour_type_count + 6 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + base_tour_id + 20 + [base_tour_id] + [tour-mc-investigation-for-tableau.csv] + base_tour_id + 7 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + base_tour_mode + 129 + [base_tour_mode] + [tour-mc-investigation-for-tableau.csv] + base_tour_mode + 8 + string + Count + 1 + 1073741823 + true + + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + base_duration + 20 + [base_duration] + [tour-mc-investigation-for-tableau.csv] + base_duration + 9 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + base_start_time_index + 20 + [base_start_time_index] + [tour-mc-investigation-for-tableau.csv] + base_start_time_index + 10 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + base_end_time_index + 20 + [base_end_time_index] + [tour-mc-investigation-for-tableau.csv] + base_end_time_index + 11 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + base_origin + 20 + [base_origin] + [tour-mc-investigation-for-tableau.csv] + base_origin + 12 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + base_destination + 20 + [base_destination] + [tour-mc-investigation-for-tableau.csv] + base_destination + 13 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + build_unique_id + 20 + [build_unique_id] + [tour-mc-investigation-for-tableau.csv] + build_unique_id + 14 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + build_household_id + 20 + [build_household_id] + [tour-mc-investigation-for-tableau.csv] + build_household_id + 15 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + build_person_id + 20 + [build_person_id] + [tour-mc-investigation-for-tableau.csv] + build_person_id + 16 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + build_tour_type + 129 + [build_tour_type] + [tour-mc-investigation-for-tableau.csv] + build_tour_type + 17 + string + Count + 1 + 1073741823 + true + + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + build_primary_purpose + 129 + [build_primary_purpose] + [tour-mc-investigation-for-tableau.csv] + build_primary_purpose + 18 + string + Count + 1 + 1073741823 + true + + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + build_tour_type_num + 20 + [build_tour_type_num] + [tour-mc-investigation-for-tableau.csv] + build_tour_type_num + 19 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + build_tour_type_count + 20 + [build_tour_type_count] + [tour-mc-investigation-for-tableau.csv] + build_tour_type_count + 20 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + build_tour_id + 20 + [build_tour_id] + [tour-mc-investigation-for-tableau.csv] + build_tour_id + 21 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + build_tour_mode + 129 + [build_tour_mode] + [tour-mc-investigation-for-tableau.csv] + build_tour_mode + 22 + string + Count + 1 + 1073741823 + true + + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + build_duration + 20 + [build_duration] + [tour-mc-investigation-for-tableau.csv] + build_duration + 23 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + build_start_time_index + 20 + [build_start_time_index] + [tour-mc-investigation-for-tableau.csv] + build_start_time_index + 24 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + build_end_time_index + 20 + [build_end_time_index] + [tour-mc-investigation-for-tableau.csv] + build_end_time_index + 25 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + build_origin + 20 + [build_origin] + [tour-mc-investigation-for-tableau.csv] + build_origin + 26 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + build_destination + 20 + [build_destination] + [tour-mc-investigation-for-tableau.csv] + build_destination + 27 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + nothing_comparable_in_build + 11 + [nothing_comparable_in_build] + [tour-mc-investigation-for-tableau.csv] + nothing_comparable_in_build + 28 + boolean + Count + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + error_term_id + 20 + [error_term_id] + [tour-mc-investigation-for-tableau.csv] + error_term_id + 29 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + same_error_term + 11 + [same_error_term] + [tour-mc-investigation-for-tableau.csv] + same_error_term + 30 + boolean + Count + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + error_term_id_right + 20 + [error_term_id_right] + [tour-mc-investigation-for-tableau.csv] + error_term_id_right + 31 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + error_term_present_in_build + 11 + [error_term_present_in_build] + [tour-mc-investigation-for-tableau.csv] + error_term_present_in_build + 32 + boolean + Count + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + sameness_definition + 129 + [sameness_definition] + [tour-mc-investigation-for-tableau.csv] + sameness_definition + 33 + string + Count + 1 + 1073741823 + true + + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + iia_violations + 20 + [iia_violations] + [tour-mc-investigation-for-tableau.csv] + iia_violations + 34 + integer + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + unique_error_terms + 5 + [unique_error_terms] + [tour-mc-investigation-for-tableau.csv] + unique_error_terms + 35 + real + Sum + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + is_tour_id_same + 11 + [is_tour_id_same] + [tour-mc-investigation-for-tableau.csv] + is_tour_id_same + 36 + boolean + Count + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + is_duration_same + 11 + [is_duration_same] + [tour-mc-investigation-for-tableau.csv] + is_duration_same + 37 + boolean + Count + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + is_tour_type_num_same + 11 + [is_tour_type_num_same] + [tour-mc-investigation-for-tableau.csv] + is_tour_type_num_same + 38 + boolean + Count + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + is_start_time_same + 11 + [is_start_time_same] + [tour-mc-investigation-for-tableau.csv] + is_start_time_same + 39 + boolean + Count + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + is_end_time_same + 11 + [is_end_time_same] + [tour-mc-investigation-for-tableau.csv] + is_end_time_same + 40 + boolean + Count + true + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + eet_performance + 129 + [eet_performance] + [tour-mc-investigation-for-tableau.csv] + eet_performance + 41 + string + Count + 1 + 1073741823 + true + + <_.fcp.ObjectModelEncapsulateLegacy.true...object-id>[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A] + + + + + + + + + + + + <_.fcp.ObjectModelTableType.true...column caption='tour-mc-investigation-for-tableau.csv' datatype='table' name='[__tableau_internal_object_id__].[tour-mc-investigation-for-tableau.csv_134FC4B544BF4BA49A31C83E45E2329A]' role='measure' type='quantitative' /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "Success: Correct match to build" + "Success: Nothing comparable in build" + "Failure: Incorrect match to build" + "Success: Correct match to build." + "Success: Nothing comparable in build." + "Failure: Incorrect match to build." + "Failure: Error term not generated in build." + "Failure: Error term not generated in build" + + + + + "Basics" + "Basics + tour_type_num" + "Basics + destination" + "Basics + start_time" + "Basics + start_time + duration + origin + destination" + + + + <_.fcp.ObjectModelEncapsulateLegacy.true...object-graph> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <formatted-text> + <run>Instances of Multiple Matches in Build Scenario for each entry in Base Scenario</run> + </formatted-text> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "[federated.1536qtb065a9em1bqm00h1rvkbm3].[ctd:base_unique_id:qk]" + "[federated.1536qtb065a9em1bqm00h1rvkbm3].[pcto:ctd:base_unique_id:qk]" + + + + + "household_id + person_id + tour_type + primary_purpose + tour_type_num" + "household_id + person_id + tour_type + primary_purpose + start_time + duration" + "household_id + person_id + tour_type + primary_purpose + start_time + duration + origin + destination" + "Basics" + "Basics + tour_type_num" + "Basics + start_time + duration" + "Basics + origin + destination" + "Basics + destination" + "Basics + start_time" + "Basics + start_time + duration + origin + destination" + + + + [federated.1536qtb065a9em1bqm00h1rvkbm3].[:Measure Names] + + + + + + + + + + + + + + + + + ([federated.1536qtb065a9em1bqm00h1rvkbm3].[:Measure Names] / [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:sameness_definition:nk]) + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:iia_violations:ok] + +
+ +
+ + + + <formatted-text> + <run>Simulation Variability Index</run> + </formatted-text> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "[federated.1536qtb065a9em1bqm00h1rvkbm3].[ctd:base_unique_id:qk]" + "[federated.1536qtb065a9em1bqm00h1rvkbm3].[avg:unique_error_terms:qk]" + + + + + + + [federated.1536qtb065a9em1bqm00h1rvkbm3].[:Measure Names] + + + + + + + + + + + + + + + + + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:sameness_definition:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[:Measure Names] + +
+ +
+ + + + <formatted-text> + <run>Matching Performance for </run> + <run bold='true'>Tour Mode Choice</run> + <run> of Explicit Error Term using Monte Carlo Approach to Generating Seeds for Random Error Draws</run> + </formatted-text> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:sameness_definition:nk] + + + + + + + + + + + + + + + + + + + + + Sameness: + ]]> + Æ + ]]> + Æ + Base Scenario Tours: + ]]> + Æ + Share of Tours: + ]]> + + + + + < + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:sameness_definition:nk] + > < + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:eet_performance:nk] + > < + [federated.1536qtb065a9em1bqm00h1rvkbm3].[ctd:base_unique_id:qk] + > < + [federated.1536qtb065a9em1bqm00h1rvkbm3].[pcto:ctd:base_unique_id:qk] + > + + + + + + + +
+ +
+ + + + <formatted-text> + <run>Matching Performance for </run> + <run bold='true'>Tour Mode Choice</run> + <run> of Explicit Error Term using Monte Carlo Approach to Generating Seeds for Random Error Draws</run> + </formatted-text> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "[federated.1536qtb065a9em1bqm00h1rvkbm3].[ctd:base_unique_id:qk]" + "[federated.1536qtb065a9em1bqm00h1rvkbm3].[pcto:ctd:base_unique_id:qk]" + + + + + "Basics" + "Basics + tour_type_num" + "Basics + destination" + "Basics + start_time" + "Basics + start_time + duration + origin + destination" + + + + [federated.1536qtb065a9em1bqm00h1rvkbm3].[:Measure Names] + + + + + + + + + + + + + + + + + ([federated.1536qtb065a9em1bqm00h1rvkbm3].[:Measure Names] / [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:sameness_definition:nk]) + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:eet_performance:nk] + +
+ +
+ + + + <formatted-text> + <run>Simulation Variability and IIA Violations</run> + </formatted-text> + + + + + + + + + + + + + + + + + + + + + + + + + "household_id + person_id + tour_type + primary_purpose + tour_type_num" + "household_id + person_id + tour_type + primary_purpose + start_time + duration" + "household_id + person_id + tour_type + primary_purpose + start_time + duration + origin + destination" + "Basics" + "Basics + tour_type_num" + "Basics + start_time + duration" + "Basics + origin + destination" + "Basics + start_time + duration + origin + destination" + + + + + + + + + + + + + + + + + + + ]]> + Æ + Likely IIA Violations Index: + ]]> + Æ + Likely Simulation Variability Index: + ]]> + + + + + + [federated.1536qtb065a9em1bqm00h1rvkbm3].[avg:iia_violations:qk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[avg:unique_error_terms:qk] +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + [federated.1536qtb065a9em1bqm00h1rvkbm3].[:Measure Names] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:Calculation_4241405710969221124:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:Sameness -- Duration Only (copy)_4241405710944141313:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:eet_performance:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:error_term_present_in_build:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:same_error_term:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:sameness_definition:nk] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:Calculation_4241405710972465157:qk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:Calculation_4241405710972600326:qk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:Calculation_4241405710972665863:qk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:Sameness -- Duration Only (copy)_4241405710944141313:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:base_tour_id:ok] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:eet_performance:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:error_term_present_in_build:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:same_error_term:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:sameness_definition:nk] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [federated.1536qtb065a9em1bqm00h1rvkbm3].[:Measure Names] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:Calculation_4241405710969221124:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:Sameness -- Duration Only (copy)_4241405710944141313:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:eet_performance:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:error_term_present_in_build:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:iia_violations:ok] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:same_error_term:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:sameness_definition:nk] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [federated.1536qtb065a9em1bqm00h1rvkbm3].[:Measure Names] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:Calculation_4241405710969221124:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:Sameness -- Duration Only (copy)_4241405710944141313:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:eet_performance:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:error_term_present_in_build:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:iia_violations:ok] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:same_error_term:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:sameness_definition:nk] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [federated.1536qtb065a9em1bqm00h1rvkbm3].[:Measure Names] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:Calculation_4241405710969221124:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:Sameness -- Duration Only (copy)_4241405710944141313:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:eet_performance:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:error_term_present_in_build:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:iia_violations:ok] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:same_error_term:nk] + [federated.1536qtb065a9em1bqm00h1rvkbm3].[none:sameness_definition:nk] + + + + + + + + + iVBORw0KGgoAAAANSUhEUgAAAYAAAAGACAYAAACkx7W/AAAACXBIWXMAAA7DAAAOwwHHb6hk + AAAgAElEQVR4nOzdeXwU933/8dce2l1Jq9XqPhASEggMwuKwTLjPOPggvmonNXaN67R206Rp + HLtJ2kfan2M/0rR5JHWcponT1jeYgMHYHOYwl0Ec5hCXhDgEEqD7WEl7XzPz+4OHJiwCW/hC + dD/Px4NHop2Z73xndmbe3+93xrMGTdM0hBBCxB3j9a6AEEKI60MCQAgh4pQEgBBCxCkJACGE + +Iw6OjqudxU+FQkAIYT4jEKh0PWuwqciASCEEHFKAkAIIeKUBIAQQsQpCQAhhIhTEgBCCBGn + JACEECJOSQAIIUSckgAQQog4JQEghBBxSgJACCHilASAEELEKQkAIYSIUxIAQggRpyQAhBAi + TkkACCFEnJIAEEKIOCUBIIQQcUoCQAgh4pQEgBBCxCkJACGEiFMSAEIIEackAIQQIk5JAAgh + RJySABBCiDglASCEEHFKAkAIIeKUBIAQQsQpCQAhhIhTEgBCCBGnJACEECJOSQAIIUSckgAQ + Qog4JQEghBBxSgJACCHilASAEELEKQkAIYSIUxIAQggRpyQAhBAiTkkACCFEnJIAEEKIOCUB + IIQQcUoCQAgh4pQEgBBCxCkJACGEiFMSAEIIEafMl3/Q0dFBKBS6HnURQogbltvtvt5VuGYG + TdO0610JIYS4kbndbhwOx/WuxjWTISAhhIhTEgBCCBGnJACEECJOSQAIIUSckgAQQog4JQEg + hBBxSgJACCHilASAEELEKQkAIYSIUxIAQggRpyQAhBAiTn1sAGiaxvbt29m3bx8AqqqyceNG + VFW95hW1t7fzwgsvfLpaXsW5c+d4+umneemllwDo6upi5cqVMf/a2to+13V+GTRNQ1VVVFXl + Wl/V1LfctTp27Bh1dXX09vYSjUZjprndbiKRyCeW0Vfvy+vT09NzzfX5siiK0m8fh8NhvF7v + darRx+vo6GDXrl3XuxriM9A0Db/fTzgcvqbpiqLEnF99813t3IxEIvh8vphlFEXB5/OhKApw + hbeBXu7111+nra2NJUuWYLfbeemll5g7dy4GgwEAg8GAqqr63wDRaBSTyaSv0Gw2EwwGqamp + 0VdsNBoxGAxomkYkEsFsNmM0GmNORk3TMBqN+v+PRqMYDAbMZjOaprF8+XLKy8u599579XX1 + 9vZSVVWFoijceuutRKNRfVmj0YjJZELTNDRNi6nzpduhqiomk0m/mJpMpph5v2g9PT0sXryY + jIwMgsEgI0eOZNq0aQOqw5kzZwgEApSXlw94fcFgkP3797No0SI2bdrErbfeSmZmpj593759 + lJWVkZeX97HltLa2Ul9fz9SpU2PK3rx5Mw888MCA6/Nl2rVrF6NHjyYrK0v/rKWlhYaGBmbN + mnUda3ZlmZmZbN26lY6Ojpg6ixuD3+/nV7/6FVarFa/Xy9SpU7n99tv16V6vl9/97neoqorH + 42HBggV85Stf4cCBA7zyyiv84Ac/YOTIkUSjUf7zP/+TSCSC1+tl/vz5TJs2TS9n+/btbNu2 + jZSUFHp7e3nmmWdoaWlh8eLFpKWl0dnZyRNPPPHJAQAwdepUVq5cyaJFi/TPXnjhBe666y5G + jRrFj370I/7f//t/LF++nKNHj9LQ0MDw4cOJRCI0NDTwve99j5EjR9LY2MgTTzyBz+fjJz/5 + CaNHj+bFF1/k6NGjOJ1OnnvuOXbt2kVvby/79+/na1/7GvPnzwdg/fr1vPHGGxiNRr773e8S + CoXYuHEjqampuFwunnrqKbKzs3n88ccxmUyEQiEef/xxNE3jrbfe4r333sNms/GjH/2IIUOG + 8G//9m/8/Oc/p7q6mh07dvCd73yH73//+8yePZsdO3bwgx/8gOeff55wOMy4ceP4wQ9+8Hkd + A59IVVWKioq4++670TSNV155hUmTJgEXez0Gg4Hi4mJMJhMej4cLFy6QmZlJdnY2Q4cO1UM2 + Go3S0NBAUlISeXl59PT00NLSQm5uLunp6fr6qqqqqKio0EM7EAhQU1NDZmYmOTk5AIRCIY4f + P47T6SQ/P/+K9c7MzCQ5OVnfhvr6egKBwFV7MT09PUSjUVpaWiguLsZutwPQ1tZGW1sbpaWl + JCYm4nK5cDqdXLhwgYKCAtxuNy0tLeTl5ZGWloaqqtTV1aGqKiNHjsRoNOJyudA0jaamJoYP + H67X63Ljxo3Tp4VCIRoaGnC5XFf9blwuF4FAgJ6eHkpLS7FYLLhcLtLS0jAYDLhcLtLT0+nu + 7sbhcNDS0kJWVhZer5eOjg6sVivDhg3DYDAQDAY5ffo06enpDBkyBLjYwu/o6KCgoACHw6Fv + m8FgYMSIERgMBmbNmkVlZSX33XffVespBier1cozzzxDYmIiqqry4x//mPnz5+uNu3A4zAMP + PEBJSQnRaJSf/vSn3HTTTZw6dYrJkyfrvfPW1laMRiM//OEPCYVCPP/88zEBcOuttzJr1iwM + BgOrV6/m8OHDTJo0iZ/+9KeYTCZOnDjBli1bBnYP4MEHH2Tz5s0xXfnm5mYCgQAADQ0NKIpC + W1sbU6dO5c033+TEiRP88Ic/5G/+5m/Ys2cPABkZGfzud79j0aJFvPzyyxw9epRz587x8ssv + M2rUKNavX4/L5eLll19m+vTpeksyGAzy+9//nt/85jc899xz/OpXv2LWrFnMmDGD733ve/z9 + 3//9Veve0tLCu+++yyuvvMJ3v/tdXnzxRRRFoaGhAbiYyK2trQDs37+fPXv28L3vfY+dO3dS + XFzMSy+9xDe/+c0BfbmfJ7/fT0tLCwcOHCA5ORmz2cyRI0fo6uqisbGR9957j3A4zJtvvkko + FKKqqopAIEB9fT3Hjx8nGo3y5ptv0traytGjR3G5XCxfvpxQKMTevXtjuoWnTp1i9OjRwMVe + 1NatWwkEAixfvpxgMIimaWzduhWfz8c777yDz+e7Yp07Ozv56KOPUFWVJUuW0NjYqF/kr2TH + jh18+OGHRCIRXn31VUKhEKdOnWLbtm0YDAaWLFmCoii8//77/PGPf+TYsWP09vbq27Fnzx40 + TePdd9+lubmZ9vZ2Vq5ciaZpLF68mD179hAMBlmxYsVV93NlZSW9vb0EAgFeffVVenp66Ozs + vOr8y5cvp7a2FrfbzeLFi9E0jY0bN+qhu27dOgA2b97MsmXLOHjwIKFQiN/97ne43W6OHDnC + jh07iEQivPHGG0QiEXbv3s3BgwdpaWlhzZo1hEIh9u3bh6ZprF27lvb2dhobG9m8eTMA2dnZ + dHd3X/PwoLj+TCYTiqJQXV3NH/7wB6ZPnx7Ts09PT6ekpARFUVi8eDHjx48nLS2NRx55JKYR + k5WVhcfjYePGjSxevFhvIPZJTk6msbGR7du3c/DgQcaNG0diYiJdXV189NFHLF++nNmzZw+s + B+BwOLjttttYuXLlJ86blZVFcnIyVquV9PR0UlJS9AM1MTERq9XKmDFjePvtt2lqaqKhoYF/ + +Id/wOPxMHnyZGw2G/feey/33nuvvmM6OzvJzMwkKyuLtLQ0otEoiqJgMBgwGAz6MNGVtLa2 + 6q3L0aNH093drZ+sl0tJSeHZZ58lOTmZlJQUXnjhBf7yL/+SOXPm8MQTT3ypw0Dt7e0cPnyY + 7u5usrOzARg9ejTV1dVomkZbW5teH1VVmT59OomJifryra2t5OfnM336dOBi11JVVYxGI3Pm + zIkZWusb5oKLB+hdd91FZmYmTU1NhMNhDAYDd9xxB3l5eXR0dBAIBK7aogbo7u4mJSWFmTNn + EggE9IC9nKZp3HbbbTgcDvx+P+fPn+fIkSNMmDCB5ORkvfUfDoeZMWMGpaWleDwevb5z5swh + Go3i8/n01vBbb71FOBwmLS2NBQsWAHDy5Mmr1rXv2Dxx4gSTJk1i4sSJnDt3Tm8gXC45OZmv + fvWrADQ1NeH1evsNW8LFllx5eTljx44lEokwcuRIJk2aRDQaZenSpRQUFDBq1CgmTpzIuHHj + WLx4MQUFBUSjUaxWKzNmzEBRFFpbW5k4cSIA77//fszQ5aXfm7hxdHZ2smvXLhobGxkzZky/ + 4WiXy8WLL75IRUWFfgxfTlEUTCYTwWBQH+a+XFVVFbW1tSQnJ+vn+6lTp9i/fz+qqmKxWAb+ + FNCf/dmf8cEHHxAMBoGLY/gtLS2cOXPmqi3Cy0UiETweDxs2bGD48OEUFRWRnp7OT37yE/71 + X/+VmTNnAmC322N2SFZWFi6Xi/r6empqarDZbCQkJAxonUOGDOHMmTO0tbWxb98+srOzSUhI + wOPx0NXVxalTp/R5LRaLXm5HRwff//73+eUvf8n69euvesPmizJs2DDuuOMOFi5cSFtbGz6f + jxUrVpCdna2neUJCAo899hhGo5G33nqLrq4ufXlN02IuDna7nUceeURvbff13q411AYyfygU + Iikp6ZrKjkajmM1mfUioqamJESNGkJSURGJiIiUlJcDFkH744YcJhUK8+uqrBIPBfvdyPo1g + MEhSUtKA59c0DUVRrtr4sFqt+pDNpS69z9S3bN+9sJycHB588EF6e3t57bXXiEajBAIBmpqa + aGpq4itf+UpMWV9mg0R8foYNG8aTTz7Jc889x/vvvx/zC4yRSIRf/OIXPPLII3z961+/6nd8 + 5MgRbrrpJu655x6eeOIJPvroo34hcM899/DjH/+YmTNnsmbNGgCmT5/OU089xV//9V+zZMmS + T+4BjBkzBqvVitPp5KGHHmL37t0YDAbmz5/Pf//3fzN8+HDKysowm80MGzaMtLQ0AMrLyzGZ + TDidToqLi7FarQwZMoSnnnqKnJwcnnrqKdLT05k7dy4//OEPSUxM5NFHHyU3N7dfC91qtfL0 + 00/z/PPPYzKZ+Kd/+icAiouLcTqd/eqcn5+vX7Czs7N57LHHeOaZZ0hJSeHpp58mJSWFiRMn + 8r3vfY+ysjL94jJu3Dj9pPR4PPzmN78hEAjwwAMPYLVaP2lXfa7a2tqoqqqit7eX3t5erFYr + 4XAYRVGoqqrC4/Hg9XrZuXMnI0eOJDExMSakcnNz2bBhA4cPH8bj8VBcXMypU6coLCwkISEh + Zh/33Ue59MbvZ5GVlcWpU6coKCigqalJP8C3bt3KlClTYnoqJ06cICEhgRMnTjB9+nR8Ph/H + jh1jwoQJnD17tt+x0NbWxvHjxxk6dCgmkwmTyYTZbGb//v36wwEWi+Wa6zxixAhWrFiB0Wjk + 0KFD+nH4wQcf9Bujra2tpbOzE03T9NCoqanB7XZf9amzjo4OTp06xaFDhxgzZgyFhYVs2bKF + 7OxsTp8+zciRI2loaKCxsVG/72IymcjLyyMSiZCWlkZjYyPjxo0jFArpD1GIG0tdXR2bN2/m + lltuweVyYbFYsFgsbNq0idGjR+NyuTAYDJw7d45z587p18/jx49TV1dHJBIhGAxSXFzM8uXL + yc/Pp6mpSb9ftHjxYv7iL/6CN954g9zcXLKzs/VjeO3atYRCIYqLi9m/fz8lJSWf/ichL11s + IAfi5avpW+Zayumb91oP/CutYyDrvdZt/LxEIhHOnDmDqqokJiYydOhQzGYz3d3d1NbWUlRU + hNFoJDc3l6amJs6fP09BQQFDhw7F7/ejKAoOh4NQKERtbS1JSUmMGDGCc+fO6Tdcc3Nz9W06 + f/48R48eZcGCBXR2duJwOLBYLHR0dJCWlkZvby92ux2r1UpnZycmk4lDhw7F1DkrK4uRI0fi + 9XrJyMjA7XZz/PhxcnNzSUxMxG63s3TpUh5//HE9ZN977z1ycnKw2WyMHj0aq9WKpmm0tLTQ + 3NxMQUEBOTk5tLW1kZOTo7eU6+vraW1tpaSkhJycHBRF4dixY6iqyvjx4zGZTPpNYrh4Hwig + trY2ps4lJSUkJyfjdDoxm820t7dz9uxZCgsLSUpKoqurixMnTnDXXXfp++q1116jvLycxMRE + Ro0ahdFoxOPxUF1drW9Lfn4+bW1tZGZmYjKZCIfDvPrqq0ycOJH8/Hzy8/MxGAx4PB5qamrI + yMhgxIgRaJpGXV0dXV1djBw5kvT0dFRV5dSpU/rTYMnJyezbtw+j0UhFRcUXehyKgRvoT0L2 + fcenT58mJSWFr3zlK2iaxr/8y7/w3HPP4ff7Y0YlUlJSyM3N5fTp0/pnSUlJjB07FpfLxYED + B0hNTeXWW2+ltraWHTt28O1vf5tgMMiBAwfweDyMHj2aYcOGoSgKhw4dor29naKiIsrKyuQ3 + gQX6I7Vz584d0KOFqqrqQ4F9TCbTx/aS2tvbSUhI0HuIABs2bGDatGmkpKR8+soPUDQa7TeM + l5CQ8LFDifX19QwZMiSmR/H222/z4IMPXtO6I5EI69at0x9X/iz8fj/Lly/nL/7iL2T8fxD5 + LL8J3NPTQ1dXF8OHD/9MdaipqWH48OHYbLYBLyMBIICLj34Gg8GYC/QXre+//7iRhjIikciA + 7z/16fvvUK51uSvxer0oikJqaupnLkt8fm7UH4WXABBCiM/oRg0AeReQEELEKQkAIYSIUxIA + QggRpyQAhBAiTkkACCFEnJIAEEKIOCUBIIQQcUoCQAgh4pQEgBBCxKkB/R6A+GL1vSpACHFj + ikajA/rd7MFGAmAQ6PtdZCHEjelGDQAZAhJCiDglASCEEHFKAkAIIeKUBIAQQsQpCQAhhIhT + EgBCCBGnJACEECJOSQAIIUSckgAQQog4JQEghBBxSgJACCHilASAEELEKXkZ3CAUCoWorq5G + 0zRsNhslJSUkJSUNaNmuri4ikQi5ubmfS10URcFoNGIwGD6X8vqoqoqmaZhMps+1XCFuBIqi + sGXLFiZNmoTT6YyZtn//flwuFwDDhg1j1KhRKIpCVVUVw4cPJz09HQCXy8WWLVvIzs5mxowZ + GI1/as+73W52795NT08Po0ePpry8nNOnT1NfX6/Pk5+fLz2Awcjn83H69GkyMjKIRqMsX74c + VVWBi28O1TRNn7fv777PjEZjzEX10mmXL3upnp6emIOjz/bt2/F6vTGffVw5l7vafM3NzVRV + VQ1o+cvLGOj6P81817JtQnwamqaxefNm3nvvPVpbW/tNW7NmDXl5eeTl5eFwOPB6vfzsZz9j + yZIltLe3AxffPvriiy8yZswYmpqaWL9+fUw51dXVOJ1OJk+ezIYNG6itrSUlJUUvt6Ojg+rq + aukBDFapqakUFxejKApHjx5FURRqamo4efIkiqIwadIkioqK2L59O93d3SQkJHD77bcTCAQI + BoNkZWVx/PhxampqMBqNLFiwgG3btuHz+UhMTOT222+PaTH4fD7a2tooLi7WPzt//jzHjh2j + q6uL7OxsZs2aRWVlJS0tLVgsFubPn08gEKC1tZUxY8bQ1taG2+2moKCAmpoa3G43FouF6dOn + x2xbJBLhww8/xO1209zcTEVFBefPn2fKlClomsbWrVuZPn06q1evBi72FubPn4/T6aSyspK2 + tjZsNhvz58/HbO5/CLtcLnbt2kU4HMbn83H33XejaRrNzc2UlZXR1tZGb28vaWlpVFZWEo1G + UVWVtLQ0XC4XQ4YMYcaMGV/QNyviXWdnJ0eOHGHu3Ln9pvn9ftLT0ykvL9c/i0QiPP3002za + tEn/rLm5mcLCQsrKyigtLeUXv/gFd911lz596tSpwMVAycrKQlVV/eKvaRrvvfcef//3fy8B + MFjV1dXxzjvv0NjYyOzZszGbzQwfPpzRo0cTDAZZvXo1eXl5NDU18fDDDxMMBjGZTHg8Hnw+ + Hx6PhyNHjvDggw8SiURwu934/X7uu+8+/H6/PqQTCoXYtm0bbrcbt9tNT08PEydOJDs7m6FD + h1JaWsrUqVNxOBw0Njbi9Xp58MEHqa+vp7KykrKyMrq6uoCLIdLd3U1eXh4bN27k61//OmVl + Zf22zWw2M3XqVJqbm5k8eTIAmzZtoqKigq6uLsLhMIqioGkaDzzwAG1tbezYsYNJkybhdru5 + //77OXz4MNXV1YwfP75f+cFgEIB77rmHM2fOUFdXx5AhQ/R6+v1+uru7sdls2O125s2bx7p1 + 6xg1ahRDhw5l6dKlX8h3KoSqqrz55ps8+uij7Nq1q9/0YDBId3c3P//5zzEajTzyyCMMGTKE + hISEmPm6urr0YV6LxXLFIdo333yTXbt2MXnyZMaMGaN/fuzYMQoLC3E4HBIAg1VxcTHz5s3D + 4/GwceNGbrrpJqqrq7lw4QLJyckEAgGsVivFxcUsXbqUvLw8Zs6cqS/f1dVFUVERZrMZs9mM + xWLB4XCwdOlSioqKmDZtGnDx4Jk9ezYtLS00NjZy66236gebwWDAYDDow0rt7e2UlJRgMBgY + NmwY+/btu2r9x4wZw80333zFA7OvzEuHq8aNG8fRo0fp6urSL+qJiYkYjUaysrIIh8O0t7fT + 1tbG2rVrCYVC5OTkXHX9TqdT3+6+4bMrsdvtGI1GPQyMRmO/k02Iz8vevXtpa2vj4MGDHD9+ + nJ6eHvLy8khNTQUgIyODn/70p2iaRktLC6+99hr/9E//1K+cpKQk/H4/cPVh1gceeIDbbruN + 5cuXc/DgQW699VZ9iOlv//ZvAXkKaNAymUzYbDYyMjLQNI1wOMzp06e5//77mTNnDlarFUVR + qKioYOHChUSjUZqbm/XlnU4nzc3NaJqGoihEo1FmzpzJwoUL9SEQuHgxttlsWK1WbDYbNpst + 5h6C0WgkEomgaRoZGRk0NjaiaRqtra2kpqZiMBj01npfyxvAarV+7I1js9lMKBTSx9xvvvlm + qqur6ezsjLmw9w3dJCcnk56ezpAhQ1iwYAH3338/EydOHPD+NBgMRKPRfvUU4st000038a1v + fYvS0lKysrIYOnQoVquVQCBAJBKhtbVVvwGckJCA0Wi84n2/IUOGcPz4cVRV5ezZs6SlpaFp + Gh6PB03TaGtrw2q1kpOTw5QpU2hoaAAujixkZGToN56lBzAImc1m2traWLFiBYqiMHbsWJKT + k8nNzWXFihWYzWZSU1OJRqOsXr0ao9GIqqrk5OTQ1taGwWDA6XRSVFTE8uXL0TSNefPmsXXr + VkwmEyaTCYfDEbPO/Px88vPz+9Vl7NixrF+/niFDhjB79mxOnjyp12vBggUkJCRw/vx5li9f + DsDNN9+M0Wjs92TD5XJyctixYwcrV67k9ttvx263k52dTVpamn5v4uTJk4TDYTRN48477yQx + MZHa2lpWrFiBpmlMmjSJ5OTkfmX39XYAvWWfnp5OY2OjXs+xY8disVhISUkBLt5z6bufkJGR + cS1flxADlp6erj/F09zcTHFxMVarlWeffZZvfetbWK1WXnnlFRRFIRKJ8Pjjj1NfX8/atWvp + 7u7m9OnTFBQUsHDhQmbOnMnPfvYzjEYjTz75JF6vl3/5l3/hV7/6Ffv27ePo0aPYbDY0TePJ + J58EYN++fXzjG9/QG2cGTR55uO5UVR1Qq1TTNFRVjXks80qfXV5231DOJ837cfX7uDL6Wih9 + 81zK5/NRWVkZ81lWVhYTJ06MWc7j8bB27VruvfdevXu7ZcsW7rrrrn7lXlqfHTt2EAgE9GkJ + CQnMmjXrio+Xflw9hfgsvF4vdrv9Uy3b1dXFhg0bWLhw4TWdp5fPt3XrVnJycvT7bn2PWn9c + ORIAg8BAA+D/sn379pGTk0NhYSEGg4FIJEJDQwOlpaXXu2pCfKLPEgCKogB85v8mJhKJXPP9 + KwmAQUACQIgb22cJgOtJbgILIUSckgAQQog4JQEghBBxSgJACCHilASAEELEKQkAIYSIUxIA + QggRpyQAhBAiTkkACCFEnJIAEEKIOCVvAx0EDAYDiYmJ17saQohPKRKJ3JDnsATAICBvphTi + xnajvmFWhoCEECJOSQAIIUSckgAQQog4JQEghBBxSgJACCHilASAEELEKQkAIYSIUxIAQggR + pyQAhBAiTkkACCFEnJIAEEKIOCUBMAhpmoaqqqiqiqZpn2rZL0J3d/enWk7TNBRFueZtudRn + XV6IwULTNAKBAJFI5IrTVVXF5/P1O48VRYn57JPKiUaj+P1+fZlLryt9/+RlcINQT08PS5Ys + IT09nWAwyKhRo5g6deqAXjZVV1dHIBCgvLz8mtapHxDmqx8Sa9as4dFHHx1QeQ0NDWRlZZGc + nIymaaxevZp77713wPVpbm4mMTGRtLQ0AFavXs3dd9+NyWQacBlCDDZ+v59f/epXWCwWvF4v + M2fO5LbbbtOnBwIBfv3rX5OQkEBvby8//OEPsdvtVFVV8fLLL/PUU09RWlpKNBrlv/7rvwgG + g/h8Pu644w6mTJmil7N9+3a2bduG3W7H4/HwzDPPUFVVxZ49e/R6DBkyBNOzzz777Je9E8TH + 8/v9uN1uHnjgAcaPH8+mTZu4+eabURSFhoYGuru7cTqdGAwGvF4vZ8+eBSApKYnk5GTS0tJI + SEggGo3S0NBAMBjEbrfT29tLQ0MDJpOp36trGxsbqampobCwMOZzTdNobm6mra2NhoYGJkyY + gKqqnDp1Cq/XS2pqKgCdnZ1cuHABm82Goihs27ZNXz4lJYWcnBwSExPxer1Eo1HOnj1LJBIh + JSUFVVVpbGyktbUVu92Oqqrs2rULj8eDyWTCbreTm5tLcnIyAB0dHdTX15OcnIzFYsHj8fQr + U4gvUygUwmq1fuJ8BoOByZMnM3v2bGbPns1///d/89WvflVv3H3wwQcMHz6chQsX4nA4+PDD + Dxk2bBg7d+4kPz+fvLw8srKyaG5upra2lqeffpopU6bw8ssvM3fuXH09mZmZfO1rX2PatGl4 + PB66u7uZPXs2M2bMYMaMGTQ0NFBRUSFDQIOV1+ulqamJI0eOkJqaitls5vDhw7S1tXHu3DlW + r15NJBLhjTfewOfzsW/fPgKBAPX19dTU1BCJRFi6dCmNjY0cOnQIl8vFH//4R3w+H7t379a7 + hYqi0NTURHt7O93d3TQ1NREMBoGLF+9NmzZx6NAhenp6CAaDqKrKu+++i8vl4ujp8M0AACAA + SURBVOTJk+zevZvW1lZWr16N1+tl7969BINBenp6aG1tpbm5GYB169YBsG/fPpYtW4bb7Wbl + ypX4/X4aGho4ffo0vb29LF68mEAgQFdXF+3t7TQ2NqKqqr78iRMn2Lx5M+FwmLfeegufz8f+ + /fv54x//qJfp8/muwzcmxCczm81Eo1GOHz/O66+/zrRp02J69qqqEggEiEajFBYWUldXR1pa + GosWLcJut+vzZWVl0dXVxebNm1myZAkTJkyIWY/dbufChQvs2LGDY8eOxYwIuFwuzp8/z7hx + 42QIaLBSFIVAIEAwGCQajaKqKllZWRw6dAiAlpYWjEYjDoeDhoYGxo4di81m05dvamqioKCA + mTNnAn9qoVy4cIFx48bFHHShUIhIJEI0GiUUCunh0Hch/+Y3vwlAbW0twWCQ8+fPk5GRgc1m + 49ixY3rvpLW1lVtuuYW0tDSGDRtGeXk5ubm5/bbt9ttvJz8/n87OToLBIGlpaRw7doyenh56 + enowm82UlpaSmZlJaWkpgD7+f/jwYe69914SExOx2WzU1NSgaRp33HFHTJl9vQUhBhtVVfH7 + /SiKQnt7O5qm6efj7bffzrJly/jFL35BZmbmVYd93W43FouFm266Cbvdzv79+/vNEwqFCIVC + hMNhuru79eHUV199lUWLFmE0GiUABqvU1FRGjBjB8OHDqaurw+/3s3XrVh5++GGsVitvvvkm + RqORhQsX4na7ef/992MuejabDY/Ho184ExISWLRoEd3d3axatYoHH3yQ1NRUTCYTJSUl+pBR + SUmJXobBYCAcDsfcfO0bkikrK8NgMFBeXo7dbuev/uqvaG9vZ/Xq1SxatAiDwYCiKAPa1i1b + tjBjxgyys7NZuXKlvu4rLZ+QkEAgECAxMRG3201ycjIej+dT7WMhvmyqqpKSkkJFRQW33HIL + P/nJTwiFQlgsFgwGAyaTiYULF2IwGDh06BBJSUlXLOf06dOMHj2agoIC8vPzWbVqFZqm6WGi + KAojRoygtLSU7OxsKisrKSkpob29HZ/Px7BhwwD5RbBBq7a2Fp/PRzgcxm63Y7fbsVgsbNmy + hd7eXjweD36/n7fffpvs7Gw8Hg8pKSn6xTAnJ4dIJMLbb79NOBxm9uzZbNu2jYyMDKLRaExv + oW/+vhZCH5vNhtPpZNmyZRiNRnp6erBYLBQVFbFx40ZsNhvJycmUlpby0Ucf4XA4sFgsmM1m + SkpKWLt2LcXFxTE3ua4kIyODHTt2oGka9fX1ABQVFbFq1SoaGhqYN2+ePu+UKVN4++23KSgo + oLm5mb/8y7+kvb3989jlQnzh6uvrefnllxk6dCi9vb0UFRVhtVr5/e9/z+23305aWhr/+7// + i8PhoL6+nn/+53/mzJkzrFmzhpMnT3L06FFGjRrFfffdx5o1a2hra6Ojo4OJEycSiUT46U9/ + yvPPP8+rr75KZ2cnGRkZnDx5kr/7u78DYOnSpTz00EN6z8KgybN1g87lj3IajUY91Xt6ekhN + TY35rLe3F4fDQUJCgt5aNxgMaJqG3+8nISFBb+G73W79nsJA69LX3bRarRiNRjRN04eK+m4m + h8NhvF4vaWlp+jyBQABN00hKStJbJn3/azAYUFVVPxB7enpITEzUW0JwsQsbjUb1J4mMxou3 + rCKRCG63W19XXzmXlnkj/jyfuHG53W4cDscnztf3SLTL5dIf2nC73fzud7/jxz/+MXDx/l9v + by95eXmYTCb9Cb0+fT0FVVX1chITE9mxY4f+RBCAz+fD5/ORkZGhn++KoujXDpAAEEKIz2yg + AXAlfc/yf9rl+3R2dpKenq43lAZCAkAIIT6jzxIA15M8BiqEEHFKAkAIIeKUBIAQQsQpCQAh + hIhTEgBCCBGnJACEECJOSQAIIUSckgAQQog4JQEghBBxSgJACCHilLwNdBBQVfWqv+sphBj8 + IpEIoVDoelfjmkkADBIDfXe+EGLwURTlhjyHZQhICCHilASAEELEKQkAIYSIUxIAQggRpyQA + hBAiTkkACCFEnJIAEEKIOCUBIIQQcUoCQAgh4pQEgBBCxCkJACGEiFMSAEIIEafkZXCDkM/n + Y8OGDRiNRhISEigvL6ewsHBAy54/f55gMMjIkSOvaZ2apgFgMBg+dr5AIICmaSQlJQ2oXEVR + 8Hg8OJ3OAZe5e/duxo8fP+B1CHGjCQQC/Pa3v+Xhhx8mPz+/3/S2tjb+53/+h3/4h3/AarUC + cO7cOZYvX873v/99zGYzW7du5cCBA9hsNh544AGGDBmiL+92u1mxYgXt7e3k5OTw8MMPYzKZ + ePnllwkGgwDMmTNHegCDUSgUwmazsWDBAqZPn86WLVuIRqPAxVdHq6qqz6tpGoqi6BfwnJwc + ioqK9OmqqurT+ua9ko6ODo4dO3bFaZeWX19fT11d3VWnX0rTNHw+H7t37/7Y7b28zPLycmw2 + m/53JBLRtzkcDsesKxwOx+wPIQY7TdN46623iEQiuN3uftNVVeXNN98kEAjo52s0GmXx4sX4 + /X5UVaW9vZ39+/fzzDPP8Od//ue89tprMWUcPnyYqVOn8qMf/YisrCx27dpFMBjE6/Xy5JNP + 8uSTTzJmzBjpAQxWRqMRs9mMqqoYjUYMBgP79u3j3LlzhMNhRowYQUVFBcuWLSMxMZFIJMLd + d99NY2MjPp+P8vJyNm/ejMvlQlEUvv71r7Nq1SpSUlJQVZX77rsPo/FP+R+JRPD7/TF1UFWV + lStXYjKZCAQC3H777ezZswdFUairq2PBggVs374dj8eDx+Nh+vTpFBcXs2bNGsxmM+FwGKPR + yNmzZwkGg0yZMoW8vLyYdfh8vn5l7tixgzlz5tDY2Mi2bdvIyMigpaWFnJwcFEUhOTmZBQsW + sGXLFjweD16vl3nz5l2xJSXEYFNbW4vRaGTUqFFXnL5t2zbGjh3LiRMn9M/Wrl3L7Nmz2bt3 + LwBJSUlEo1E6Ojq4cOEC2dnZMWXMmDEDg8GAqqo0NjYyZcoU2traSEpKoqenh4yMDEwmkwTA + YHXy5ElcLhcdHR0Xu2pGIxMnTmT48OH4/X62b9/O+PHjCQaD3HnnnTgcDgwGg/5e8q6uLoLB + IN/4xjcA6OnpwWw2M2/ePOx2uz7UEwqFWL9+PV6vF4/HQ2trK5MnTyY3N5doNIrP5+PrX/86 + TqcTo9HIlClTiEajlJeXAzB79mx6e3vp7u6murqa4uJizp49y4IFCygtLcXj8WCxWLjzzjuv + uJ3Jycn9yuz7cRxVVamoqGDixIm89957zJ07F7vdzrJlywgGg3R3d3PffffhdruprKzk7rvv + /qK/FiE+k1AoxKpVq3jqqadYv359v+kul4sDBw7wzDPP6AHQ1NREQ0MD99xzT0wAZGRk8Prr + r9Pd3c2f//mfx5RjMBjo7u7m97//PRMmTKC8vFwPgLVr11JXV8e3vvUtCYDBatSoUdxxxx1E + o1GWLVtGaWkpW7ZswW6343Q6UVUVi8XCvHnz2LlzJx6Ph3vvvVdf3ufzkZ6erl/onU4nFRUV + bNu2jWAwyJ/92Z9hNpuxWq3ce++9NDU1ceHCBSZPnqyXYbFY+OpXv8revXtxuVwx5cPFbuk7 + 77xDQUEBVqtV764OHTr0U9+DuFxfL8VoNOo9IaPRSCAQoLW1lQ8++ACA9PT0a1qfENfDjh07 + 6Ozs5H//93+pq6ujurqab3/723oL/t1338Xj8fBf//VfHDlyhD/84Q+Ew2FCoRD/+Z//ybFj + x3jttdeoqKggPT2db3/720QiEX7+858zbtw4/Xzv7u7ml7/8JY8//jglJSUYDAZyc3N59NFH + Abhw4cLFnvp12xPiY/W1vj0eDz6fT0/0O++8k+bmZhRFIRQKoWkad911F5s3b6arq0tfPisr + iw8//JAJEybg8/kwm83Y7XZ9KMjn85GamqrPb7PZSEtLi6lDKBQiEolwxx13UFlZSUtLCzab + jXPnzqEoCoFAAJPJxJQpU2K6q5feSDabzbjdbj0cTCZTv21NTEyktbUVRVFihqU+TkpKCna7 + nZkzZ2IwGGhpaRnYjhXiOvrqV7/KvHnzAHjnnXcoKysjKyuLM2fOkJ6ezmOPPabP++KLL/LE + E0+QmJiof/Yf//EfPProozQ2NurDwW1tbfo9wqqqKsaPH8/atWu54447yMzMxO12Y7PZOHr0 + KDabjZtuuolDhw6Rn5+P6dlnn332y9wBoj9N0/QvsO/vCxcuUF9fT3d3N7NmzcLpdGK1Wvnw + ww9RFIXCwkLy8vKorq5m//79pKWlUVZWhsFgIDExkfT0dLKysvQWR3FxMYcPH6aqqorCwkK9 + VdAnKSmJzMzMmHoZDAZOnDjBRx99hM1mY8KECTidTurr6zly5AhlZWX4/X727t2Lw+EgNzeX + rKwsNE3TWzQJCQmEw2H27NmD0+mkt7cXt9ut/1MUhZycHBoaGjhy5AilpaXAxQAzGAwkJSXp + 9y0yMzMxmUyoqkpeXh55eXns3LmThoYGCgsLSUlJ+RK+LSH6C4fDWCyWT5zPYDDo/zRNIysr + C5vNxi9/+UumTp1KUlKSPl1VVQoLCzGbzTGfFRUVkZmZidlsZuXKlZw/f55Fixbhdrt56623 + mD17Nj09PZw4cYKamhpqampISkpixIgR7N69m40bN5Kens6CBQswaFfre4svjaqq+qNZ/5f5 + /X7q6+tjPnM6nTGPrwlxI/J6vdjt9k+1bFdXF8ePH2fGjBmfqQ67du2itLS03w3hjyMBMAjE + SwAI8X/VZwmA60n+OwAhhIhTEgBCCBGnJACEECJOSQAIIUSckgAQQog4JQEghBBxSgJACCHi + lASAEELEKQkAIYSIUxIAQggRp+RtoIPEJ/0UoxBi8Op7VfmNRgJgEDAajTGvfBVC3FgikcgN + eQ7LEJAQQsQpCQAhhIhTEgBCCBGnJACEECJOSQAIIUSckgAQQog4JQEghBBxSgJACCHilASA + EELEKQkAIYSIUxIAQggRpyQAhBAiTkkADEKKotDd3U13dzderxdVVQe8bCgUwu/3f4G1++K5 + 3W4URfnC19PR0UFXV9fnUpamafT09HwuZV0LVVXp7e296nSPx0M0Gv1c1tXU1ITH4/lUy/r9 + foLB4KdedzAYJBAIfOrlBxtN02hubiYcDveb1t3dTVtbG21tbXi9Xn3+7u7umH0YjUY5efIk + bW1taJp2xXW0trbq0zRNo6Ojg5qaGjo7O9E0TQJgMOrp6eH1119n9+7drFu3jrfffvuKX/CV + tLa20tjYeM3r9Pv9A7oYNjQ0cObMmWsqd+/evR87z7lz52LKPHr0KKFQaMDruJpP2g9NTU00 + NTV96vL37t2Lz+cDLl6Iq6qqPnVZA93/lwuHwxw5cuSq048fPz7gBkFjY+PHHmdnzpwZcB2D + wSC7d+/W/z5//jzt7e0DWhYuvl1zx44d+t+tra1cuHBhwMsPdseOHeNv//Zvqaur6zftueee + Y/Xq1axevZqamhrC4TCvvPIK3/72tzl79ixw8WL+wgsvsGfPHn77299y8ODBmDI6Ozv593// + d77zne/oDcgjR47w+uuvc+LECX7961+zb98+eR30YFVSUsJdd90FwGuvvUYkEqGzs1M/2adO + nYrD4eDUqVOcPHmSnJwcKioqSElJwWazAdDV1cX+/ftJSkpi2rRp1NTU0NDQQEFBARMmTIh5 + f3lXVxfnzp1j+vTpMfU4c+YMNTU1ZGRkMG7cOCorK1EUhYaGBmbOnEl9fT2nTp3S15GQkMDp + 06dJS0vj5MmTBINBampq8Pl8jBs3jszMzJjyA4EAlZWVRKNRvcycnBwSEhJwuVycP3+eCxcu + kJmZid1up66ujgkTJjBs2DA6OzvZvXs3qampTJs2DbM59nDeuXMnDz30UL99e/bsWWpqanC5 + XEyYMAGXy0UkEiEnJ4eOjg6MRiM2mw2Xy6X3wDIyMjh8+DCqqjJlyhQCgQB79+6ls7OT7Oxs + br31VvLy8oA/Xby8Xi9TpkwhOzubU6dOEQwGOXPmDCNHjmTMmDEx+7+9vZ3m5mamTp0aU9fu + 7m4qKyuxWCzMmjULq9XKqVOn9P07efJkfb3BYFAPpYKCAsrLy8nOzsZiseDxeDh37hxNTU2o + qsrcuXOxWq0x66qsrOSb3/xmzGeapnHy5ElOnTpFa2srhYWFqKrKgQMHaGpqoqKigqFDh+Jy + udi7dy8JCQlMnjyZAwcOcOjQIQKBADfffDNOpxOr1YqiKFRXV9Pd3U1vby+zZ8/G4XBw+PBh + /XuePHkyBw8eZN++fUQiEUaNGoXD4SASiQDQ0tLCRx99RFpaGtOmTcNgMPQrMzU1td/3PlgE + AgHefvtt7r///n7TQqEQmZmZ/PVf/7X+mdfrpaKiAofDoX/W1taG0Wjksccew+Px8MILL1BR + UaFP9/l8PPLIIzG9v/HjxzN+/HgARo0axYEDB6QHMFg1NzdTWVnJ8uXLGTp0KAkJCYRCISZN + msTNN9/MmjVrCIVC7Nixg7lz5+J0OlEUhba2Ns6fP08wGGTFihWMHz+evLw8urq6OHr0KHPn + zsVms+ktvUgkQlVVFbW1tZw7d46DBw/qQwrhcJitW7cyZ84cMjIyMJlMDBs2jGHDhlFeXo7J + ZELTNGbMmEFmZiZbt25F0zQ2bdrE+vXrKS4uZuTIkeTk5FBeXh5zAPexWCwMGzaMoqIivczD + hw8TiURobW3lxIkTTJ8+naNHjxIMBpk5cyZbt24lGo3y7rvvMmvWLFJSUqisrNTLvHDhAgcP + HqSjo4ODBw9SW1sbM23Xrl3MmDGDoqIi4OLF9/z588CfegVut5s//vGP1NXVMWTIEEKhELfc + cgu33HIL7777LmlpaeTk5FBWVkZpaSkA+/fvR9M01qxZQ15eHjNmzGDVqlVEIhH279+P3+9n + zpw5MXUNh8NUVVVx8uTJfvtfURRWrlzJV77yFUaOHMnKlStRVTVm/yqKwqFDhwBYtmwZubm5 + TJs2TW8RVldXEwgE6OnpYdeuXYwfP56UlBSqq6v1Opw9e1bfX1VVVTGt0traWqqrq5k9e7Ye + NFVVVfj9fubPn8/GjRsJBoOsXbuWiooKysrK8Pv9lJaWkp2dTXl5OampqZw7d4729nYURWHT + pk2UlJRQVlbGzp079eNgzpw5+P1+jhw5QklJCZmZmZSXl5ORkaH3AILBIO+99x5z5szB4XCw + cePGfmVe2nMYjJYuXcr999/fL4DhYuA3Njby4osvsnz5cgKBAHa7nXHjxsXM19raSnFxMQAp + KSn9hkyLioooKCjoV/6BAwd46aWXWLFiBffcc48EwGCVlJREdnY2Q4cOpaOjA0VRMBgMfPjh + h+zbt4/e3l4SEhKw2Wxs2rQJo9FIQkKCvnxraysjR44kNzeX0tJSUlNTCYfDbNmyheTkZL31 + aTQacTgc2O12EhMTSU1N1VvSZrOZlJQUNmzYgKZp2Gw2UlNTcTgcZGVlYTAY9DJPnjypj4Gb + TCYeeughCgoKcDqdJCUlkZWVhcVi6bedJpMJh8Ohl2k0xh6SpaWlpKWlkZmZyejRo8nIyCAh + IQG3200gEODo0aP09PTEDA/01dNisZCamordbten1dTUcNttt+F0OnE6nR/7HQwdOpQFCxbg + dDoxmUxUVlaya9cuPB4PNpuNxMRE0tPTSUtL0/enpml4vV5Gjx5Neno6JSUltLe3Y7FYGD9+ + PE6nk+TkZH0dffs/OTlZ3/9932Nvby9ZWVlkZ2frJ3s0Go3Zv31UVcVgMOit5Svt61GjRpGT + k0Nubm7M2HNSUlLM/kpKStKn1dbWMn/+fBwOh96qPnPmDJFIhIMHD6KqKp2dnRQXF7NhwwbO + nz9Peno6TqeTxMREsrKy+l3oCgsLKSwsJD8/n3A4jKZpuN1uNm3aRGNjI93d3aSmpurLX/pD + K83NzYwePZrU1FTGjRunD0ldXuZgdfLkSS5cuEB2dja9vb10dHTE1Dc7O5tf/OIXLFq0iIyM + DP7whz9csRyj0TjgYeFLZWdnM2rUKCwWCydPnpQhoMHK6XQycuRINE3jzJkz+P1+tmzZwsMP + P4zVamXx4sUYjUYeeeQRuru7Wb9+fcyJYrPZ8Hq9+kFisVh47LHHcLlcrFq1im9+85s4HA5M + JhMjRozAarWiqiojRozQyzAYDHzjG9/A7XbzwQcfYLFYMBgM+pii3+/n0KFDLFy4EEVRePfd + d/W6912ALp3/aoxG4zXd6O7bnuTkZG666SYAJk6cqE/LysoiKyuLAwcOxGxP37r6TrhLT6BL + b5T1yczM1C/sH3zwAd/4xjdISkpiyZIl+rZdfhIaDAYURUFRFEwmE16v94otvT5ms5kRI0Zg + Npv17+LSbQwEAvo6QqEQRqMxZv9eut5gMIiqqmiadk030XNzc4GLrcPhw4fHDE1daX9ZrVaG + Dh1KRkYGo0aNIi0tjfz8fCoqKjh69ChbtmxhxowZA75ANTc3097ezn333UdTUxOnT5++6nGT + mJiIx+NB0zR9SOhGEo1GGT58ONu2bePUqVN4PB7Gjh1Leno6cLFHmJSUhMlkYsaMGWzbtu2K + 5eTl5fH+++/rN4ctFguapqFpGgaD4Yo/T6koCkOHDqWwsJDy8nJeeuklCYDB6sSJEwQCAcLh + MDabDbvdTkJCAtu2baOnp4fe3l78fj8rVqwgNzcXr9eL3W7Xn9LIyckhFArxzjvvEAqFmDlz + Jtu3byczMxNFUfpdlLKzs/u1iAOBAKtWrSIzMxOXy4XD4SAtLY2lS5fS0tKid9k3b95MR0dH + vzF4uNi6bG9vZ926dUycOFEfRrhUXl4eS5cupbW1la997WufuG8MBgPJycmkpaWxfft2jEYj + mZmZzJo1K2a+2267rd+yt9xyC0uXLqW4uJgzZ84we/ZsMjIy+OCDD2hpaeHs2bPMmzev33KJ + iYls374dj8cT0+p87733KCkp0e+dGAwGJk6cyJIlS0hLSyMSiZCRkdGv/lfaB5ffH7Hb7SQn + J7Nq1SoCgQBjxozp10O6tMxbbrmFN954A6vVqt+cvhZX2l+33nory5Yto7CwkNraWoqKipg8 + eTLvvvsuBQUFuFwu7r77bj788EPMZjPd3d2MGTMGq9WKy+Vi3bp1+rjz1djtdpqamtiwYQON + jY2MGDFCH/Jcu3YtZWVl+ry5ubn09PSwbt06Ojo6mDx58jVv5/VUVlamb4/FYmHs2LFkZGTw + +9//nvnz5xMKhXjzzTcZOnQoZ8+e5YEHHuDs2bOsXbuWEydOUF1dzahRo3jooYdISUnh17/+ + Nc3NzTz22GNEIhGef/55nn32Wfbs2UNVVRXV1dX89re/Zdy4cXi9Xg4fPkxeXh5nz57lzjvv + xKB9mn6E+EJpmqbfvDEYDJhMJr1l2dXVRVpaGkajEaPRSDQapaenB4fDobfi4U9dRK/XS0JC + AlarlXA4jNvtxul0xgwXfZxIJEJPTw8pKSl6aIRCIYLBIKmpqUQiEXp7e/UWTF9r3mQyxZTR + 12rbs2dPTPkFBQWMGzcupkxVVWO6uEajEUVR9B/e7mtda5qGz+fTf1N5oD/Kfel+6CvT6/US + jUZxOBx6C+rS7VAUBZfLRWpqKiaTSb8QezweTCYTSUlJ+vyapuH3+wmFQvo6Lq//QH9EvO/x + UrPZrA9lXVovTdP0v7u6unA6nfT29rJu3ToeeeQRfV/2zXtpb+tqYXK5YDCIz+eL2V/RaFRv + dPRtc09PDwkJCdjtdn0et9tNamqqvq2X7tdL6+73+wkEAnojxGQyoSgKvb29OBwOva599Xe5 + XCQlJem93iuV+WVyu91XvMf1cfqGdb1eL7/97W/5x3/8R32/dXV14XA4SExMRFXVmN6OwWDA + YrGgqiodHR3Y7XaSkpLYuXMnbrebu+66S++F9jGZTPp+7unpIT09HZvNJgEgxP8VO3fupLGx + EZPJxKxZs8jJybneVYobnyYA+vT19D/rk0vt7e1kZmYOONgBCQAhhPisPksAXE/yFJAQQsQp + CQAhhIhTEgBCCBGnJACEECJOSQAIIUSckgAQQog4JQEghBBxSgJACCHilASAEELEKQkAIYSI + U/1eBdHR0fG5/ByfuDbX+jpkIcTgEQqFBvyCxcFE3gU0CKiq+pl+MFsIcX31vRn1RiNDQEII + EackAIQQIk5JAAghRJySABBCiDglASDE/2/vzoOjOA+8j3977pE0uu8DgRBCIAESNphLYMDG + BwZ8wxrHhi2nkn/W5dSWE3s3m01ciVOb3U02lawrziZxjG3uYAwYbAOWxY0Agy50S6NzdM5o + RnNf/f5BqV9kwGDHNuB5PlWusnq6n376mP49z9NNjyBEKBEAgiAIEUoEgCAIQoQSASAIghCh + RAAIgiBEKBEAgiAIEUoEgCAIQoS6bgCEQiHa29tpamrC4/EAsHfv3q/93TWjo6Ns2bKFw4cP + A5dettTd3T3uP/HSuq/O4OAgPT09hEIhPvt6qKtNu1GyLBMKhb6KKn5jZFm+ZV/OZ7PZ6Ozs + vNnVEL4lNJ/3YTgc5mc/+xkWiwWdTockSfz+97/n7bffZuHChRgMhq+tYn/5y1+w2+3MmDED + gLa2Nv7nf/6Hnp4e1Go16enpvPjii+Tn539tdbhZXC4XH374IZIkodPpmDVrFtnZ2Te0bGdn + Jz6fjylTptzw+sLhMB999BGPPvooJ06cYMaMGcTHxyufV1ZWMmXKFJKTkz+3nKGhIXp6epg1 + a5Yyzev1cvToUVasWHHD9fkmnT9/nokTJ5KQkKBMs1gs9PT0MGfOnJtYs6szmUwcOHCARx99 + 9Gv9/gk337vvvktXVxdwqRG2ZMkSSktLaWlp4ZNPPuG73/3uuPllWebo0aOcOnUKgPnz57No + 0SIkSSIUCvHmm28ye/ZsSkpKOHnyJKdPn/78AAgEApw8eZI9e/ZgNBoZGcKXSQAAIABJREFU + GRlRPjtw4AANDQ0sXryYe+65h/fff59PP/2U6OhoNmzYQHR0NNu3b2f+/PkcOXKE9evX8847 + 79Da2sqqVauYN28ekiQB0NDQwJYtW4iKimLjxo10d3dTUVFBQUEBHR0dFBcXM23aNF5//XVe + f/11jEYjzzzzDADNzc288847GAwGNmzYQEJCAps3b2bjxo0MDQ1RUVHBww8/zKZNm1i6dCkH + Dhxg7dq1bNmyheHhYRYuXMjy5cu/uqP2FfD5fOj1elasWIHT6WT37t185zvfQaPRKC1TlepS + 522stapSqZAkibS0tHGt9XA4jCRJSJKkzKtWq8etr7GxkUmTJmE0GvF6vYRCIQKBAGq1GpVK + hc/nu2La1cTFxREVFTVu3eFwWOk5Xo0sywQCAXQ63bhpfr8fvV5/xbyXl335dgSDQQA0Gs24 + +QOBAFqtVjnXPqugoGDcekKhEKFQCL/ff806h8NhQqHQDb3+d6zOkiQRCARQqVTj6j32GuHP + Hs9rbZtGo2HOnDlUVlayePHi665fuH2tXLlS+b6//vrrJCQkcOzYMWpra+nu7r7qMomJibzw + wgsA/PznP6ekpASTycQnn3yi9PJnzJjBsWPHeP755z8/ALRaLbNnz2bjxo2sWrWKVatWAZdO + 0mAwyKJFi3jttddYvnw5kiTx2GOPcfDgQd58802ee+45tm7dSkVFBatXr2bbtm0MDQ2xceNG + Xn75Zf70pz8RHx+Pz+fj5Zdf5gc/+AG9vb387Gc/49/+7d9ITU2luLiYwsLCa9bP4/Hw4x// + mO9973sMDw/zs5/9jP/4j/9gz549bNy4kZGREQ4fPsyaNWvYtWsXR48e5Z577mH37t04HA4e + f/xxLBbLlzo4XzeVSqVczMYu7mfOnMFsNuP3+5kyZQp33HEHO3bsQKfTEQwGWbNmDd3d3bhc + LmbMmMHhw4cZHh4mFAqxevVq3n33XaKjo5FlmUceeUS56NTW1vLggw8Cly5u+/fvVwJ/w4YN + AHzwwQdER0djtVrZsGHDuAv2GJvNRlNTEwsXLuTYsWN0d3dfccG73KFDhxgYGECv1+P3+1m7 + di0jIyPs37+f2NhYVCoVK1euZN++fSQnJ3Px4kWefPJJdu/erWzHo48+yrlz52hqagIgPz+f + uXPnsmnTJgwGA7IsExMTw8qVK69ah8rKSkpLSzGZTOzbtw+/34/L5bpmD2rz5s1KECclJXHv + vfeyd+9eHnzwQdRqNbt37+bhhx/mgw8+ID4+nosXL/Lwww/z1ltvkZ2djcPhoKysjMmTJ7Nn + zx6CwSCjo6OsWLGCmJgYdu3aRWxsLAaDgQceeIALFy7Q3NxMMBiktLSUadOmMWnSJE6fPo0s + y9cMNuH2N/Yd6+/vx+/3M3HiRCZOnMiiRYv4j//4jyvmlySJ4uJiwuEwHR0dqFQqoqKisFqt + nD17lnvvvReLxUIoFMJgMKDT6T4/AFQqFb/4xS+4cOEC7777LgcPHuSNN95AkiRWrVqF0Wjk + tddeIxwOY7PZqKiowGq1kpGRoVTolVdeISsrixdffBG1Ws3evXsJBoN0dnYSHx9PT08PKSkp + lJWV4fV62bZtG8nJySQmJlJQUMDkyZOvWb+BgQFiYmJYunQpsiyzdetWXC7XVeeVZZmXXnqJ + goICPv30U375y18qIXAramxsxGq1MjAwwLJly1CpVJSWlpKfn4/L5aK8vJxZs2bh8Xh44IEH + MJlMSJJEMBgkGAwyPDyM2+3mySefRJZl7HY7arWae++9l6ioKOXCIcsyPp8Po9EIXDrm9913 + H6mpqezbt09pvd9zzz1kZWXx4Ycf4nQ6SUxMvKLO4XCYQCCAy+XCYrGwbt06PB4PBw8evOo2 + +v1+Vq5cSWxsLB9//DE9PT3U1tZyzz33kJyczL59+xgdHcVmsxEfH8/GjRux2WxoNBpWrFiB + 0WhElmUaGhp46qmnkCSJzZs3U1paik6n4/HHH0eSJLZt23bN/ez3+wmHw7S1tZGYmEhZWRld + XV3XHGdXqVQ88cQTAOzYsQOPxzPuXtTY/4+OjqJWq9mwYQPBYJDs7GweffRRvF4ve/bsISoq + CqPRyL333qtMW7BgAfHx8axYsUIJr7HQk2WZHTt2UFhYiFqtVnp0IgC+/fbs2cPq1atv6Fg7 + nU5+/etfYzabefbZZ1GpVGzatIn169czPDwMXAqW2NhYXnvttc8PAI/HQ29vr3LhWb9+/VVv + vHZ3d3PgwAH+7//+j3PnzvHRRx8BYDQaycrKAi4ND2RnZ7N8+XJWr15NWlqaMn14eBi/34/N + ZvvcFuNnRUVFMTo6is/nw+l0KmPmwWCQUCg0rq5qtZpJkyYBMHnyZN544w1qa2t59dVX2bJl + y1VbtDfT1KlTeeCBBwgGg2zbto2CggIOHz6M0WgkPj6eUCiETqfj7rvvpqKiApfLxZo1a5Tl + XS4XSUlJyvBPfHw8d9xxB4cPH8bv9/Poo4+OGy653Nj+v3yo5/LeyPXY7XbS09Nv6IQd693E + xsbi8/kYHR2lsrISrVar3ECOiopi/vz5qFQqEhMTKSkp4dChQ/j9fh566CGMRiMqlQpZljEa + jYRCISRJUup6I/WwWq3Kufp5xvYnXDr/xoZnPkun07Fo0SKlDmPbOXYvbSxEJUnCYDAQDofJ + ysrCZrNx4MABtFotK1aswGq1cujQIYBxoSt+xykyWK1WBgcHKSgouKH5Y2Ji+MlPfoLH4+G3 + v/0toVCI2tpaVCoVQ0NDjI6OMmnSJJ555hncbvf17wH867/+q9Kye+ihhzAYDOO+BAAJCQl4 + vV5eeOEFAoGAcsPy8nnWrl3Lyy+/zOnTp3E6nbz66quYTCYSExNZtGgRGzduxOfz8cwzz3zu + F/bydScnJ1NWVsaGDRsIBAKsX7+e2NhYEhMTWb9+PTqd7qq/0rN//34+/PBDNBoN06dPvyV/ + yi0YDOLxeBgdHVV6NVarlaeffhqLxUJVVRV+vx+1Ws2qVas4dOgQQ0NDyvIpKSlUVFQwe/Zs + 3G43arWauLg4ZTjM6XQSHx+vXJS8Xu+48fu/R0JCAm1tbcyfP18ZggIwm81kZWWN29+BQAC3 + 201dXR1PPvkk/f396PV67rjjDjo6OpQbnWPHfHR0lMTERNasWcPOnTsJBoO43W7sdjsqlQqn + 0/mlwjw9PZ2qqiomTpzIwMAAcOki29bWRl5enrL+sfF/m82G1WolOjpaaWy43W4cDse4+l6+ + nbIsU1tbS1JSEunp6Zw5c4aSkhI6OjqIj4/HZrORnZ1NcXExmzdvRqVSkZCQwNy5c4mLi6Ot + rU25oXe1dQjfLrIs8957741r/Y81bsfOObVajdPppL+/n/z8fI4ePao0luDSPa4//vGPAFRX + V9PV1cW0adOQJAm73X79n4SUZRmn04lWq0Wv1yNJknJjcexzSZKUVnhSUtK4ZS9vMYbDYRwO + ByaTSWkRjc1ns9nQ6XRER0cr3Vu48iT/7HRZlhkZGUGj0RATE4MkSfj9fhwOxxV1ufxmqNvt + xuv1Kq2wm+mzPwnpdrspLy8nHA5jMBiYMWMGaWlpNDQ0UFNTQ0ZGBtHR0cycOZNjx44xMDBA + WloaZWVlSm8qKyuLnp4eKisrMRgMLF68mBMnTmCz2ZgwYQJ33XWXst11dXWMjo4yb948mpub + ycrKIioqioaGBiZNmkR3dzepqamYTCaam5tJTU3F6XSO2waj0YhWq2VgYIC8vDyam5s5f/48 + SUlJpKWlMW3aNP74xz/y3e9+VwmA/fv343K50Gg0zJ07l6ysLEKhECdPnqSvr4/09HTmzZtH + fX09RUVFqFQqPB4Px44dw2azkZuby9y5c7HZbBw5coRwOMzdd99NYmIiVVVVytNIVVVVTJky + BZvNNq7OsbGxWCwWcnJyMBgMnDlzhra2NjIyMsjNzSU6OpoPPviAp59+WtlXmzZtwmQyodVq + KSsrIy4ujo6ODk6cOEFSUhKxsbHMmzePixcvMmXKFLRaLX6/n9dee43s7GzS0tKYP38+Go2G + lpYWzp8/j8lkYvny5Xi9Xo4dO8bo6CiFhYXMmDEDu93OsWPH8Pv9FBcXU1BQQFtbG52dndx9 + 991f1ykpfEFfx09CyrLMgQMHuP/++5Xr6KFDh2hpaVHmmTt3LpmZmTQ1NbFo0SLKy8u5cOEC + kiSxcOFC5s6dq5y7FosFu92u3Fc9fvy4+E3gW8HN/k3gcDjM5s2befzxx2/o0UKv10tzc/O4 + aXFxcUyYMOGay3R3dxMIBJRhOLgUAGVlZZhMpi9f+Rtks9mueHIiPT2dlJSUay5TU1NDTk7O + uEdit23bxtq1a7/Quv1+P++//z6PPPLIF6v0VYRCIbZv386aNWu+sh6b8Pe7XX8TWATALeBm + BwBAX1+fcrPym2K1WomNjb3mvYhb0eDg4OeGxtWEw2GsVut1/x3FjbBarYyMjJCXl/d3lyV8 + dUQACF/arRAAgiB8ebdrAIh3AQmCIEQoEQCCIAgRSgSAIAhChBIBIAiCEKFEAAiCIEQoEQCC + IAgRSgSAIAhChBIBIAiCEKFEAAiCIESo2+ff4H/L3ewX0gmC8OVd/nLL24kIgFuASqVSfpBF + EITbTyAQuC2/w2IISBAEIUKJABAEQYhQIgAEQRAilAgAQRCECCUCQBAEIUKJABAEQYhQIgAE + QRAilAgAQRCECCUCQBAEIUKJABAEQYhQIgAEQRAilAgAQRCECCVeBncLCofDjI6OAqDVajEY + DKhUN5bVPp+PcDh8W76YShCE/0+WZQYGBrDb7UyaNAmtVossy/T29uLxeJg4cSIazfhLeDgc + pqOjA7VaTXZ2NiqVilAohNlsRq/Xk5WVhSRJ+Hw+LBYLkizL8k3aPuEahoeH2bRpE/n5+Tid + TjQaDY8//vgNvW7WbDbj8/mYOnXqF1qnx+PB7XaTlJQ0bnplZSVFRUVER0d/ofKuZ2BggMHB + QYqKir7ScgXhZnA4HMTGxn6lZR46dIhz586RkZFBW1sbP/nJT9i9ezddXV3ExMQwPDzMiy++ + qFwXZFnmD3/4A1qtFqfTSVJSEk8//TT/9V//RWpqKn19fUydOpU1a9bwq1/9iszMTNEDuFVN + njyZVatWAfDXv/6VQCDA8PAw1dXVSJLEvHnzMJlMtLS00NjYSFpaGrNnzyYuLg6/3w+A1Wrl + 7NmzREVFMX/+fOrr6zGbzWRnZzNr1qxxgTI0NERHRweLFi1SplksFk6dOsXQ0BApKSnceeed + dHR0cOHCBTIzM7nzzjtxu93Y7XaysrKw2+14PB4SExPp6elBlmVGR0eZNWvWuG0LBAIcPXoU + q9XKwMAARUVFjI6OMnnyZABqa2uZOnUq1dXV9PX1ERMTw4IFC9BqtZjNZqqrq8nJyaGkpOSq + oeh0Ouno6MBisRAMBlm2bBmBQACbzUZ2drZSz6ioKNrb2+np6SEuLo6kpCQaGxspKioiPz// + Kz+mgnCjZFmmoqKCV155BUmSeOONN6irq+PChQv89Kc/RaVS8Zvf/Iaenh6ys7MB8Pv9DA0N + 8eMf/xiAH//4x/T19aFSqXj22WcJhUK8/PLL3H///RgMBr7zne+IewC3KovFwokTJ9i5cyfZ + 2dlotVo8Hg+lpaUUFhayZ88efD4f5eXlLF68mJiYGEKhEH19fXR2duL1etm5cyfFxcWkpKQw + PDzM+fPnWbx4MRqNhrGOXzAY5MKFCzQ2NtLV1cWFCxew2+0AxMfHk5ycTEFBAXl5eVitVsrL + y1m2bBlOp5PTp08zMjJCU1MTAIODg7S1teHz+di+fTuffvopWVlZV2ybWq1m4sSJZGZmMn36 + dEwmEx999BGyLDMyMkJNTQ1+v5/jx48zb948jEYjhw8fxm6388knn7Bs2TJ6enpobm6+6r4b + GRnhyJEjSs+lpqYGu91OY2MjcCnsWltbsVqtfPrpp8ydO5empiYGBgYoKyvj448//joOqSB8 + IRqNhu7uboLBIElJSXR3dxMOhxkcHCQQCCjTxqhUKhwOB06nE5/PR2xsLE6nk/7+ftxuN36/ + H0mSkGUZu91OR0eH6AHcqgwGA4mJiciyrBx4jUbD8ePHlQM4dn/g448/ZsaMGWi1WmX5vr4+ + pkyZQmZmJgBerxe/309FRcUVLeeoqCiMRiM6nY6oqCjUajUARqOR6OhokpOTiY+P5+zZs8yZ + M4fY2FgWL17M1q1bycnJuWr9ExMTefTRR69670KlUpGYmIjb7SYtLQ2AvLw8mpub6evro7S0 + FIDs7GySkpKIjY1lx44dmM1mtFotVVVVSJJEW1sbBQUFV11/YWEhGRkZuN1u+vv7r7mf8/Pz + SU5OJi0tjenTp5OYmCjunwg3nSRJfO9732PTpk3IsozD4WD58uU899xzvPHGG6hUKgYGBigu + LlaW0Wq1rF+/nt/+9rcYjUbMZjNxcXGsWbOG3/zmN0RFRdHf349Wq+Wpp57iyJEjIgBuVQkJ + CRQWFiLLMps3b8blcnHw4EGeeuopDAYDb7/9NiqViu985ztYrVYOHDiAwWBQljcYDDidTqWl + r9fr2bhxI0NDQ7z33nusXbuW2NhYNBoNBQUFGI1GZFm+4oI61mIYK3Ps5rTb7VYCZ+zzy28n + paSkfO6Na0mSCIfDyt8LFizg3XffBWD+/PnKMBaAy+VCo9Gg1+uJj49XhmeioqK+4F4VhNtH + WloaP/zhD5Flmd/97nfk5+eTk5PDSy+9hCzLvPrqq0yaNEn53kmSxKxZsygpKSEYDPLv//7v + JCUlkZKSwsKFC/H5fLzyyiuo1Wry8/Mv3US+ydsoXENjYyM7d+7E6/Wi0+mIjo5Gq9Vy5MgR + bDYbdrsdl8vFrl27lJZudHQ0DocDuHTyeL1edu/ejc/nY9GiRVRUVJCSkkIoFEKv149bX2pq + KnFxcVfUIycnh71795KXl8fcuXN56623cDgcdHR08OCDDxIXF0dtbS0ejwez2ay03q8nNTWV + vXv34na7KSsrIyYmBq1WS2xsLFqtFr/fT2NjIx988AEdHR2sWrWK1NRUjh8/TmVlJR6Ph2nT + pjFjxowbWp/JZKK2thav14vZbKakpOSa896Ov+0qfPucOHGCixcv4nA4MJlMTJgwgYMHD9LZ + 2cng4CB5eXkkJCTQ2NjI0aNHee6559i+fTter5fW1lbuuece1Go1b775JpIkUV9fz2OPPaac + 3/v37xdPAd2KZFlWWsCSJKHVapEkiWAwyNDQEAkJCahUKjQaDX6/H5vNRnx8PAaDgXA4jCzL + qNVq5XFSrVaL0WjE5/MxMjJCYmIiOp3uhuvicDhQq9VER0cTCoUYHh4mLi5OCRGXy4XH4yEh + IQFJkpRHzzQaDS6Xi/Ly8nFlpqWlceedd+Lz+XC5XMpyu3btYsmSJSQnJ+NyuXj//fdZvny5 + EgoAoVCI0dFR9Hq9Mvzl8XiUsnU6HUuXLkWlUin7QJZlVCrVFfUc692o1WqCwSBqtRpJkggE + AuOG0wTher6Op4BCoRAWiwWVSkVGRoZyDejt7UWv15OamookSYRCIUKhEDqdDp/PR29vL3Fx + ccp57vF4sFgsJCUljWvkeTweEQDCreGDDz7AaDSyePFiJEnC6/Vy5swZysrKbnbVBOG6vo4A + +CaIABAEQfg73a4BIB4DFQRBiFAiAARBECKUCABBEIQIJQJAEAQhQokAEARBiFAiAARBECKU + CABBEIQIJQJAEAQhQokAEARBiFAiAARBECKUeBvoLSAcDhMIBG52NQRB+JICgQA+n+9mV+ML + EwFwiwiFQje7CoIgfEljb+S83YghIEEQhAglAkAQBCFCiQAQBEGIUCIABEEQIpQIAEEQhAgl + AkAQBCFCiQAQBEGIUCIABEEQIpQIAEEQhAglAkAQBCFCiQAQBEGIUCIAhBt2O77rRBCEaxMv + g7sFuVwuPvroIwD0ej2zZs0iKyvrhpbt6urC6/UyZcqUL7ROWZYBkCTpmvPs37+fVatW3VB5 + TqcTvV6PVqtFlmUqKipYsmTJ55Z/ObfbjVqtRq/XA1BRUcGiRYtQq9U3tLwg3O5GR0fZvHkz + drudqVOnsmrVKiRJ4uDBg5w/f56oqCi+973vodPplGU6OjrYtWsXwWCQJUuWMGfOHAKBANu2 + baOnp4e8vDyeeOIJKisrOXnypAiAW5HP50On07FixQocDgfvvfcezzzzDBqNhnA4DIBKdanz + Jssy4XAYlUqFJEmkpqYqF3O49KppSZKQJEmZ92oX0cHBQfr7+5kxY8YVn40t53K5lGmBQACV + SqWU9dmyKysrKSoqIi0tDYDS0tJxZQaDQVQq1RXbMbZ8XV0diYmJTJ48GYCSkpJx8/r9fiUc + rlWmINzO3n77bcrKypg+fTp//etfqaqqwu/3Y7FYePHFF3E4HOO+y7Is8+c//5kf/OAHREdH + 8/Of/5zp06ezY8cOpk+fztNPP43NZiMcDnPkyBGef/55EQC3KpVKhUajQa1Wo1arkSSJM2fO + YDabCQQCTJkyhdmzZ7Nz5060Wi3BYJA1a9bQ3d2Ny+VixowZlJeXMzg4SCgUYvXq1ezevZuo + qChkWeaRRx4Zd6EMBALjLvBjLl68yLlz54iOjsZutwOXLu6dnZ34fD7mz59PcnIyu3btIjY2 + lqioKEpKSqitraW3t5ekpCTuu+8+ysvLWbNmDSdPnqStrQ2DwcDw8DAbNmzAYrFcao1oNOj1 + ehYuXMjZs2cxGAzU19cryz/88MMMDw+zb98+YmNjCQQCPP7445w+fZrW1laMRqNS5uWtIkG4 + HaWlpdHf309mZiYul4v4+Hh2797NunXrMJvNpKamXtGYi4+PZ3BwEK/Xi0ajQafT0dvby8qV + KzGbzWRlZREKhTAYDOh0OhEAt6qBgQHOnj2rHGiVSsW0adNQq9W43W5qamooKSnB5XIxZ84c + Jk2ahE6nIxgMEgwGGRgYwOfz8eSTTyLLMi6Xi0AgwLRp08jNzVWGYoLBIE1NTQwPDzM4OMjF + ixfJycnBZDIRCASorq7mH/7hH9BoNGzduhWfz6dclP1+P8eOHWPZsmWo1WplqMpgMFBcXDyu + B+D1egHw+/0sWbKE7OxsPvzwQ1wuFxkZGcyYMYORkRGqq6sxGo3ceeed43oAY8ufPHmShx56 + iMTERM6cOUNjYyOBQIAlS5aQk5OjlCkCQLjdZWdnc/bsWeDS+W8ymbDZbFy8eJFQKMSBAwe4 + 9957KSgoUJbJycnh3LlzmEwmEhMTkSQJi8VCXV0dgUCA7du380//9E8UFRXx/vvvi5vAt6rU + 1FTmzJnDE088wejoKC6Xi7179xIfH8/06dMxGAxotVrWrVtHKBRi586d2Gw2ZflAIEBUVBSS + JKFSqTCZTDz22GO43W62bNmi/HqRRqNh+vTp5OXlkZmZyfTp0zGZTEoZBoMBjeb/txPC4TAe + j4fOzk76+vqYNWsWaWlprFy5koGBAXbs2EEwGPzcsf6x8sbmOXLkCF6vl8LCQpKTk8cNYX1W + IBDAaDQiSRIxMTHjtgMu9Zw+b3lBuF3s37+f73//+yxfvpz77ruPiooKYmNjKS0tZcWKFSxa + tIiGhgZl/mAwSENDA+vWreOhhx4iISGB9vZ2EhISWLx4MStWrCAzM5OBgQGWLVvGypUrRQDc + qoaGhqipqeHEiROMjo6i0+nw+/2oVCrq6upwuVy4XC5Onz5NQkICUVFR435WMi0tDbPZTF1d + HZWVlVgsFmpqakhOTlaGjC4XGxvLhAkTxk0zGo04nU5qamo4f/48drsdg8FAQkICWq2W2NhY + bDYbHR0dtLW1kZ6ejizLyLJMQkICVVVVmM3m616QPR4Per2ezs5Oent7AUhISKC2thaz2Tzu + 6aOCggIOHTqE2Wzm1KlT5Ofn/727WhBuSXl5eWzdupXq6mr27NnD1KlTeeCBB/jDH/5AbW0t + +/btY+bMmfT09HDo0CHUajWyLFNeXs6ZM2eorq4mPT2d0tJS3nnnHS5cuEB9fT2ZmZkAXLhw + AUkWzaWbLhwOK0MccKmV29raiizLGAwGsrOz0Wq1WK1WmpqayM7ORq1Wk56eTnd3Nz09PWRm + ZpKTk4Pb7SYUChEbG4vX66WxsRGj0Uh+fj4dHR309/eTm5tLenr6DT2R4/V6qa2txWQyYTKZ + yMzMVFoa4XCY/Px8DAYDzc3N2Gw2pkyZQlJSEuFwmPr6emRZpqioiL6+PtLT07HZbERHR6PX + 6xkaGiIuLo5QKERNTQ0mk4n4+HhSUlJQqVQ0NTXh9XopLi5mYGCAjIwMZFmmo6ODvr4+CgoK + SEhIuGqZWq326zxkgjCO0+kkJibmKy1TlmWqqqqwWCwUFRWRk5MDgNlspra2luLiYiZNmsTo + 6ChDQ0NMmjQJv9/P6dOn8Xq93HnnnSQkJCDLMufPn8disTB//nwSExMBaGlpEQFwK/hsAAiC + cHv5OgLgmyCGgARBECKUCABBEIQIJQJAEAQhQokAEARBiFAiAARBECKUCABBEIQIJQJAEAQh + QokAEARBiFAiAARBECKUCABBEIQIJQJAEAQhQonfA7gFSJI07pXLgiDcXtRq9W35Hb79avwt + JEmS+AETQbiNabXa2/I7LIaABEEQIpQIAEEQhAglAkAQBCFCiQAQBEGIUCIABEEQIpQIAEEQ + hAglAkAQBCFCiQAQBEGIUCIABEEQIpQIAEEQhAglAkAQBCFCiQAQBEGIUOJlcLcgn89HTU0N + 4XAYo9FIfn4+RqPxhpYdHh7G7/eTkZHxtdQtHA4DoFLdWNtBlmXC4TBqtfqGy2xqaiI3Nxe9 + Xv931lYQbl+hUIjy8nKGhoZYunQpaWlpBAIBKioqGBoaYs6cOUyePHncMrIsU11dTU1NDbm5 + uZSVlSHLMoODg3R3dzN79mwAenp6qKysFD2AW5HT6aSuro74+Hi4ur9zAAAWTUlEQVQ8Hg9v + vfWWcpG8ETd6cb7cyMgIbW1t152vsbGRurq6Gy7X6XRy8ODBz52nqalpXJmSJCFJ0g2vQxC+ + jf7617/i8/koLi7mV7/6FV6vlz//+c+43W5KS0t5/fXX6evrG7fM8ePH+eSTT1iwYIFyHfjb + 3/7Gr3/9az766CPgUkj86U9/YsqUKaIHcKtKSEigoKCAUChEVVUVoVCImpoaLl68SCgUYsGC + BUyaNInDhw8zODiIwWBg5cqVeL1ePB4PaWlp1NXVUVVVhVqt5uGHH+bQoUM4HA5iYmJYuXLl + uKAYHR2lt7eXvLw8ZZosyxw5coTe3l7UajX33HMPR44cIRgM0tjYyOrVqzl58iS9vb3IssyK + FStITEzkxIkTREdH097ejizLNDc343Q6Wbhw4RU9E5fLRUVFxbgyh4aGmDBhAt3d3Zw+fRqv + 14tKpSI2NpbBwUEKCwuZN28etbW1VFdXo1arefDBBzGZTN/Y8RGEr5Msy3R0dPCP//iPSJLE + ggULqK6uZnR0lDlz5pCenk5ubi4ul2vcMocOHeJf/uVf0Gg0ynd52bJlrFixgj//+c/ApRGG + +Ph4iouLRQDcqpqamti2bRtdXV0sW7YMjUbD5MmTKSoqwuPx8Le//Y3MzEw6OjrYsGEDbrcb + tVqNw+HA6XTicDg4c+YMTz31FIFAALvdjtPpZO3atYyOjiotbJ/Px8GDB7Hb7djtdkZGRpgz + Zw5paWn4/X5aWlp49tln8Xg8GI1G7rrrLoLBICUlJajVakpLS1m4cCF9fX0cPXqU1atXc+LE + CWbMmMHKlStxuVyoVCpWrVp11Z5JVFQU8+bNIxAIKGV2d3cza9YsHA4HCQkJLFmyhC1btlBS + UkJqairvvPMOs2fP5syZMzzzzDP09vZy5MgRVq5c+U0fJkH4WkiSRFJSEgcPHiQ/P5/e3l70 + ej1r167lpZdeIikpidTU1HENtlAoRE9PD//5n/9JIBAgJiaGF154gcTERBwOhzKfXq/H5XKx + Z88eEQC3qry8PO677z7sdjsHDhyguLiY2tpazGYzUVFRuN1u9Ho9kyZNYtOmTWRnZ7N06VJl + +aGhIfLy8tDpdOh0OgwGAyaTiTfffJPJkydTVlYGgE6nY9myZfT09NDV1cW8efOUsXedTkdB + QQGbNm0iPT2de++9F7VajSzLaDQaZFnm+PHjOJ1ONBoNXq8XgNTUVO6//34kSVJa79f6tSRJ + klCpVNecJy4uDrVajdFoJC4uDq1WqwTd4OAg7733HuFwmFAo9FUfAkG4qb7//e/z0Ucfcfr0 + adRqNQkJCWzZsoVXXnmFrKws3njjDWpra5kxYwZw6buUkpLCyy+/jCRJ/OUvf6GhoYHi4uJx + 5UqSxPPPP09ra6u4B3Cr0mg0REVFkZ6ejizL+Hw+Ll68yNq1a7n//vsxGAyEQiEWLlzIhg0b + 8Pv9dHV1KcsnJCTQ09Oj3IQNBoPce++9PPvss/T09GCz2YBLJ0NUVBRGoxGDwUBUVJRywzYc + DjN37lw2btyIwWCgubkZtVqNz+dDlmWcTiejo6M8/vjjLF26VOlV6HQ65f9VKhWBQABZlpFl + +Zrb6vf7P3eez4qJiSE1NZVHHnmExx57TLT+hW8dnU7HQw89xBNPPMHAwADTpk3DarWSkpKC + Wq0mJSWFgYEBgsEgbrcblUqFyWSip6dHKUOr1Y77To19x2JiYsjPzxc9gFuRRqOht7eXzZs3 + EwgEKC4uJiYmhoyMDLZs2aKMhwcCAXbu3IlGoyEYDJKRkYHFYkGWZRISEsjNzeWtt95ClmXu + v/9+PvzwQ7RaLXCpZX257OxssrOzx00LBoPs2rVLacnfddddSJLE1q1baW9v55FHHiEcDrN1 + 61Y0Gg0JCQlK13VMdHQ0siyzZcsW7r77bjIzM6/Y3tzcXKXMxx57jMTERFQqFUajUQmShIQE + JZiSk5PR6/UUFhayadMmNBoNBQUFzJkz5ys9DoJwMx07doyKigrcbrdyf+3pp5/ml7/8JVFR + Ueh0Op5//nna2to4fvw4Gzdu5LnnnuP3v/89er2exMRECgoK+OMf/8jIyAj9/f3893//N+vW + rSM7O5vDhw8jyTfa5BJuOlmWCYVCqNVq5cJ4tWmXC4fDylM115v3i6wzHA4rY/rXK3NsfofD + wfHjx8d9lp2dTUlJybgyv8gTQF/0sVRB+Do4HA5iY2O/0jJlWSYYDCJJ0rjh0XA4rDxafbXv + ythyGo3mc79LsiyLABAEQfh7fR0B8E0QzSZBEIQIJQJAEAQhQokAEARBiFAiAARBECKUCABB + EIQIJQJAEAQhQokAEARBiFAiAARBECKUCABBEIQIJQJAEAQhQokAEARBiFDibaC3gHA4rLxL + XxCE24/P58Ptdt/sanxhogcgCILwd7pd36kpAkAQBCFCiQAQBEGIUCIABEEQIpQIAEEQhAgl + AkAQBCFCiQAQBEGIUCIABEEQIpQIAEEQhAglAkAQBCFCiQAQBEGIUCIABEEQIpQIgFuQLMuE + w2HC4fAXfsfI2LK3sy+z3V+G1+vF5/N9JWXdrP1+vfV+lfvS7XYTCAS+1LJ/bz2+Def1lxEM + BvH5fOP23dWmXc7v919xnAKBAH6/X/lblmX8fr94G+ityOFwsGPHDuLj4/F6vUydOpU777wT + SZKuu2xbWxter5eioqIvtM6xL6harf7c+axWK+FwmOTk5Bsq1+/309PTw6RJkz63zFAoREpK + CgDl5eXMmzeP6OjoG9+AqwgGg2g01z7Fm5ubUalUX3hfjTGbzWRmZqLT6QiFQnz44YesXLny + S5V1o/v/s7xeL0ePHmXFihVX/fzYsWPMnDmT+Pj465YVDAZRq9XXPM/Onz9PTk4OEyZMuG5Z + gUCArq4u8vLyAKirqyM6Olr5+3pCoRDt7e3k5+cD0Nrais/n+9LH6nbU2trKli1b0Ol05OTk + sG7dOmpqati7d69y3q5evVqZX5ZlysvLqaysxO/3s2LFCubNm8f+/fupqqpCpVIxefJkHnvs + MbZv305vb6/oAdyKQqEQWVlZPP7446xfv576+nqCwSCBQICOjg46OzuV1pDL5aK1tRWr1QpA + dna28iULhUJ0dnYyODiILMs4HA5aW1ux2+1XrNNisXDmzJkrpns8HlpbWxkaGiIYDHLx4kXq + 6uqwWCyEw2E8Hg/t7e1YLBZkWVbWEwwGsVgsdHd3U1lZicViueorr4PBIPX19ePKnDNnDkaj + EZ/Px+joKG1tbQwODuJ0OmlqalJeuxsMBmlpaaGvr++q+/G999676nSv10t7e7uyz3w+Hx6P + R/nM5/MRCARwuVy4XC6sVivBYJCuri7MZjOhUAi3283p06fp6OhgaGgItVrNokWLlHX09vbS + 0tKitMQcDgdOp5Pm5uar7v/u7m7OnTt3xfRQKERraytdXV1X3b96vZ558+YBly4AfX19mM1m + RkZGkGWZ0tJSTCYTgUAAp9OpbMPVWo979uy56v5yuVy0tbXhcDiUaVarlcbGRuWYhkIhzGYz + PT09hMNhent7OX36NBaLBY/HQ35+PllZWUr9+/v7aWlpIRQKKfuntbWV4eFhAAYGBjh58iQW + iwWXy0VOTo5yXvv9fpqbm5Xjfq0yb2eyLLNt2zb++Z//mRdffJGBgQG6urp47733ePHFF/nR + j35ETU0NNptNWSYYDHL8+HF+9KMf8dJLL7Fv3z6CwSAnTpzgRz/6ET/84Q+pqqrC7/fT19fH + Cy+8gPqnP/3pT2/eZgpw6WAHg0Hl77GLbkpKivLFKyoqorq6GrvdzuDgIPX19UycOJHNmzeT + kJBAS0sLWVlZdHZ2YrFYSE1NZceOHciyTFdXF0lJSezevZv4+HiamprIy8tDkiTC4TAOhwOb + zYbVaiUxMRG1Wo1arSYYDLJ161ZiY2Npbm4mLS2N2tpaXC4X4XCYzMxMTp8+TTAYpKmpCYfD + QXp6Ort27aK2thZJknA4HHR3d6PX64mPj8doNI7bdr/fT1VVFU6nUynz4MGD5Obm0tHRwb59 + +4iNjeWjjz7CarWiUqk4ffo006dPZ9euXURHR1NfXz+uB+H1enG5XDQ0NDBhwgSCwSA6nQ64 + dKHZvn07MTExdHd3k5qaitPppLe3l4yMDOrr6xkZGUGSJD744ANqampITk6mt7eXoaEh7HY7 + 58+fJz09naqqKrRaLeFwmNTUVN577z2Ki4s5deoU7e3twKUWeFFREXv37sVsNqPT6SgvL6e0 + tHTc/rdardjtdhISEtBoNKhUKmRZ5t1330WSJPr6+ujo6CA3N3fc/k1NTeXgwYMUFhZy8OBB + ent7kSSJI0eOUFJSQnl5OampqYyMjLB582ZiYmJobGxEo9EovTi3243b7aaxsZEJEyYQCoWU + /TUwMMCePXuIjY3FbDYzceJERkZGOHbsGPHx8ZSXl1NUVMT7779PKBRSLuB9fX10dnai1+uV + 88fn82Eymfjf//1fdDodQ0NDWCwWJkyYwCeffIJGo+H06dOYTCaGh4dpbW3FaDQSHR1NX18f + fX19pKSksHXrVkwmEw0NDbhcLlJSUpQyh4eH6e3tJTc39+v90n6G3+9X9tlXpby8nLKyMjQa + DYFAgOHhYdrb21m8eDEajQa73U44HCYjIwO4FMLHjh1jyZIlaDQampubyc3NZWBgQGkY+Hw+ + 5s6dy8mTJ5kzZ44YArpV9ff3c/bsWUZGRsjKykKSJAoLC2lqaiIcDtPW1gZcCg+9Xk9ZWRkG + g0FpJfb395OcnKy0SscusNHR0RQVFaFSXer8BYNBzp07h91ux263I8syM2fOVC4Osiyj0WhY + smQJRqORwsJCgsEgM2fOBGDmzJm0tLQQGxtLV1cXs2fPxmq18tRTT5GUlITD4cDhcDB//vyr + bqfBYGDq1Knjyry8dTp37lxKSkro6+tj+fLlREdH09HRgcvlIhQKkZ2dTXJyMmfOnGH69OkA + dHZ20t3dzcDAAOfOnSMmJoa5c+cCUFVVxdKlS5k4cSIGg0FZz+XrHNuHTqeTDRs2oNVq8Xq9 + NDY2Kj2ClJQUsrOzueOOO4iNjR23XFtbG+vWrUOlUjEyMsLw8DA6nY777rsPg8GghANcGio5 + d+4cIyMjjI6OEgqFmDVrFklJSTidTjQaDQsWLECWZbZu3Uo4HB63f8da4LIsMzg4yFNPPaXU + 4bNmz57NggULaGtrY2hoSJne1tbGwMAAAwMDnD17lqSkJEpKSgA4d+4cK1euJDk5WVlXTU0N + s2fPxmQyjWu1h8NhiouLSUhIICUlhcHBQeW4t7e3K/s4Pz+fu+++G7fbzeHDh5EkidLSUjo6 + OoiLi6Orq4u77rqLtrY2ZfmxHk1fXx9ZWVnceeedBINBdu7cSXFxsVKmx+Ph4MGDVz3XbieS + JLF69Wp+8YtfkJSURFdXF/fffz/33HMPv/jFL4iPj6etrY1nnnlGWUar1VJcXMyrr75KVFQU + 9fX1rFq1Cr1ej9VqRaPRoNPpUKvVlJaW8rvf/U4EwK0qNzeX+++/H4Dt27fjcrnYu3cvc+bM + ITs7G7PZjFarZd26dTQ2NrJ161YefvhhZflwOIxWq1X+jomJ4bHHHqOpqYm3336b9evXYzAY + 0Ol0LFu2jJ6eHrq6upThBACNRsOTTz5Jc3Mz27dv58EHHxxXR7/fz549e1i6dClarZYTJ04A + kJGRQVJSkjLfjdz8u948l49Lj7Wc7Xa7cqErLi5WPi8oKKCgoACbzcayZcvGlePxeIiJiblu + fcbKGduHe/fuZebMmWRlZWE2m69b17H6ajSazx2S0Ov1LFu2jM7OTvr6+pSggkvH8PJ7AmO9 + gs/u37/X2L4bGRlh2bJl4/a13++/otc2Nr5vMBjIyMggKiqKBx98kPb2dsrLy5k4cSKFhYU3 + vH6r1crHH3/M3XffTUxMzLhw+qxQKKQckxu5J3Y7Ky0tZebMmYRCIf72t7+RnZ1NYWEh8+bN + Q5Zl/vKXv5CZmanML0kSjz76KH6/H5VKxa9+9SuMRiO9vb388Ic/RJIkfv/73zM0NMSyZctY + unSpuAdwqxoeHqauro5Tp07hcDjQ6XRKN3OsJepyuTh79iwpKSnExMSMe6IlLS0Ns9lMfX09 + Z8+exWKxcPHiRdLS0tDpdOOGnABiY2PJyckZN83j8XDmzBkSExOJj4/H4/EQFxdHY2Mj7e3t + ylMFsixTXV191ac09Ho9AwMDmM1mnE7nVbc1Pj5eKfNGx29jYmIwGAzExsYSFxc3bnx6zNVu + GE6ZMoVDhw5hNpupqakBUFrlLS0tVx2Hh0vDSnq9nubmZmVdMTEx1NbW0tPTowSYJEmkpKRw + 8uRJWlpa6OrqUoamPk9cXBzZ2dnjpplMJux2Ow0NDXz66adERUVd8yaxJEkkJCSwZ88e9u/f + f9X7DNdztf2Vl5fHwYMHaW9vp6GhAYDCwkKsVitpaWl4vV5CoRCnTp1Cq9WSk5ODw+FAq9Uy + NDSE2WxmdHT0c9fr9/vRaDT4fD7q6uoAlCGO9vZ2RkZGlHkzMjJobm6mvb2do0ePkpWV9YW3 + 83ZRX19PbW0tp06doq2tjYKCAqqrq6mvr+eTTz7B5XKRmZlJb28vhw8fBuDUqVO0trby7rvv + MmHCBOLi4hgZGeHEiRNUVlbS2dlJXFwccKk3LMm362+ZfYt89jeB/X4/LS0tyLKMwWAgJydH + Gd9sbGwkJycHlUpFZmYmnZ2d9PT0kJmZSW5urjI0EhcXh8fjoaGhAaPRyJQpUzCbzfT395Ob + m0tmZuZ1W1CyLCs9g9TUVOUmXEtLCyMjI8yePZve3l66urrIz88nFAqRnp6OxWIZ1zKxWCx0 + dnYyYcKEccMfACkpKeTn59Pa2orNZmP27NkMDg6SkpKCx+NRtqW/v5+kpCQ0Gg29vb1kZmbi + 9XppaGhApVJRUFAwbkjn87aps7OT3t5esrOziY+PJyYmhrq6OjweD9nZ2cTExKDT6XA6nUpL + 22az0dDQQEZGBjqdjoyMDEKhELW1tcow1th2h8Nh6uvrcTqdFBcXK2PYKSkpqNVq5X7DjbRg + vV4vNTU16HQ6iouLUalU4/ZvKBRicHCQ9PR0QqEQo6OjSJLEgQMHWLt2LYODgyQkJCg3rhMT + E3G73fj9/ht6MkiWZeUhgKysLJKTkzEYDPT09GCxWMjIyCArKwu73U5TUxN6vZ6ioiI0Gg39 + /f2YzWamTZum9EiNRiP9/f3K/hsaGiI1NZXm5mZsNht5eXmoVCqSkpIYHh6mpaWF/Px89Hq9 + ci6Mjo5SV1dHfHw8BQUFAOPKHNsf3ySn03nDPcsbZbVaOXHiBBqNhrvvvhuDwUB/fz+VlZUY + jUYWL16MTqfD4XAwODjI5MmTaWtro7q6mpSUFObPn49KpcLlcnHq1CnC4TB33XWXMmTZ3Nws + AuBWECk/Cj92EbqcVqu9oQu3cH0HDhzA7/fjcrmYNWtWRD0yebN9HQHwTRABcAuIlAAQvl6y + LBMIBJSnuIRvzu0aAOImsCB8S0iS9JU/iih8u4mbwIIgCBFKBIAgCEKEEgEgCIIQoUQACIIg + RCgRAIIgCBFKBIAgCEKEEgEgCIIQoUQACIIgRKj/BxD0g/mceCdUAAAAAElFTkSuQmCC + + + iVBORw0KGgoAAAANSUhEUgAAAYAAAAGACAYAAACkx7W/AAAACXBIWXMAAA7DAAAOwwHHb6hk + AAAgAElEQVR4nOzdd3QU9f7/8edsy+6mhxCSSEINnVAUIV6qUhW4ogh2miAgoiCiIAqC2BBQ + URAsIKAoKnC9VhSxUAUpAoooBAKk97Iluzvz+4OT+ZEbQCDYvvN+nJNzkp2Zz3zms7PzmvnM + ZzaKpmkaQgghDMf0V1dACCHEX0MCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAgh + DEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAgh + DEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAgh + DEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAgh + DEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAgh + DEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAgh + DEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAgh + DEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAgh + DEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAgh + DEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAgh + DEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAgh + DEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDEoCQAghDMpyrol+ + vx9N0/6sugghhPgTnTMAUlNT8fl8f1ZdhBBC/IkUTU7xhRDCkOQegBBCGJQEgBBCGJQEgBBC + GJQEgBBCGJQEgBBCGJQEgBBCGJQEgBBCGJQEgBBCGJQEgBBCGJQEgBBCGJQEgBBCGJQEgBBC + GJQEgBBCGJQEgBBCGJQEgBBCGJQEgBBCGJQEgBBCGJQEgBBCGJQEgBBCGJQhA0DTNEpKSigq + KkL+JbL4pyopKaGkpOSvrob4BzNkAGRlZTF+/Hj++9//omkaWVlZlJaWnnX+kpIScnNzCQQC + f1idVFUlLy9PQuk85ebmUlRU9FdX4y/18ccfM27cONLT0//qqoh/qIsKgIyMDBYtWqT/vPrq + q7z//vscOXLkkh28li9fzsiRI8nOzr4k5VVQVZXnn38en89Hv379UBSFQYMG8c4775x1mZUr + VzJ27FgKCwsver1r165l5MiRHD58+IzTXS4XDz74IAsWLLjodfxfMX/+fMaNG4fL5TrrPOPH + j+f555//E2v199OvXz98Ph8vvvgiPp/vr66O+AeyXMxCWVlZvP7660RGRmK321FVlZKSErxe + LzNmzKBPnz7VrlhJSQl5eXn4/f5ql3W6nTt38s033/Dkk08SHh6OpmmUlZVRXl5+1mXKy8tx + uVzVCjeXy0VeXt451+N2u/F6vRe9jv8riouLyc/PP+cVl8vlwuPx/Im1+vsJDg5m9OjRTJky + ha1bt9K5c+e/ukriH+aiAqDCpEmT6NatG+Xl5Rw+fJipU6eyatWqSgHgcrkoKSnBZDIRGRmJ + xVJ5lWVlZZSWluJwOAgNDUVRFABGjx7NXXfdhc1mqzS/1+slLy8Pu91OZGSkPr/X66W4uBiz + 2Ux4eDhms7lKfTVNY/Xq1dSrV4+OHTtWma6qKrm5uaiqSnR0dJW6VtS3sLCQ8PBwQkJCzrut + br75ZgYOHFhlezwej94+50vTND0YTSYT2dnZ2O12wsPDq5TjdrvJycnB4XBQo0YNfbqqqvh8 + PqxWK4qi4HK5MJvN2O12AEpLS3G5XDgcDkJCQvR2BvD5fOTk5KBpGjVr1qy0TT6fD03TsFqt + FBUV4XK5iIqK0ss9H4888giqqlYqV9M0vF4vJSUlhIaGnndZFXWqaKucnBxsNhsRERF6WwQC + Afx+PzabTd/Oiu2oqEN5eTmKomC1WvH7/bhcLkJDQ/H5fCiKgqIoZGdn43Q6CQ8Pr9RemqZR + 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 + RrRu3Zprr72WRo0aVVlPWVkZmZmZXH755VX63aOioujUqROrVq3iu+++o2XLlvTq1Yt27dpV + OUusOGBHRkZWWcfpfbJn66+u6Jc1mUxV+vIvhM/n48SJE1x77bWEhYVddDmnCw8Pp27duuTn + 5+P3+0lLS0NRFNauXasfNLOyssjPz6909jh27Fj94A9w+eWXk5CQwMSJE2ncuDFt2rThuuuu + o379+hw7dgyr1Urr1q31tmjatCmhoaGkpaXpdTm9La1W6wXd3/hfhYWF5Ofn06lTJ307qis0 + NJQGDRpUOsM/H0lJSTz55JNERUWddZ6aNWsSFxdHTk4OXq+X9PR0GjVqRHh4OHCqPdq0acOm + TZtwuVykpKTwwQcfMGHCBBo3bky7du3o06cPiYmJev327NlDVlYWcOrKpLy8nJycHD0AnE4n + QUFBFx2ywriqFQBNmjShU6dOAPTu3RtVVVmzZg133HEHhw4dYsaMGXTt2pVbb72VsLAwXnvt + NQ4ePAhA7dq1eemll9i6dSvbtm3jk08+4eOPP2bJkiVV+u4VRcFsNp9xVIjFYmHWrFns3LmT + bdu28f333/PFF1/w8MMP62dNFSoOtkVFRdSsWbM6m14tmqZRXl5e5T5EdQQCAbxeLw6HA5PJ + hMlkwu/3k5ubq9/HqF+/Ps2bN9dvkJvNZtq2bVvpAF2vXj1eeeUVNm/ezPbt2/nPf/7DRx99 + xLJlyzCZTGiaVqnbq+Lv6hzkz8Xv9xMIBKoVuGficrlwOp0XtExSUtI5D/5wqr4+n0+/0aso + SpVuQk3TUBQFk8lEkyZNWLx4MZs3b2bHjh2sWrWK9evXs3DhQsxmM5qmUVBQoL9nJpOpyomD + x+OhvLxcDxkhzle1hwxU7NyBQICCggJ9dMlPP/2E1+tlwoQJREVFoWlapTO43NxcwsLC6Nev + H9dddx179uxhwoQJ7Nmzp0oABAcHU7t2bbZv305eXp5+M1HTNNxuN36/ny5dutClSxeKioq4 + 44472LZtW5UAiI6Oxmw2k5WV9ZcGgNlsJiYmhn379uF2u/Wbtv97YM3Pz8fn8xETE3PWA2zF + MqmpqRw8eJDu3btjtVqpU6cOqqoyaNAg2rZtq89fMeLqbHJycoiMjGTAgAH8+9//Zvv27Tz4 + 4IPs27ePevXqEQgE2LZtm97Vt2fPHkpKSvSz0UstLCwMp9PJzp078fv9+oHwfw+qFVc2tWrV + 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 + BIAQQhiWBIAQQhiUBIAQQhiUBIAQQhiUBIAQQhiUBIAQQhiUBIAQQhiUBIAQQhiUBIAQQhiU + BIAQQhiUBIAQQhiUBIAQQhiUBIAQQhiUBIAQQhiUBIAQQhiUBIAQQhjUOf8nsNvtRv5hmBBC + /N8kVwBCCGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBC + CGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBC + CGFQEgBCCGFQEgBCCGFQEgBCCGFQFxUAmqbh8/n0n0AgcKnrRX5+Pmlpafj9/kte9sXyeDxs + 2LCB33777Q9dT2ZmJunp6aiq+oeuR1VVMjIyyMjI+EPXI4T4e7JczEK//fYbTz/9tP63yWQi + LCyMNm3acOONN+JwOKpdsZUrV7J+/XqWLFlCfHx8tcu7FIqLi3nhhRe44YYbaNiwYbXK0jSN + H3/8EU3TSE5OxmT6/1n8+OOP4/P5WLBgwSVpS03T2LVrFzabjZYtW+qvu91uHn/8cTRNY/Hi + xdVejxDin+WiAsDtdvPrr7/Srl074uPj8Xq9/PLLL7z66qsUFxczduzYalcsOTkZm82G0+ms + dln/q7y8nA8//JCGDRvSunXrS17++dA0jWXLlhEIBJg3b16lAOjatSuBQACz2XzJ1rVo0SJq + 1KjBM888o79usVjo2rXrJVmHEOKf56ICoEL//v3p0qULAF6vlzFjxrBlyxbGjh2LpmmUlZVx + 8uRJsrOzMZlMNGjQgFq1aqEoCnAqSFJTU8nLyyM8PJyEhAQiIiJQFIVWrVqRmJhIaGiovj6f + z8fx48dJTU0lPDycRo0aERoait/v58SJE6Snp2Oz2UhMTCQ6OvqsB1C/38/HH39Mt27dfjcA + XC4Xx44do7CwkKCgoCrdMj6fj19++YWjR48SFxdH06ZN9dBSVZWcnByOHTuG3+8nPj6euLg4 + rFYrR48exeVyoaoqR44cwWw2U7NmTcLCwujcuTOBQACbzQac6hLy+XxERUXx66+/kpOTQ8OG + DalTpw4mkwlN0ygqKuLkyZPk5OTgdDpJSkoiIiICv99PWloaXq+XsrIyDh8+DECtWrUIDg6m + U6dOlcIHoKCggAMHDlBcXEzDhg2pX78+FsupXSU/P5/CwkLi4+NJTU3l5MmTxMXF0aRJk0sW + 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 + AkAIIQxKAkAIIQxKAkAIIQzKcq6JJpNJ/im8EEL8H6VocoQXQghDki4gIYQwKAkAIYQwKAkA + IYQwKAkAIYQwKAkAIYQwKAkAIYQwKAkAIYQwKAkAIYQwKAkAIYQwKAkAIYQwKAkAIYQwKAkA + IYQwKAkAIYQwKAkAIYQwKAkAIYQwKAkAIYQwKAkAIYQwKAkAIYQwKAkAIYQwKAkAIYQwKAkA + IYQwKMvFLKRpGpqmVXrNZLq0WeJ2u/H5fISEhFzyso0iEAjgcrmwWCw4HI6/ujpCiL+ZiwqA + o0eP8tJLL+l/m81mIiIiuPzyy+nWrRs2m63aFXvttddYv349ixcvJj4+vtrlXWput5vU1FQS + EhIIDQ2tdnmappGWloamadSpUwdFUc57WVVVOXjwIDExMURHR+uvHzt2jIceeohOnToxfvz4 + atdRCPF/y0WdWhcVFfHNN9+QlZWF3++ntLSULVu28Oijj7Jq1apLUrH4+HiaN2+O1Wq9JOWd + zufzsWHDBn799deLLuPw4cMMHTqUPXv2XJI6aZrGnDlzeOqpp/D7/Re0rMfjYejQoXz88ceV + Xrfb7TRt2vRvGaBCiL/eRV0BVBg6dCjdunVDVVXy8/O55557+OSTTxgyZIg+T0FBAdnZ2ZjN + ZhITE6tcHeTm5pKXl0d4eDgxMTF6d0+/fv3o1asXwcHBleYvKSnh6NGjhIeHU7t2bX3+0tJS + MjIysNlsxMfHnzM4ysvLee211+jevTtJSUnn3MaysjLS09Ox2WzExcVhs9nw+XyUlZWhqipu + t5uSkhJMJhNOpxNFUVBVlczMTAoKCoiMjCQuLk4/o1dVFZfLRVBQEFarleLiYvx+v16uz+ej + tLQUi8WC3W7/3QCsCGBVVfF4PJSUlKAoCk6nk9jYWB566CG9DE3T9C4hTdP47bffCA4O1q84 + Tpw4QWFhIfXr16/U7qqqkpaWRnZ2Ng0aNCAqKuqCrlCEEH9P1QoARVEwm82YzWZCQ0OxWCxY + LKeK9Hg8TJ06lS1btmCxWPD7/URFRfHss8/SokULXC4XTz75JBs2bNCnJyQk8Oabb+JwOHjz + zTd58803+fTTTwkNDcXj8bB06VJWrFihH2T79evHQw89xMqVK3n99dfRNI1AIEBoaChz5swh + OTn5ordNVVXeffddXnnlFVRVJRAIEBISwlNPPcX333/PsmXLAJg2bRomk4mEhARef/110tPT + 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 + 798/F4vFQqtWrVi/fj1paWmEhITwxBNP/O5yv8dms3H77bczbdo0Ro4cSYsWLSgrK+PQoUPc + dNNNla6whBD/POYZFWMIL0AgENCHbcbExFC7dm3at2/PyJEj6dWrF2azmbi4OMLCwkhPT0dV + VW666Sbat29PbGwsV155JQkJCURERJCVlUVWVha1a9fm3nvvpWXLliiKgtvtJjQ0lJSUFCwW + C5GRkXTs2JFAIKCfIV977bW0aNGC+vXrk5eXR3p6Og6HgzvuuIPrrrsOs9l8xvqbTCZq1qx5 + zid4w8LCaNCgAXl5eZw8eRKHw8HNN9+s37S12+36cNaysjLi4+Np3749rVq1oqSkhKysLGJi + Yhg/fjwOh4PWrVtTr149ve3atWtHzZo1K62zYcOGhIaG6mP527dvT3BwMG63G4/Hc8afimG4 + bdq0oby8nLKyMkJDQ+natStmsxmv10vLli2pU6eO/txCcnKyPoLH7XYTHR1Nhw4d9PfW5/Nx + +eWXU6tWLRISErj88stxu93k5eURGhpK79696du37znvhQgh/v4U7VJ3HJ+mYtihoij6z/9O + r/g52zxnKvP0+wCKouh93+da1x+5DaqqVrp5evoyF9oVc/r3LHm9XsaMGcPJkyfPOv+sWbP0 + g3d11nu+9Tq93YUQ/2x/aACI6tE0jeLi4irPNJwuJCTkknz3khDCeCQAhBDCoOR7loUQwqAk + AIQQwqAkAIQQwqAkAIQQwqAkAIQQwqAkAIQQwqAkAIQQwqAkAIQQwqAkAIQQwqAkAIQQwqAk + AIQQwqAkAIQQwqAkAIQQwqAkAIQQwqAkAIQQwqAkAIQQwqAkAIQQwqAkAIQQwqAs55qoquqf + VQ8hhBB/snMGgNfrRf5lsBBC/N8kXUBCCGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBC + CGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBC + CGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBCCGFQEgBCCGFQEgDib8Pv95OZmUlZWdlf + XRXxJwsEAmRlZVFSUvJXV8VQLioA0tPTeeGFF/Sfl19+mbfeeosDBw4QCAQuScWWLVvGsGHD + yM7OviTlXWp+v5/CwkJ8Pt8lKU/TNEpLSyktLUXTtAtetrCwEI/HU+n1tLQ0xowZw9KlSy9J + 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 + 77md63TwxHl98uk1vfz0NpXNK9aQa1T14/v6ly6YpZMXrsrvD6in36nX9u/kYDAA+A58rVEQ + AIAnF/teAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ + BAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQBAAADEUAAMBQ/x9nQQPFfk8U7AAAAABJRU5E + rkJggg== + + + iVBORw0KGgoAAAANSUhEUgAAAYAAAAGACAYAAACkx7W/AAAACXBIWXMAAA7DAAAOwwHHb6hk + AAAgAElEQVR4nOzdd3RU953//+cUjTQjaWbUCwKBZEQV1TRjDLYwxXRw3BKvQ8omuz67m8Q5 + sfck2cWbnrPnZJON7STHXhfZ1MX0ZlOFjDAIECpIQh31OpJGGk2f3x/6cb8IUW1A2dz34xwf + M3fu537e987Mfd3P58KMJhAIBBBCCKE62qEuQAghxNCQABBCCJWSABBCCJWSABBCqE5DQ8NQ + l/BXQQJACCFUSgJACCFUSgJACCFUSgJACCFUSgJACCFUSgJACCFUSgJACCFUSgJACCFUSgJA + CCFUSgJACCFUSgJACCFUSgJACCFUSgJACCFUSgJACCFUSgJACCFUSgJACCFUSgJACCFUSgJA + CCFUSgJACCFUSgJACCFUSgJACCFUSgJACCFUSgJACCFUSgJACCFUSgJACCFUSgJACCFUSgJA + CCFUSgJACCFUSgJACCFUSgJACCFUSgJACCFUSgJACCFUSgJACCFUSgJACCFUSgJACCFUSgJA + CCFUSgJACCFUSgJACCFUSj/UBQghxP81RUVFNDQ0MGbMGEaMGDFkdXR0dHD27FmioqKYNm0a + Wu3dXdPLCEAIIe7C9u3b+eMf/0hlZSU//elPCQQCQ1JHTU0N69evp6SkhJ07d9LT03PX29AE + hqp6IYQYIg0NDSQmJn6htj/72c8YO3YsTz/9NBqNBoDXX3+dV155BYfDwQcffMAPf/hDtm7d + yp49e4iPj+dXv/oVv/3tbykuLmbBggWsWbOG//iP/6C7u5s1a9awYsUK/vM//5OSkhJCQ0P5 + /e9/P+jx73//e2bPns2sWbMA+PnPf86UKVNYvny5UtuePXvYtGkTYWFh/PSnP6W3t5fs7Gwa + GhqYMWMGJ06cICMjg+PHj/PKK6/IFJAQQtyNF198kQ0bNrB161bWr1/PU089RWVlJT6fD7fb + TU1NDfX19ezatYt33nkHj8fDwYMHCQQCfPDBB/T09JCZmUlGRgaLFy/mhRde4Mknn+To0aO8 + ++67aDQaXC7XgMcAGRkZxMbGKnXU1NTw4osvKo/7+vr4n//5Hz766CPOnTvHn/70J9auXUtm + Zib/9E//xGOPPcZbb72FVqvl5ZdfZvPmzRIAQghxN0aOHMl7771HRUUFP/jBD5g8efKgdZqa + mhgzZgwhISGEhITQ0NDAlClT0Gg0hIeH09zcTGFhITk5OcTHx+P3+3n55ZfZsGEDfr+f3/3u + d4MeT5w4cUAfUVFR1NXVkZycDPTfD0hISMBkMjF+/Hjee+89ABYsWMDTTz8NgFar5fXXXyco + KIjm5mYJACGEuBvvvPMOCQkJhIeHo9VqMRqN6PV6srOzaWpqAmD06NHk5eVx6tQpnE4n06dP + 549//CPDhg3D7XYzYcIECgsLef755yksLMTj8eB0Ovn+97/Pr371KyoqKgY8bmlpITc3l/Hj + xzN+/HgA1q1bx29/+1vcbjetra0sXryY5uZmTp8+TW5uLunp6QAYDAaldq1WS1BQEAATJkxA + t2HDhg0P9vAJIcTQstvthIeHf6G2YWFhnD9/nrq6Or75zW8ycuRIEhMTycnJYdSoUaSlpTFx + 4kSmTZvGiRMn0Gg0LFq0iKioKD777DPi4+NZtGgRXV1dnDlzhri4OMaPH09RURGnTp3iscce + Y86cOQMez5o1i9raWmJjY4mMjARg2LBhjB49mlOnTqHX65k2bRqzZs3iwIEDmM1mvvGNb6DX + 6wkPD1dGCYAykhg7dqzcBBZCqM+XuQn8t0T+GqgQQqiUBIAQQqiUBIAQQqiUBIAQQqiUBIAQ + QqiUBIAQQqiUBIAQQqiUBIAQQqiUBIAQQqiUBIAQQqiUBIAQQqiUBIAQQqiUBIAQQqiUBIAQ + QqiUBIAQQqiUBIAQQqiUBIAQQqiUBIAQQqiUBIAQQqiUBIAQQqiUBIAQQqiUBIAQQqiUBIAQ + QqiUBIAQQqiUBIAQQqiUBIAQQqiUBIAQQqiUBIAQQqiUBIAQQqiUJhAIBK5d0NDQMFS1CCHE + A6HT6TCZTENdxpAbFABCCPG3zm63Ex4ePtRlDDmZAhJCCJWSABBCCJWSABBCCJWSABBCCJWS + ABBCCJWSABBCCJWSABBCCJWSABBCCJWSABBCCJWSABBCCJW6ZQB0dXVx+vRpfD4fAGVlZfT2 + 9t51J5s2bcJut3+xCq/jdDp58803yczMBKCjo4PTp08r/507d+6e9PO3pru7m/z8fDweD36/ + f8Bzbrf7C23T7/fj8XjuRXn3VSAQ+ML7eL/U1NRQW1s71GUIlbtlAJSUlPDP//zPHDp0CIB3 + 332Xurq6u+7k+PHjOJ3OL1bhdQ4ePEhHRwdPPvkkAO3t7Zw6dYrf/va37Ny5k7Nnz96Tfh6E + lpYW3nnnHbZu3UpmZiZNTU131K6qqoqioqK76mvPnj2kpqZy6tQpWlpaBjy3Y8eO27b3eDx8 + 8sknA5a1t7eTlZV1V3XcbzeqMxAIsHPnziGq6MaGDx/Op59+OiiMhXiQdBs2bNhwsyfr6+tx + Op1kZ2ezevVqjh07xpQpUzhy5AhOp5PExEReffVVnnzySX7961+zY8cO/vznP1NTU8Obb77J + sWPHWLJkCfv27ePUqVO8//77WCwWUlNT+ctf/sKbb77JmTNneOyxx3j33XdpaWnhl7/8JYsW + LSIoKIjOzk5ee+01PvjgAzo7O4mJieEXv/gFTU1NdHd3M2fOHKKiopgzZw55eXk888wzrFix + YlC7adOm8frrr/Pwww/T2dnJW2+9xSOPPMJrr71GW1sbn376KYFAgNdff53du3czYsQI4uPj + 7/vBt9lsaDQali1bRlpaGvv372fSpEm0tbVRXV2NwWAgJCQEr9dLWVkZTqcTs9mMyWTCbDZj + MBhwuVxUVlai0+kIDg6mpqaGtrY2LBYLWm1/vre3t9PY2MikSZOoqakhLCyM+vp65RsRi4qK + GDZsGOXl5VgsFvR6/aBadTodkZGRGI1G/H4/FRUVtLS04HQ6SUlJGbCu3++no6OD6upqfD4f + YWFhQP9orby8HLPZTFBQEDabDb1eT2NjI+Hh4YNqb2lpobKyUqnJZrPhdDoHbONWdQYCAa5c + uUJbWxtNTU1MmDBh0PodHR1cuXIFh8OBxWLB5XLhcrkwGAx0d3ej0+no7e1Fp9PR1NREUFAQ + XV1dg/bt+lqdTidlZWX4/X5lnYqKCjo6OoiMjESj0eB2u+nu7iY2NvbLvZHEXXO73QQHBw91 + GUPutvcAoqKimD59+oCrqubmZrq7u4H+aSHovyr9zne+w7/8y79gs9n44IMPaG9vp7OzE4Dv + fe97/O53v+PNN9/kypUrnD9/nrfffpuoqChOnjxJXV0dmZmZfP/731demM2bNzNr1iw++OAD + srOz8fv9PPvss7zwwgv84Ac/uGnN17erqamhsrISn8+H2+2mpqYGgKysLKqqqvja177G3r17 + Wb16NW+88QbJyclf8HDePZvNRkVFBZ9++iljx44lEAiQm5uL3+9n48aNuFwu/vd//xeHw0F5 + eTmdnZ1cuXKF4uJiXC4X7733Hg6Hg+LiYnJycigrK6Ozs5PKykqlj5KSEiZOnKg8zs7Oxuv1 + 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 + SURBVNfX09vbO2h7ZrOZ8vJyysvLb3qi7unpobKykp6enjs6HhMmTKC3t5fhw4fj9XoHTSsJ + Ie4dTUAusR4oh8Oh/NnlciknebPZrEzDlJeX43Q6SUxMJCwsDJfLRUVFBWazmZSUFPr6+vD5 + fISFhdHb20tVVRVxcXFYrVYuX75MIBBg3Lhx6HS629ZTV1dHS0sLKSkpWK1W3G43JSUlJCQk + YDabuXTpEjExMQQHBxMTE0NraysxMTED2ttsNoxGIzU1NQO2vWDBAux2OzU1NYwePRqn04nF + YsHpdKLRaDCZTMr2XC4XLpcLs9lMc3MzLS0tDB8+HKvVei8OuxAD9Pb2EhoaOtRlDDkJgAfs + 2gAQQgwNCYB+Mr4WQgiVkgAQQgiVkgAQQgiVkgAQQgiVkgAQQgiVkgAQQgiVkgAQQgiVkgAQ + QgiVkgAQQgiVkgAQQgiVkq+DfsDky82EGHparVY+i0gAPHB38pOPQoj7y+PxyGcRmQISQgjV + kgAQQgiVkgAQQgiVkgAQQgiVkgAQQgiVkgAQQgiVkgAQQgiVkgAQQgiVkgAQQgiVkgAQQgiV + kgAQQgiVkgAYQoFAAK/Xi8/nu6t2Pp8Pr9d7n6q6fzweD36//772UVdXd0+28yBqvdat3gdf + 5D1yI21tbfT19d11uy/zfvP7/Xg8ni/UVtx/EgBDqL6+njfeeIOdO3fy9ttvU1BQcMftysvL + 77q/pqam266Tk5Nzx9trb2/n8uXLd7y98+fPY7fb73j7N9Lc3HzL57Ozs7/wtu9VrXdynK9X + Wlp603a3eu5avb29t6y5tLSUtra2O6rn2mNxt++3nJwcAoEAAJ2dnVy8ePGO24oHS7dhw4YN + Q12EWnV3dxMcHMzSpUtJT0/nyJEjpKenk5OTw7lz5/B6vcTGxtLa2sqRI0eor69n2LBhaLVa + 9Ho9YWFh1NbWkpWVhdvtxmKxcPToUUpKSoiOjsZoNA7o79ChQ4wfP37Asry8PE6fPo3P56O3 + t5cDBw7gcDgIBAJotVpOnDhBcXExMTExGI1GLl++jMfjIT8/n4KCAoqLi+no6GDUqFFoNJoB + 2z5//jzHjx/H4XBgtVrR6/VERkZis9m4dOkSn3/+OW63m8uXL3PhwgWSk5PR6/XK/kdFRREa + GnrbffD7/Zw+fZrz58/T3t7Oww8/TGlpKdHR0Xi9XqqqqrBYLFRWVtLc3ExbWxsOh4OTJ09S + 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 + 1EFP4Ccz7QAAAABJRU5ErkJggg== + + + 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 + +v+M44yXw2HWuAAAAABJRU5ErkJggg== + + +
diff --git a/notebooks/tour-mode-choice-sameness-assessment.ipynb b/notebooks/tour-mode-choice-sameness-assessment.ipynb new file mode 100644 index 0000000..ec06c53 --- /dev/null +++ b/notebooks/tour-mode-choice-sameness-assessment.ipynb @@ -0,0 +1,1150 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "bc52a044", + "metadata": {}, + "outputs": [], + "source": [ + "import polars as pl\n", + "from IPython.display import display\n", + "import os" + ] + }, + { + "cell_type": "markdown", + "id": "fde9214a", + "metadata": {}, + "source": [ + "### Parameters" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "f2cfccbc", + "metadata": {}, + "outputs": [], + "source": [ + "SAMENESS_MONTE_CARLO_WORD = \"Basics + tour_type_num\"\n", + "SAMENESS_BASICS_WORD = \"Basics\"\n", + "SAMENESS_START_TIME_WORD = \"Basics + start_time\"\n", + "SAMENESS_SCHEDULE_LOCATION_WORD = \"Basics + start_time + duration + origin + destination\"\n", + "SAMENESS_DESTINATION_WORD = \"Basics + destination\"" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "b0c72f19", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'/Users/wsp/Documents/GitHub/asim_eet_viz'" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "os.getcwd()" + ] + }, + { + "cell_type": "markdown", + "id": "6fc60c73", + "metadata": {}, + "source": [ + "### Remote I/O" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "ee9b8290", + "metadata": {}, + "outputs": [], + "source": [ + "input_dir = \"./input/tour-mc-data/\"\n", + "output_dir = \"./notebooks/\"\n", + "\n", + "base_dir_name = \"base\"\n", + "build_dir_name = \"build-transit\"\n", + "\n", + "eet_dir_name = \"eet\"\n", + "mc_same_dir_name = \"mc_same_seed\"\n", + "\n", + "tour_file_name = \"final_tours.csv\"\n", + "\n", + "output_file = os.path.join(output_dir, \"tour-mc-investigation-for-tableau.csv\")" + ] + }, + { + "cell_type": "markdown", + "id": "15968903", + "metadata": {}, + "source": [ + "### Data Reads" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "e596feda", + "metadata": {}, + "outputs": [], + "source": [ + "df_list = {}\n", + "\n", + "column_types = {\n", + " \"person_id\": pl.Float64,\n", + " \"tour_type\": pl.Utf8,\n", + " \"tour_type_count\": pl.Float64,\n", + " \"tour_type_num\": pl.Float64,\n", + " \"tour_num\": pl.Float64,\n", + " \"tour_count\": pl.Float64,\n", + " \"tour_category\": pl.Utf8,\n", + " \"number_of_participants\": pl.Float64,\n", + " \"destination\": pl.Float64,\n", + " \"origin\": pl.Float64,\n", + " \"household_id\": pl.Float64,\n", + " \"start\": pl.Float64,\n", + " \"end\": pl.Float64,\n", + " \"duration\": pl.Float64,\n", + " \"school_esc_outbound\": pl.Utf8,\n", + " \"school_esc_inbound\": pl.Utf8,\n", + " \"num_escortees\": pl.Float64,\n", + " \"tdd\": pl.Float64,\n", + " \"tour_id_temp\": pl.Float64,\n", + " \"composition\": pl.Utf8,\n", + " \"is_external_tour\": pl.Boolean,\n", + " \"is_internal_tour\": pl.Boolean,\n", + " \"destination_logsum\": pl.Float64,\n", + " \"vehicle_occup_1\": pl.Utf8,\n", + " \"vehicle_occup_2\": pl.Utf8,\n", + " \"vehicle_occup_3.5\": pl.Utf8,\n", + " \"tour_mode\": pl.Utf8,\n", + " \"mode_choice_logsum\": pl.Float64,\n", + " \"selected_vehicle\": pl.Utf8,\n", + " \"atwork_subtour_frequency\": pl.Utf8,\n", + " \"parent_tour_id\": pl.Float64,\n", + " \"stop_frequency\": pl.Utf8,\n", + " \"primary_purpose\": pl.Utf8,\n", + " \"tour_id\": pl.Int64,\n", + "}\n", + "\n", + "\n", + "for scen_name in [base_dir_name, build_dir_name]:\n", + " for sim_type_name in [eet_dir_name, mc_same_dir_name]:\n", + " in_file = os.path.join(input_dir, scen_name, sim_type_name, tour_file_name)\n", + " \n", + " df = pl.read_csv(in_file, schema_overrides=column_types)\n", + " \n", + " df = df.with_columns(\n", + " pl.lit(scen_name).alias(\"scenario\"),\n", + " pl.lit(sim_type_name).alias(\"simulation_type\")\n", + " )\n", + " \n", + " df_list[f\"{scen_name}--{sim_type_name}\"] = df" + ] + }, + { + "cell_type": "markdown", + "id": "e42ea0f3", + "metadata": {}, + "source": [ + "### Reductions" + ] + }, + { + "cell_type": "markdown", + "id": "494e9ac2", + "metadata": {}, + "source": [ + "#### EET Reductions" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "adbe0a47", + "metadata": {}, + "outputs": [], + "source": [ + "eet_base_df = df_list[f\"{base_dir_name}--{eet_dir_name}\"].select(\n", + " pl.col(\"household_id\").alias(\"base_household_id\"),\n", + " pl.col(\"person_id\").alias(\"base_person_id\"),\n", + " pl.col(\"tour_type\").alias(\"base_tour_type\"),\n", + " pl.col(\"primary_purpose\").alias(\"base_primary_purpose\"),\n", + " pl.col(\"tour_type_num\").alias(\"base_tour_type_num\"),\n", + " pl.col(\"tour_type_count\").alias(\"base_tour_type_count\"),\n", + " pl.col(\"tour_id\").alias(\"base_tour_id\"),\n", + " pl.col(\"tour_mode\").alias(\"base_tour_mode\"),\n", + " pl.col(\"duration\").alias(\"base_duration\"),\n", + " pl.col(\"start\").alias(\"base_start_time_index\"),\n", + " pl.col(\"end\").alias(\"base_end_time_index\"),\n", + " pl.col(\"origin\").alias(\"base_origin\"),\n", + " pl.col(\"destination\").alias(\"base_destination\"),\n", + ").with_row_index(name=\"base_unique_id\", offset = 1).sort(\"base_unique_id\")\n", + "\n", + "\n", + "eet_build_df = df_list[f\"{build_dir_name}--{eet_dir_name}\"].select(\n", + " pl.col(\"household_id\").alias(\"build_household_id\"),\n", + " pl.col(\"person_id\").alias(\"build_person_id\"),\n", + " pl.col(\"tour_type\").alias(\"build_tour_type\"),\n", + " pl.col(\"primary_purpose\").alias(\"build_primary_purpose\"),\n", + " pl.col(\"tour_type_num\").alias(\"build_tour_type_num\"),\n", + " pl.col(\"tour_type_count\").alias(\"build_tour_type_count\"),\n", + " pl.col(\"tour_id\").alias(\"build_tour_id\"),\n", + " pl.col(\"tour_mode\").alias(\"build_tour_mode\"),\n", + " pl.col(\"duration\").alias(\"build_duration\"),\n", + " pl.col(\"start\").alias(\"build_start_time_index\"),\n", + " pl.col(\"end\").alias(\"build_end_time_index\"),\n", + " pl.col(\"origin\").alias(\"build_origin\"),\n", + " pl.col(\"destination\").alias(\"build_destination\"),\n", + ").with_row_index(name=\"build_unique_id\", offset = 1).sort(\"build_unique_id\") # `with_row_count` generates 0-indexed row numbers" + ] + }, + { + "cell_type": "markdown", + "id": "bd77b083", + "metadata": {}, + "source": [ + "#### Free up some memory -- No Monte Carlo for now" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "a260f6cf", + "metadata": {}, + "outputs": [], + "source": [ + "del df_list" + ] + }, + { + "cell_type": "markdown", + "id": "f2190709", + "metadata": {}, + "source": [ + "#### Identify tours with the same error terms" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "80a80f78", + "metadata": {}, + "outputs": [], + "source": [ + "same_error_df = eet_base_df.join(\n", + " eet_build_df,\n", + " left_on=\"base_tour_id\",\n", + " right_on=\"build_tour_id\",\n", + " how=\"left\", \n", + ").select(\n", + " pl.col(\"base_unique_id\"),\n", + " pl.col(\"build_unique_id\"),\n", + " pl.col(\"base_tour_id\").alias(\"error_term_id\")\n", + ")\n", + "\n", + "base_error_term_in_build_df = eet_base_df.select(\n", + " pl.col(\"base_unique_id\"),\n", + " pl.col(\"base_tour_id\").alias(\"error_term_id\")\n", + ").with_columns(\n", + " pl.col(\"error_term_id\").is_in(pl.Series(eet_build_df[\"build_tour_id\"]).implode()).alias(\"error_term_present_in_build\")\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "c838ac82", + "metadata": {}, + "source": [ + "#### Method to Assess Sameness across Different Definitions" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "be564af6", + "metadata": {}, + "outputs": [], + "source": [ + "def process_sameness(base_df, build_df, join_cols, sameness_word, same_error_df, base_error_term_in_build_df):\n", + "\n", + " temp_df = base_df.join(\n", + " build_df,\n", + " left_on=[col[0] for col in join_cols],\n", + " right_on=[col[1] for col in join_cols],\n", + " how=\"left\", \n", + " suffix=\"_build_join\",\n", + " coalesce=False\n", + " ).with_columns(\n", + " pl.col(\"build_unique_id\").is_null().alias(\"nothing_comparable_in_build\")\n", + " ).with_columns(\n", + " pl.col(\"build_unique_id\").fill_null(0)\n", + " ).join(\n", + " same_error_df,\n", + " on=[\"base_unique_id\", \"build_unique_id\"],\n", + " how=\"left\"\n", + " ).with_columns(\n", + " pl.col(\"error_term_id\").is_not_null().alias(\"same_error_term\")\n", + " ).join(\n", + " base_error_term_in_build_df,\n", + " on=\"base_unique_id\",\n", + " how=\"left\"\n", + " ).with_columns(\n", + " pl.lit(sameness_word).alias(\"sameness_definition\")\n", + " )\n", + "\n", + " # Estimate likely iia violations\n", + " iia_violations_df = temp_df.sort(\n", + " pl.col(\"base_unique_id\"),\n", + " pl.col(\"same_error_term\").cast(pl.Int32).neg(), \n", + " pl.col(\"build_unique_id\")\n", + " ).group_by(\n", + " pl.col(\"base_unique_id\")\n", + " ).agg(\n", + " pl.len().alias(\"iia_violations\"),\n", + " pl.col(\"build_unique_id\").first().alias(\"build_unique_id\"),\n", + " ).with_columns(\n", + " pl.col(\"iia_violations\").fill_null(0) \n", + " ).with_columns(\n", + " pl.col(\"build_unique_id\").fill_null(0)\n", + " )\n", + "\n", + " # Count the number uf unique error terms likely to have\n", + " unique_error_terms_count = base_df.select(\n", + " *[pl.col(col[0]) for col in join_cols]\n", + " ).unique().shape[0]\n", + " \n", + " total_base_rows = base_df.shape[0]\n", + " unique_error_terms_percentage = unique_error_terms_count / total_base_rows if total_base_rows > 0 else 0\n", + "\n", + " result_df = temp_df.join(\n", + " iia_violations_df,\n", + " on=[\"base_unique_id\", \"build_unique_id\"],\n", + " how=\"left\"\n", + " ).filter(\n", + " pl.col(\"iia_violations\").is_not_null()\n", + " ).with_columns(\n", + " (pl.col(\"iia_violations\") - 1).alias(\"iia_violations\"),\n", + " pl.lit(unique_error_terms_percentage).alias(\"unique_error_terms\")\n", + " )\n", + " \n", + " return result_df" + ] + }, + { + "cell_type": "markdown", + "id": "f08d56dd", + "metadata": {}, + "source": [ + "#### Sameness Definition 1: By household_id, person_id, tour_type, primary_purpose, and tour_type_num" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "ceea26a0", + "metadata": {}, + "outputs": [], + "source": [ + "join_cols = [\n", + " (\"base_household_id\", \"build_household_id\"),\n", + " (\"base_person_id\", \"build_person_id\"),\n", + " (\"base_tour_type\", \"build_tour_type\"),\n", + " (\"base_primary_purpose\", \"build_primary_purpose\"),\n", + " (\"base_tour_type_num\", \"build_tour_type_num\")\n", + "]\n", + "same_01_df = process_sameness(eet_base_df, eet_build_df, join_cols, SAMENESS_MONTE_CARLO_WORD, same_error_df, base_error_term_in_build_df)" + ] + }, + { + "cell_type": "markdown", + "id": "35ad6a51", + "metadata": {}, + "source": [ + "#### Sameness Definition 2: By household_id, person_id, tour_type, primary_purpose, and start_time" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "e607b98b", + "metadata": {}, + "outputs": [], + "source": [ + "join_cols = [\n", + " (\"base_household_id\", \"build_household_id\"),\n", + " (\"base_person_id\", \"build_person_id\"),\n", + " (\"base_tour_type\", \"build_tour_type\"),\n", + " (\"base_primary_purpose\", \"build_primary_purpose\"),\n", + " (\"base_start_time_index\", \"build_start_time_index\")\n", + "]\n", + "same_02_df = process_sameness(eet_base_df, eet_build_df, join_cols, SAMENESS_START_TIME_WORD, same_error_df, base_error_term_in_build_df)" + ] + }, + { + "cell_type": "markdown", + "id": "8c156a2e", + "metadata": {}, + "source": [ + "#### Sameness Definition 3: By household_id, person_id, tour_type, primary_purpose, start_time, duration, origin, and destination" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "2f1942c7", + "metadata": {}, + "outputs": [], + "source": [ + "join_cols = [\n", + " (\"base_household_id\", \"build_household_id\"),\n", + " (\"base_person_id\", \"build_person_id\"),\n", + " (\"base_tour_type\", \"build_tour_type\"),\n", + " (\"base_primary_purpose\", \"build_primary_purpose\"),\n", + " (\"base_start_time_index\", \"build_start_time_index\"),\n", + " (\"base_duration\", \"build_duration\"),\n", + " (\"base_origin\", \"build_origin\"),\n", + " (\"base_destination\", \"build_destination\")\n", + "]\n", + "same_03_df = process_sameness(eet_base_df, eet_build_df, join_cols, SAMENESS_SCHEDULE_LOCATION_WORD, same_error_df, base_error_term_in_build_df)" + ] + }, + { + "cell_type": "markdown", + "id": "6ae9975e", + "metadata": {}, + "source": [ + "#### Sameness Definition 4: By household_id, person_id, tour_type, primary_purpose, and destination" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "5fe3cda8", + "metadata": {}, + "outputs": [], + "source": [ + "join_cols = [\n", + " (\"base_household_id\", \"build_household_id\"),\n", + " (\"base_person_id\", \"build_person_id\"),\n", + " (\"base_tour_type\", \"build_tour_type\"),\n", + " (\"base_primary_purpose\", \"build_primary_purpose\"),\n", + " (\"base_destination\", \"build_destination\")\n", + "]\n", + "same_04_df = process_sameness(eet_base_df, eet_build_df, join_cols, SAMENESS_DESTINATION_WORD, same_error_df, base_error_term_in_build_df)" + ] + }, + { + "cell_type": "markdown", + "id": "cb7181d2", + "metadata": {}, + "source": [ + "#### Sameness Definition 5: By household_id, person_id, tour_type, primary_purpose" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "48bbfa10", + "metadata": {}, + "outputs": [], + "source": [ + "join_cols = [\n", + " (\"base_household_id\", \"build_household_id\"),\n", + " (\"base_person_id\", \"build_person_id\"),\n", + " (\"base_tour_type\", \"build_tour_type\"),\n", + " (\"base_primary_purpose\", \"build_primary_purpose\")\n", + "]\n", + "same_05_df = process_sameness(eet_base_df, eet_build_df, join_cols, SAMENESS_BASICS_WORD, same_error_df, base_error_term_in_build_df)" + ] + }, + { + "cell_type": "markdown", + "id": "1c3f878d", + "metadata": {}, + "source": [ + "#### Consolidate Sameness Results" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "2d5e07ef", + "metadata": {}, + "outputs": [], + "source": [ + "output_df = pl.concat([same_01_df, same_02_df, same_03_df, same_04_df, same_05_df])\n", + "output_df = output_df.with_columns(\n", + " (pl.col(\"base_tour_id\") == pl.col(\"build_tour_id\")).alias(\"is_tour_id_same\"),\n", + " (pl.col(\"base_duration\") == pl.col(\"build_duration\")).alias(\"is_duration_same\"),\n", + " (pl.col(\"base_tour_type_num\") == pl.col(\"build_tour_type_num\")).alias(\"is_tour_type_num_same\"),\n", + " (pl.col(\"base_start_time_index\") == pl.col(\"build_start_time_index\")).alias(\"is_start_time_same\"),\n", + " (pl.col(\"base_end_time_index\") == pl.col(\"build_end_time_index\")).alias(\"is_end_time_same\"),\n", + " pl.when(pl.col(\"same_error_term\"))\n", + " .then(pl.lit(\"Success: Correct match to build\"))\n", + " .when(~pl.col(\"same_error_term\") & pl.col(\"error_term_present_in_build\"))\n", + " .then(pl.lit(\"Failure: Incorrect match to build\"))\n", + " .when(~pl.col(\"same_error_term\") & ~pl.col(\"error_term_present_in_build\") & pl.col(\"nothing_comparable_in_build\"))\n", + " .then(pl.lit(\"Success: Nothing comparable in build\"))\n", + " .when(~pl.col(\"same_error_term\") & ~pl.col(\"error_term_present_in_build\") & ~pl.col(\"nothing_comparable_in_build\"))\n", + " .then(pl.lit(\"Failure: Error term not generated in build\"))\n", + " .otherwise(pl.lit(\"ERROR\")).alias(\"eet_performance\")\n", + ")\n" + ] + }, + { + "cell_type": "markdown", + "id": "b9960eef", + "metadata": {}, + "source": [ + "#### High-level Outcome" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "38e57ebb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Sameness Definition vs EET Performance:'" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "shape: (20, 3)
sameness_definitioneet_performancelen
strstru32
"Basics""Failure: Error term not generated in build"6284
"Basics""Failure: Incorrect match to build"4
"Basics""Success: Correct match to build"4500845
"Basics""Success: Nothing comparable in build"3872
"Basics + destination""Failure: Error term not generated in build"1589
"Basics + destination""Failure: Incorrect match to build"74225
"Basics + destination""Success: Correct match to build"4426624
"Basics + destination""Success: Nothing comparable in build"8567
"Basics + start_time""Failure: Error term not generated in build"1032
"Basics + start_time""Failure: Incorrect match to build"38665
"Basics + start_time""Success: Correct match to build"4462184
"Basics + start_time""Success: Nothing comparable in build"9124
"Basics + start_time + duration + origin + destination""Failure: Error term not generated in build"374
"Basics + start_time + duration + origin + destination""Failure: Incorrect match to build"97377
"Basics + start_time + duration + origin + destination""Success: Correct match to build"4403472
"Basics + start_time + duration + origin + destination""Success: Nothing comparable in build"9782
"Basics + tour_type_num""Failure: Error term not generated in build"3058
"Basics + tour_type_num""Failure: Incorrect match to build"2243
"Basics + tour_type_num""Success: Correct match to build"4498606
"Basics + tour_type_num""Success: Nothing comparable in build"7098
" + ], + "text/plain": [ + "shape: (20, 3)\n", + "┌───────────────────────────────────────────┬──────────────────────────────────────┬─────────┐\n", + "│ sameness_definition ┆ eet_performance ┆ len │\n", + "│ --- ┆ --- ┆ --- │\n", + "│ str ┆ str ┆ u32 │\n", + "╞═══════════════════════════════════════════╪══════════════════════════════════════╪═════════╡\n", + "│ Basics ┆ Failure: Error term not generated in ┆ 6284 │\n", + "│ ┆ build ┆ │\n", + "│ Basics ┆ Failure: Incorrect match to build ┆ 4 │\n", + "│ Basics ┆ Success: Correct match to build ┆ 4500845 │\n", + "│ Basics ┆ Success: Nothing comparable in build ┆ 3872 │\n", + "│ Basics + destination ┆ Failure: Error term not generated in ┆ 1589 │\n", + "│ ┆ build ┆ │\n", + "│ Basics + destination ┆ Failure: Incorrect match to build ┆ 74225 │\n", + "│ Basics + destination ┆ Success: Correct match to build ┆ 4426624 │\n", + "│ Basics + destination ┆ Success: Nothing comparable in build ┆ 8567 │\n", + "│ Basics + start_time ┆ Failure: Error term not generated in ┆ 1032 │\n", + "│ ┆ build ┆ │\n", + "│ Basics + start_time ┆ Failure: Incorrect match to build ┆ 38665 │\n", + "│ Basics + start_time ┆ Success: Correct match to build ┆ 4462184 │\n", + "│ Basics + start_time ┆ Success: Nothing comparable in build ┆ 9124 │\n", + "│ Basics + start_time + duration + origin + ┆ Failure: Error term not generated in ┆ 374 │\n", + "│ destination ┆ build ┆ │\n", + "│ Basics + start_time + duration + origin + ┆ Failure: Incorrect match to build ┆ 97377 │\n", + "│ destination ┆ ┆ │\n", + "│ Basics + start_time + duration + origin + ┆ Success: Correct match to build ┆ 4403472 │\n", + "│ destination ┆ ┆ │\n", + "│ Basics + start_time + duration + origin + ┆ Success: Nothing comparable in build ┆ 9782 │\n", + "│ destination ┆ ┆ │\n", + "│ Basics + tour_type_num ┆ Failure: Error term not generated in ┆ 3058 │\n", + "│ ┆ build ┆ │\n", + "│ Basics + tour_type_num ┆ Failure: Incorrect match to build ┆ 2243 │\n", + "│ Basics + tour_type_num ┆ Success: Correct match to build ┆ 4498606 │\n", + "│ Basics + tour_type_num ┆ Success: Nothing comparable in build ┆ 7098 │\n", + "└───────────────────────────────────────────┴──────────────────────────────────────┴─────────┘" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pl.Config.set_tbl_rows(50)\n", + "pl.Config.set_tbl_cols(50)\n", + "pl.Config.set_fmt_str_lengths(75)\n", + "\n", + "display(\"Sameness Definition vs EET Performance:\")\n", + "display(output_df.group_by(\"sameness_definition\", \"eet_performance\").agg(pl.len()).sort(\"sameness_definition\", \"eet_performance\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "51bc7c4e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Sameness Definition vs IIA Violations:'" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "shape: (24, 3)
sameness_definitioniia_violationslen
stru32u32
"Basics"03218333
"Basics"1843129
"Basics"2191296
"Basics"3159320
"Basics"461221
"Basics"529503
"Basics"65344
"Basics"72081
"Basics"8580
"Basics"9198
"Basics + destination"03918378
"Basics + destination"1568896
"Basics + destination"213843
"Basics + destination"39008
"Basics + destination"4653
"Basics + destination"5227
"Basics + start_time"04448254
"Basics + start_time"161200
"Basics + start_time"21503
"Basics + start_time"348
"Basics + start_time + duration + origin + destination"04510132
"Basics + start_time + duration + origin + destination"1873
"Basics + tour_type_num"04510379
"Basics + tour_type_num"1626
" + ], + "text/plain": [ + "shape: (24, 3)\n", + "┌───────────────────────────────────────────────────────┬────────────────┬─────────┐\n", + "│ sameness_definition ┆ iia_violations ┆ len │\n", + "│ --- ┆ --- ┆ --- │\n", + "│ str ┆ u32 ┆ u32 │\n", + "╞═══════════════════════════════════════════════════════╪════════════════╪═════════╡\n", + "│ Basics ┆ 0 ┆ 3218333 │\n", + "│ Basics ┆ 1 ┆ 843129 │\n", + "│ Basics ┆ 2 ┆ 191296 │\n", + "│ Basics ┆ 3 ┆ 159320 │\n", + "│ Basics ┆ 4 ┆ 61221 │\n", + "│ Basics ┆ 5 ┆ 29503 │\n", + "│ Basics ┆ 6 ┆ 5344 │\n", + "│ Basics ┆ 7 ┆ 2081 │\n", + "│ Basics ┆ 8 ┆ 580 │\n", + "│ Basics ┆ 9 ┆ 198 │\n", + "│ Basics + destination ┆ 0 ┆ 3918378 │\n", + "│ Basics + destination ┆ 1 ┆ 568896 │\n", + "│ Basics + destination ┆ 2 ┆ 13843 │\n", + "│ Basics + destination ┆ 3 ┆ 9008 │\n", + "│ Basics + destination ┆ 4 ┆ 653 │\n", + "│ Basics + destination ┆ 5 ┆ 227 │\n", + "│ Basics + start_time ┆ 0 ┆ 4448254 │\n", + "│ Basics + start_time ┆ 1 ┆ 61200 │\n", + "│ Basics + start_time ┆ 2 ┆ 1503 │\n", + "│ Basics + start_time ┆ 3 ┆ 48 │\n", + "│ Basics + start_time + duration + origin + destination ┆ 0 ┆ 4510132 │\n", + "│ Basics + start_time + duration + origin + destination ┆ 1 ┆ 873 │\n", + "│ Basics + tour_type_num ┆ 0 ┆ 4510379 │\n", + "│ Basics + tour_type_num ┆ 1 ┆ 626 │\n", + "└───────────────────────────────────────────────────────┴────────────────┴─────────┘" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "display(\"Sameness Definition vs IIA Violations:\")\n", + "display(output_df.group_by(\"sameness_definition\", \"iia_violations\").len().sort(\"sameness_definition\", \"iia_violations\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "0e7c8402", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Sameness Definition vs Unique Error Terms:'" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "shape: (5, 2)
sameness_definitionunique_error_terms
strf64
"Basics"0.833356
"Basics + destination"0.929703
"Basics + start_time"0.992803
"Basics + start_time + duration + origin + destination"0.999894
"Basics + tour_type_num"0.999931
" + ], + "text/plain": [ + "shape: (5, 2)\n", + "┌───────────────────────────────────────────────────────┬────────────────────┐\n", + "│ sameness_definition ┆ unique_error_terms │\n", + "│ --- ┆ --- │\n", + "│ str ┆ f64 │\n", + "╞═══════════════════════════════════════════════════════╪════════════════════╡\n", + "│ Basics ┆ 0.833356 │\n", + "│ Basics + destination ┆ 0.929703 │\n", + "│ Basics + start_time ┆ 0.992803 │\n", + "│ Basics + start_time + duration + origin + destination ┆ 0.999894 │\n", + "│ Basics + tour_type_num ┆ 0.999931 │\n", + "└───────────────────────────────────────────────────────┴────────────────────┘" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "display(\"Sameness Definition vs Unique Error Terms:\")\n", + "display(output_df.group_by(\"sameness_definition\").agg(pl.col(\"unique_error_terms\").first()).sort(\"sameness_definition\"))\n" + ] + }, + { + "cell_type": "markdown", + "id": "bcfaa664", + "metadata": {}, + "source": [ + "#### Write to CSV for Tableau" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "c9df0221", + "metadata": {}, + "outputs": [], + "source": [ + "output_df.write_csv(output_file)" + ] + }, + { + "cell_type": "markdown", + "id": "ba1d5768", + "metadata": {}, + "source": [ + "### Deep Dive/Debug Investigation" + ] + }, + { + "cell_type": "markdown", + "id": "d0ab9439", + "metadata": {}, + "source": [ + "#### Question #1: Why does the Monte Carlo method fail? It should be perfect." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "9ad2f7cc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Primary Purpose distribution for Monte Carlo method failures:'" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "shape: (6, 2)
base_primary_purposelen
stru32
"atwork"1
"eatout"1
"escort"5292
"othdiscr"3
"othmaint"2
"shopping"2
" + ], + "text/plain": [ + "shape: (6, 2)\n", + "┌──────────────────────┬──────┐\n", + "│ base_primary_purpose ┆ len │\n", + "│ --- ┆ --- │\n", + "│ str ┆ u32 │\n", + "╞══════════════════════╪══════╡\n", + "│ atwork ┆ 1 │\n", + "│ eatout ┆ 1 │\n", + "│ escort ┆ 5292 │\n", + "│ othdiscr ┆ 3 │\n", + "│ othmaint ┆ 2 │\n", + "│ shopping ┆ 2 │\n", + "└──────────────────────┴──────┘" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "working_df = output_df.filter(\n", + " (pl.col(\"sameness_definition\") == SAMENESS_MONTE_CARLO_WORD) &\n", + " (pl.col(\"eet_performance\").str.contains(\"Failure\"))\n", + ")\n", + "\n", + "display(\"Primary Purpose distribution for Monte Carlo method failures:\")\n", + "display(working_df.group_by(\"base_primary_purpose\").len().sort(\"base_primary_purpose\"))\n" + ] + }, + { + "cell_type": "markdown", + "id": "e0bf0e6d", + "metadata": {}, + "source": [ + "##### Look into Shopping Failures" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "8edecf5f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "shape: (2, 2)
base_unique_idbase_household_id
u32f64
1189351302481.0
1189352302481.0
" + ], + "text/plain": [ + "shape: (2, 2)\n", + "┌────────────────┬───────────────────┐\n", + "│ base_unique_id ┆ base_household_id │\n", + "│ --- ┆ --- │\n", + "│ u32 ┆ f64 │\n", + "╞════════════════╪═══════════════════╡\n", + "│ 1189351 ┆ 302481.0 │\n", + "│ 1189352 ┆ 302481.0 │\n", + "└────────────────┴───────────────────┘" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df_shopping_failures = working_df.filter(pl.col(\"base_primary_purpose\") == \"shopping\")\n", + "display(df_shopping_failures.select([\"base_unique_id\", \"base_household_id\"]))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "0ce87860", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Debug Base DataFrame (Shopping):'" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "shape: (1, 8)
base_household_idbase_person_idbase_tour_typebase_primary_purposebase_tour_idbase_durationbase_start_time_indexbase_end_time_index
f64f64strstri64f64f64f64
302481.0858708.0"shopping""shopping"429353701.021.022.0
" + ], + "text/plain": [ + "shape: (1, 8)\n", + "┌────────────┬────────────┬────────────┬───────────┬───────────┬───────────┬───────────┬───────────┐\n", + "│ base_house ┆ base_perso ┆ base_tour_ ┆ base_prim ┆ base_tour ┆ base_dura ┆ base_star ┆ base_end_ │\n", + "│ hold_id ┆ n_id ┆ type ┆ ary_purpo ┆ _id ┆ tion ┆ t_time_in ┆ time_inde │\n", + "│ --- ┆ --- ┆ --- ┆ se ┆ --- ┆ --- ┆ dex ┆ x │\n", + "│ f64 ┆ f64 ┆ str ┆ --- ┆ i64 ┆ f64 ┆ --- ┆ --- │\n", + "│ ┆ ┆ ┆ str ┆ ┆ ┆ f64 ┆ f64 │\n", + "╞════════════╪════════════╪════════════╪═══════════╪═══════════╪═══════════╪═══════════╪═══════════╡\n", + "│ 302481.0 ┆ 858708.0 ┆ shopping ┆ shopping ┆ 42935370 ┆ 1.0 ┆ 21.0 ┆ 22.0 │\n", + "└────────────┴────────────┴────────────┴───────────┴───────────┴───────────┴───────────┴───────────┘" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "DEBUG_HH_ID = 302481\n", + "DEBUG_PERSON_ID = 858708\n", + "DEBUG_PURPOSE = \"shopping\"\n", + "\n", + "debug_base_df = eet_base_df.filter(\n", + " (pl.col(\"base_household_id\") == DEBUG_HH_ID) &\n", + " (pl.col(\"base_person_id\") == DEBUG_PERSON_ID) &\n", + " (pl.col(\"base_tour_type\") == DEBUG_PURPOSE)\n", + ").select(\n", + " [\n", + " \"base_household_id\",\n", + " \"base_person_id\",\n", + " \"base_tour_type\",\n", + " \"base_primary_purpose\",\n", + " \"base_tour_id\",\n", + " \"base_duration\",\n", + " \"base_start_time_index\",\n", + " \"base_end_time_index\",\n", + " ]\n", + ")\n", + "display(\"Debug Base DataFrame (Shopping):\")\n", + "display(debug_base_df)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "5ee647ba", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Debug Build DataFrame (Shopping):'" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "shape: (1, 14)
build_unique_idbuild_household_idbuild_person_idbuild_tour_typebuild_primary_purposebuild_tour_type_numbuild_tour_type_countbuild_tour_idbuild_tour_modebuild_durationbuild_start_time_indexbuild_end_time_indexbuild_originbuild_destination
u32f64f64strstrf64f64i64strf64f64f64f64f64
1189428302481.0858708.0"shopping""shopping"1.01.042935369"SHARED3"1.028.029.014843.012724.0
" + ], + "text/plain": [ + "shape: (1, 14)\n", + "┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬────────┬───────┬───────┬───────┬───────┬───────┬───────┐\n", + "│ bui ┆ bui ┆ bui ┆ bui ┆ bui ┆ bui ┆ bui ┆ build_ ┆ build ┆ build ┆ build ┆ build ┆ build ┆ build │\n", + "│ ld_ ┆ ld_ ┆ ld_ ┆ ld_ ┆ ld_ ┆ ld_ ┆ ld_ ┆ tour_i ┆ _tour ┆ _dura ┆ _star ┆ _end_ ┆ _orig ┆ _dest │\n", + "│ uni ┆ hou ┆ per ┆ tou ┆ pri ┆ tou ┆ tou ┆ d ┆ _mode ┆ tion ┆ t_tim ┆ time_ ┆ in ┆ inati │\n", + "│ que ┆ seh ┆ son ┆ r_t ┆ mar ┆ r_t ┆ r_t ┆ --- ┆ --- ┆ --- ┆ e_ind ┆ index ┆ --- ┆ on │\n", + "│ _id ┆ old ┆ _id ┆ ype ┆ y_p ┆ ype ┆ ype ┆ i64 ┆ str ┆ f64 ┆ ex ┆ --- ┆ f64 ┆ --- │\n", + "│ --- ┆ _id ┆ --- ┆ --- ┆ urp ┆ _nu ┆ _co ┆ ┆ ┆ ┆ --- ┆ f64 ┆ ┆ f64 │\n", + "│ u32 ┆ --- ┆ f64 ┆ str ┆ ose ┆ m ┆ unt ┆ ┆ ┆ ┆ f64 ┆ ┆ ┆ │\n", + "│ ┆ f64 ┆ ┆ ┆ --- ┆ --- ┆ --- ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ ┆ str ┆ f64 ┆ f64 ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n", + "╞═════╪═════╪═════╪═════╪═════╪═════╪═════╪════════╪═══════╪═══════╪═══════╪═══════╪═══════╪═══════╡\n", + "│ 118 ┆ 302 ┆ 858 ┆ sho ┆ sho ┆ 1.0 ┆ 1.0 ┆ 429353 ┆ SHARE ┆ 1.0 ┆ 28.0 ┆ 29.0 ┆ 14843 ┆ 12724 │\n", + "│ 942 ┆ 481 ┆ 708 ┆ ppi ┆ ppi ┆ ┆ ┆ 69 ┆ D3 ┆ ┆ ┆ ┆ .0 ┆ .0 │\n", + "│ 8 ┆ .0 ┆ .0 ┆ ng ┆ ng ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n", + "└─────┴─────┴─────┴─────┴─────┴─────┴─────┴────────┴───────┴───────┴───────┴───────┴───────┴───────┘" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "debug_build_df = eet_build_df.filter(\n", + " (pl.col(\"build_household_id\") == DEBUG_HH_ID) &\n", + " (pl.col(\"build_person_id\") == DEBUG_PERSON_ID) &\n", + " (pl.col(\"build_tour_type\") == DEBUG_PURPOSE)\n", + ")\n", + "display(\"Debug Build DataFrame (Shopping):\")\n", + "display(debug_build_df)" + ] + }, + { + "cell_type": "markdown", + "id": "efde1231", + "metadata": {}, + "source": [ + "The `tour_id` is different. Perhaps this is a joint tour that is leading to the different `tour_id`s?" + ] + }, + { + "cell_type": "markdown", + "id": "116646d3", + "metadata": {}, + "source": [ + "#### Question #2: Illustrate bad matches from the base (Monte Carlo) method\n", + "\n", + "This example also illustrates the 'Failure: Error term not generated in build' error. Base tour number 5 matches, in terms of time and location, build tour number 3. But because there are only four tours in the build scenario, the error term for the fifth base tour is not generated in the build scenario." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "fee50cf1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Debug Base DataFrame (Escort - Q2):'" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "shape: (6, 14)
base_unique_idbase_household_idbase_person_idbase_tour_typebase_primary_purposebase_tour_type_numbase_tour_type_countbase_tour_idbase_tour_modebase_durationbase_start_time_indexbase_end_time_indexbase_originbase_destination
u32f64f64strstrf64f64i64strf64f64f64f64f64
836239.0641.0"escort""escort"1.06.032085"SHARED3"1.08.09.0322.023872.0
837239.0641.0"escort""escort"2.06.032086"SHARED3"1.09.010.0322.05702.0
838239.0641.0"escort""escort"3.06.032087"WALK"1.018.019.0322.011186.0
839239.0641.0"escort""escort"4.06.032088"SHARED3"4.019.023.0322.05702.0
840239.0641.0"escort""escort"5.06.032089"SHARED2"1.023.024.0322.023872.0
841239.0641.0"escort""escort"6.06.032090"WALK"1.025.026.0322.011186.0
" + ], + "text/plain": [ + "shape: (6, 14)\n", + "┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬────────┬───────┬───────┬───────┬───────┬───────┬───────┐\n", + "│ bas ┆ bas ┆ bas ┆ bas ┆ bas ┆ bas ┆ bas ┆ base_t ┆ base_ ┆ base_ ┆ base_ ┆ base_ ┆ base_ ┆ base_ │\n", + "│ e_u ┆ e_h ┆ e_p ┆ e_t ┆ e_p ┆ e_t ┆ e_t ┆ our_id ┆ tour_ ┆ durat ┆ start ┆ end_t ┆ origi ┆ desti │\n", + "│ niq ┆ ous ┆ ers ┆ our ┆ rim ┆ our ┆ our ┆ --- ┆ mode ┆ ion ┆ _time ┆ ime_i ┆ n ┆ natio │\n", + "│ ue_ ┆ eho ┆ on_ ┆ _ty ┆ ary ┆ _ty ┆ _ty ┆ i64 ┆ --- ┆ --- ┆ _inde ┆ ndex ┆ --- ┆ n │\n", + "│ id ┆ ld_ ┆ id ┆ pe ┆ _pu ┆ pe_ ┆ pe_ ┆ ┆ str ┆ f64 ┆ x ┆ --- ┆ f64 ┆ --- │\n", + "│ --- ┆ id ┆ --- ┆ --- ┆ rpo ┆ num ┆ cou ┆ ┆ ┆ ┆ --- ┆ f64 ┆ ┆ f64 │\n", + "│ u32 ┆ --- ┆ f64 ┆ str ┆ se ┆ --- ┆ nt ┆ ┆ ┆ ┆ f64 ┆ ┆ ┆ │\n", + "│ ┆ f64 ┆ ┆ ┆ --- ┆ f64 ┆ --- ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ ┆ str ┆ ┆ f64 ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n", + "╞═════╪═════╪═════╪═════╪═════╪═════╪═════╪════════╪═══════╪═══════╪═══════╪═══════╪═══════╪═══════╡\n", + "│ 836 ┆ 239 ┆ 641 ┆ esc ┆ esc ┆ 1.0 ┆ 6.0 ┆ 32085 ┆ SHARE ┆ 1.0 ┆ 8.0 ┆ 9.0 ┆ 322.0 ┆ 23872 │\n", + "│ ┆ .0 ┆ .0 ┆ ort ┆ ort ┆ ┆ ┆ ┆ D3 ┆ ┆ ┆ ┆ ┆ .0 │\n", + "│ 837 ┆ 239 ┆ 641 ┆ esc ┆ esc ┆ 2.0 ┆ 6.0 ┆ 32086 ┆ SHARE ┆ 1.0 ┆ 9.0 ┆ 10.0 ┆ 322.0 ┆ 5702. │\n", + "│ ┆ .0 ┆ .0 ┆ ort ┆ ort ┆ ┆ ┆ ┆ D3 ┆ ┆ ┆ ┆ ┆ 0 │\n", + "│ 838 ┆ 239 ┆ 641 ┆ esc ┆ esc ┆ 3.0 ┆ 6.0 ┆ 32087 ┆ WALK ┆ 1.0 ┆ 18.0 ┆ 19.0 ┆ 322.0 ┆ 11186 │\n", + "│ ┆ .0 ┆ .0 ┆ ort ┆ ort ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ .0 │\n", + "│ 839 ┆ 239 ┆ 641 ┆ esc ┆ esc ┆ 4.0 ┆ 6.0 ┆ 32088 ┆ SHARE ┆ 4.0 ┆ 19.0 ┆ 23.0 ┆ 322.0 ┆ 5702. │\n", + "│ ┆ .0 ┆ .0 ┆ ort ┆ ort ┆ ┆ ┆ ┆ D3 ┆ ┆ ┆ ┆ ┆ 0 │\n", + "│ 840 ┆ 239 ┆ 641 ┆ esc ┆ esc ┆ 5.0 ┆ 6.0 ┆ 32089 ┆ SHARE ┆ 1.0 ┆ 23.0 ┆ 24.0 ┆ 322.0 ┆ 23872 │\n", + "│ ┆ .0 ┆ .0 ┆ ort ┆ ort ┆ ┆ ┆ ┆ D2 ┆ ┆ ┆ ┆ ┆ .0 │\n", + "│ 841 ┆ 239 ┆ 641 ┆ esc ┆ esc ┆ 6.0 ┆ 6.0 ┆ 32090 ┆ WALK ┆ 1.0 ┆ 25.0 ┆ 26.0 ┆ 322.0 ┆ 11186 │\n", + "│ ┆ .0 ┆ .0 ┆ ort ┆ ort ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ .0 │\n", + "└─────┴─────┴─────┴─────┴─────┴─────┴─────┴────────┴───────┴───────┴───────┴───────┴───────┴───────┘" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "'Debug Build DataFrame (Escort - Q2):'" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "shape: (4, 14)
build_unique_idbuild_household_idbuild_person_idbuild_tour_typebuild_primary_purposebuild_tour_type_numbuild_tour_type_countbuild_tour_idbuild_tour_modebuild_durationbuild_start_time_indexbuild_end_time_indexbuild_originbuild_destination
u32f64f64strstrf64f64i64strf64f64f64f64f64
836239.0641.0"escort""escort"1.04.032085"SHARED3"1.08.09.0322.023872.0
837239.0641.0"escort""escort"2.04.032086"WALK"4.018.022.0322.01834.0
838239.0641.0"escort""escort"3.04.032087"WALK"1.023.024.0322.023872.0
839239.0641.0"escort""escort"4.04.032088"WALK"2.024.026.0322.01834.0
" + ], + "text/plain": [ + "shape: (4, 14)\n", + "┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬────────┬───────┬───────┬───────┬───────┬───────┬───────┐\n", + "│ bui ┆ bui ┆ bui ┆ bui ┆ bui ┆ bui ┆ bui ┆ build_ ┆ build ┆ build ┆ build ┆ build ┆ build ┆ build │\n", + "│ ld_ ┆ ld_ ┆ ld_ ┆ ld_ ┆ ld_ ┆ ld_ ┆ ld_ ┆ tour_i ┆ _tour ┆ _dura ┆ _star ┆ _end_ ┆ _orig ┆ _dest │\n", + "│ uni ┆ hou ┆ per ┆ tou ┆ pri ┆ tou ┆ tou ┆ d ┆ _mode ┆ tion ┆ t_tim ┆ time_ ┆ in ┆ inati │\n", + "│ que ┆ seh ┆ son ┆ r_t ┆ mar ┆ r_t ┆ r_t ┆ --- ┆ --- ┆ --- ┆ e_ind ┆ index ┆ --- ┆ on │\n", + "│ _id ┆ old ┆ _id ┆ ype ┆ y_p ┆ ype ┆ ype ┆ i64 ┆ str ┆ f64 ┆ ex ┆ --- ┆ f64 ┆ --- │\n", + "│ --- ┆ _id ┆ --- ┆ --- ┆ urp ┆ _nu ┆ _co ┆ ┆ ┆ ┆ --- ┆ f64 ┆ ┆ f64 │\n", + "│ u32 ┆ --- ┆ f64 ┆ str ┆ ose ┆ m ┆ unt ┆ ┆ ┆ ┆ f64 ┆ ┆ ┆ │\n", + "│ ┆ f64 ┆ ┆ ┆ --- ┆ --- ┆ --- ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n", + "│ ┆ ┆ ┆ ┆ str ┆ f64 ┆ f64 ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n", + "╞═════╪═════╪═════╪═════╪═════╪═════╪═════╪════════╪═══════╪═══════╪═══════╪═══════╪═══════╪═══════╡\n", + "│ 836 ┆ 239 ┆ 641 ┆ esc ┆ esc ┆ 1.0 ┆ 4.0 ┆ 32085 ┆ SHARE ┆ 1.0 ┆ 8.0 ┆ 9.0 ┆ 322.0 ┆ 23872 │\n", + "│ ┆ .0 ┆ .0 ┆ ort ┆ ort ┆ ┆ ┆ ┆ D3 ┆ ┆ ┆ ┆ ┆ .0 │\n", + "│ 837 ┆ 239 ┆ 641 ┆ esc ┆ esc ┆ 2.0 ┆ 4.0 ┆ 32086 ┆ WALK ┆ 4.0 ┆ 18.0 ┆ 22.0 ┆ 322.0 ┆ 1834. │\n", + "│ ┆ .0 ┆ .0 ┆ ort ┆ ort ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ 0 │\n", + "│ 838 ┆ 239 ┆ 641 ┆ esc ┆ esc ┆ 3.0 ┆ 4.0 ┆ 32087 ┆ WALK ┆ 1.0 ┆ 23.0 ┆ 24.0 ┆ 322.0 ┆ 23872 │\n", + "│ ┆ .0 ┆ .0 ┆ ort ┆ ort ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ .0 │\n", + "│ 839 ┆ 239 ┆ 641 ┆ esc ┆ esc ┆ 4.0 ┆ 4.0 ┆ 32088 ┆ WALK ┆ 2.0 ┆ 24.0 ┆ 26.0 ┆ 322.0 ┆ 1834. │\n", + "│ ┆ .0 ┆ .0 ┆ ort ┆ ort ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ 0 │\n", + "└─────┴─────┴─────┴─────┴─────┴─────┴─────┴────────┴───────┴───────┴───────┴───────┴───────┴───────┘" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "DEBUG_HH_ID = 239\n", + "DEBUG_PERSON_ID = 641\n", + "DEBUG_PURPOSE = \"escort\"\n", + "\n", + "debug_base_df_q2 = eet_base_df.filter(\n", + " (pl.col(\"base_household_id\") == DEBUG_HH_ID) &\n", + " (pl.col(\"base_person_id\") == DEBUG_PERSON_ID) &\n", + " (pl.col(\"base_tour_type\") == DEBUG_PURPOSE)\n", + ")\n", + "display(\"Debug Base DataFrame (Escort - Q2):\")\n", + "display(debug_base_df_q2)\n", + "\n", + "debug_build_df_q2 = eet_build_df.filter(\n", + " (pl.col(\"build_household_id\") == DEBUG_HH_ID) &\n", + " (pl.col(\"build_person_id\") == DEBUG_PERSON_ID) &\n", + " (pl.col(\"build_tour_type\") == DEBUG_PURPOSE)\n", + ")\n", + "display(\"Debug Build DataFrame (Escort - Q2):\")\n", + "display(debug_build_df_q2)\n", + "\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..b1a9875 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,13 @@ +[project] +name = "asim-eet-viz" +version = "0.1.0" +description = "Add your description here" +readme = "README.md" +requires-python = ">=3.13" +dependencies = [ + "ipython>=9.3.0", + "pandas>=2.3.0", + "polars>=1.31.0", + "polars-lts-cpu>=1.31.0", + "pyarrow>=20.0.0", +] diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..588b9dc --- /dev/null +++ b/uv.lock @@ -0,0 +1,359 @@ +version = 1 +revision = 2 +requires-python = ">=3.13" + +[[package]] +name = "asim-eet-viz" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "ipython" }, + { name = "pandas" }, + { name = "polars" }, + { name = "polars-lts-cpu" }, + { name = "pyarrow" }, +] + +[package.metadata] +requires-dist = [ + { name = "ipython", specifier = ">=9.3.0" }, + { name = "pandas", specifier = ">=2.3.0" }, + { name = "polars", specifier = ">=1.31.0" }, + { name = "polars-lts-cpu", specifier = ">=1.31.0" }, + { name = "pyarrow", specifier = ">=20.0.0" }, +] + +[[package]] +name = "asttokens" +version = "3.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/82da0a03e7ba5141f05cce0d302e6eed121ae055e0456ca228bf693984bc/asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7", size = 61978, upload-time = "2024-11-30T04:30:14.439Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918, upload-time = "2024-11-30T04:30:10.946Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "decorator" +version = "5.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711, upload-time = "2025-02-24T04:41:34.073Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190, upload-time = "2025-02-24T04:41:32.565Z" }, +] + +[[package]] +name = "executing" +version = "2.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/91/50/a9d80c47ff289c611ff12e63f7c5d13942c65d68125160cefd768c73e6e4/executing-2.2.0.tar.gz", hash = "sha256:5d108c028108fe2551d1a7b2e8b713341e2cb4fc0aa7dcf966fa4327a5226755", size = 978693, upload-time = "2025-01-22T15:41:29.403Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/8f/c4d9bafc34ad7ad5d8dc16dd1347ee0e507a52c3adb6bfa8887e1c6a26ba/executing-2.2.0-py2.py3-none-any.whl", hash = "sha256:11387150cad388d62750327a53d3339fad4888b39a6fe233c3afbb54ecffd3aa", size = 26702, upload-time = "2025-01-22T15:41:25.929Z" }, +] + +[[package]] +name = "ipython" +version = "9.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "decorator" }, + { name = "ipython-pygments-lexers" }, + { name = "jedi" }, + { name = "matplotlib-inline" }, + { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit" }, + { name = "pygments" }, + { name = "stack-data" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/dc/09/4c7e06b96fbd203e06567b60fb41b06db606b6a82db6db7b2c85bb72a15c/ipython-9.3.0.tar.gz", hash = "sha256:79eb896f9f23f50ad16c3bc205f686f6e030ad246cc309c6279a242b14afe9d8", size = 4426460, upload-time = "2025-05-31T16:34:55.678Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/99/9ed3d52d00f1846679e3aa12e2326ac7044b5e7f90dc822b60115fa533ca/ipython-9.3.0-py3-none-any.whl", hash = "sha256:1a0b6dd9221a1f5dddf725b57ac0cb6fddc7b5f470576231ae9162b9b3455a04", size = 605320, upload-time = "2025-05-31T16:34:52.154Z" }, +] + +[[package]] +name = "ipython-pygments-lexers" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393, upload-time = "2025-01-17T11:24:34.505Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c", size = 8074, upload-time = "2025-01-17T11:24:33.271Z" }, +] + +[[package]] +name = "jedi" +version = "0.19.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "parso" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287, upload-time = "2024-11-11T01:41:42.873Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278, upload-time = "2024-11-11T01:41:40.175Z" }, +] + +[[package]] +name = "matplotlib-inline" +version = "0.1.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/99/5b/a36a337438a14116b16480db471ad061c36c3694df7c2084a0da7ba538b7/matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90", size = 8159, upload-time = "2024-04-15T13:44:44.803Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca", size = 9899, upload-time = "2024-04-15T13:44:43.265Z" }, +] + +[[package]] +name = "numpy" +version = "2.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2e/19/d7c972dfe90a353dbd3efbbe1d14a5951de80c99c9dc1b93cd998d51dc0f/numpy-2.3.1.tar.gz", hash = "sha256:1ec9ae20a4226da374362cca3c62cd753faf2f951440b0e3b98e93c235441d2b", size = 20390372, upload-time = "2025-06-21T12:28:33.469Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d4/bd/35ad97006d8abff8631293f8ea6adf07b0108ce6fec68da3c3fcca1197f2/numpy-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:25a1992b0a3fdcdaec9f552ef10d8103186f5397ab45e2d25f8ac51b1a6b97e8", size = 20889381, upload-time = "2025-06-21T12:19:04.103Z" }, + { url = "https://files.pythonhosted.org/packages/f1/4f/df5923874d8095b6062495b39729178eef4a922119cee32a12ee1bd4664c/numpy-2.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7dea630156d39b02a63c18f508f85010230409db5b2927ba59c8ba4ab3e8272e", size = 14152726, upload-time = "2025-06-21T12:19:25.599Z" }, + { url = "https://files.pythonhosted.org/packages/8c/0f/a1f269b125806212a876f7efb049b06c6f8772cf0121139f97774cd95626/numpy-2.3.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:bada6058dd886061f10ea15f230ccf7dfff40572e99fef440a4a857c8728c9c0", size = 5105145, upload-time = "2025-06-21T12:19:34.782Z" }, + { url = "https://files.pythonhosted.org/packages/6d/63/a7f7fd5f375b0361682f6ffbf686787e82b7bbd561268e4f30afad2bb3c0/numpy-2.3.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:a894f3816eb17b29e4783e5873f92faf55b710c2519e5c351767c51f79d8526d", size = 6639409, upload-time = "2025-06-21T12:19:45.228Z" }, + { url = "https://files.pythonhosted.org/packages/bf/0d/1854a4121af895aab383f4aa233748f1df4671ef331d898e32426756a8a6/numpy-2.3.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:18703df6c4a4fee55fd3d6e5a253d01c5d33a295409b03fda0c86b3ca2ff41a1", size = 14257630, upload-time = "2025-06-21T12:20:06.544Z" }, + { url = "https://files.pythonhosted.org/packages/50/30/af1b277b443f2fb08acf1c55ce9d68ee540043f158630d62cef012750f9f/numpy-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:5902660491bd7a48b2ec16c23ccb9124b8abfd9583c5fdfa123fe6b421e03de1", size = 16627546, upload-time = "2025-06-21T12:20:31.002Z" }, + { url = "https://files.pythonhosted.org/packages/6e/ec/3b68220c277e463095342d254c61be8144c31208db18d3fd8ef02712bcd6/numpy-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:36890eb9e9d2081137bd78d29050ba63b8dab95dff7912eadf1185e80074b2a0", size = 15562538, upload-time = "2025-06-21T12:20:54.322Z" }, + { url = "https://files.pythonhosted.org/packages/77/2b/4014f2bcc4404484021c74d4c5ee8eb3de7e3f7ac75f06672f8dcf85140a/numpy-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a780033466159c2270531e2b8ac063704592a0bc62ec4a1b991c7c40705eb0e8", size = 18360327, upload-time = "2025-06-21T12:21:21.053Z" }, + { url = "https://files.pythonhosted.org/packages/40/8d/2ddd6c9b30fcf920837b8672f6c65590c7d92e43084c25fc65edc22e93ca/numpy-2.3.1-cp313-cp313-win32.whl", hash = "sha256:39bff12c076812595c3a306f22bfe49919c5513aa1e0e70fac756a0be7c2a2b8", size = 6312330, upload-time = "2025-06-21T12:25:07.447Z" }, + { url = "https://files.pythonhosted.org/packages/dd/c8/beaba449925988d415efccb45bf977ff8327a02f655090627318f6398c7b/numpy-2.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:8d5ee6eec45f08ce507a6570e06f2f879b374a552087a4179ea7838edbcbfa42", size = 12731565, upload-time = "2025-06-21T12:25:26.444Z" }, + { url = "https://files.pythonhosted.org/packages/0b/c3/5c0c575d7ec78c1126998071f58facfc124006635da75b090805e642c62e/numpy-2.3.1-cp313-cp313-win_arm64.whl", hash = "sha256:0c4d9e0a8368db90f93bd192bfa771ace63137c3488d198ee21dfb8e7771916e", size = 10190262, upload-time = "2025-06-21T12:25:42.196Z" }, + { url = "https://files.pythonhosted.org/packages/ea/19/a029cd335cf72f79d2644dcfc22d90f09caa86265cbbde3b5702ccef6890/numpy-2.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b0b5397374f32ec0649dd98c652a1798192042e715df918c20672c62fb52d4b8", size = 20987593, upload-time = "2025-06-21T12:21:51.664Z" }, + { url = "https://files.pythonhosted.org/packages/25/91/8ea8894406209107d9ce19b66314194675d31761fe2cb3c84fe2eeae2f37/numpy-2.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c5bdf2015ccfcee8253fb8be695516ac4457c743473a43290fd36eba6a1777eb", size = 14300523, upload-time = "2025-06-21T12:22:13.583Z" }, + { url = "https://files.pythonhosted.org/packages/a6/7f/06187b0066eefc9e7ce77d5f2ddb4e314a55220ad62dd0bfc9f2c44bac14/numpy-2.3.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:d70f20df7f08b90a2062c1f07737dd340adccf2068d0f1b9b3d56e2038979fee", size = 5227993, upload-time = "2025-06-21T12:22:22.53Z" }, + { url = "https://files.pythonhosted.org/packages/e8/ec/a926c293c605fa75e9cfb09f1e4840098ed46d2edaa6e2152ee35dc01ed3/numpy-2.3.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:2fb86b7e58f9ac50e1e9dd1290154107e47d1eef23a0ae9145ded06ea606f992", size = 6736652, upload-time = "2025-06-21T12:22:33.629Z" }, + { url = "https://files.pythonhosted.org/packages/e3/62/d68e52fb6fde5586650d4c0ce0b05ff3a48ad4df4ffd1b8866479d1d671d/numpy-2.3.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:23ab05b2d241f76cb883ce8b9a93a680752fbfcbd51c50eff0b88b979e471d8c", size = 14331561, upload-time = "2025-06-21T12:22:55.056Z" }, + { url = "https://files.pythonhosted.org/packages/fc/ec/b74d3f2430960044bdad6900d9f5edc2dc0fb8bf5a0be0f65287bf2cbe27/numpy-2.3.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:ce2ce9e5de4703a673e705183f64fd5da5bf36e7beddcb63a25ee2286e71ca48", size = 16693349, upload-time = "2025-06-21T12:23:20.53Z" }, + { url = "https://files.pythonhosted.org/packages/0d/15/def96774b9d7eb198ddadfcbd20281b20ebb510580419197e225f5c55c3e/numpy-2.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c4913079974eeb5c16ccfd2b1f09354b8fed7e0d6f2cab933104a09a6419b1ee", size = 15642053, upload-time = "2025-06-21T12:23:43.697Z" }, + { url = "https://files.pythonhosted.org/packages/2b/57/c3203974762a759540c6ae71d0ea2341c1fa41d84e4971a8e76d7141678a/numpy-2.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:010ce9b4f00d5c036053ca684c77441f2f2c934fd23bee058b4d6f196efd8280", size = 18434184, upload-time = "2025-06-21T12:24:10.708Z" }, + { url = "https://files.pythonhosted.org/packages/22/8a/ccdf201457ed8ac6245187850aff4ca56a79edbea4829f4e9f14d46fa9a5/numpy-2.3.1-cp313-cp313t-win32.whl", hash = "sha256:6269b9edfe32912584ec496d91b00b6d34282ca1d07eb10e82dfc780907d6c2e", size = 6440678, upload-time = "2025-06-21T12:24:21.596Z" }, + { url = "https://files.pythonhosted.org/packages/f1/7e/7f431d8bd8eb7e03d79294aed238b1b0b174b3148570d03a8a8a8f6a0da9/numpy-2.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:2a809637460e88a113e186e87f228d74ae2852a2e0c44de275263376f17b5bdc", size = 12870697, upload-time = "2025-06-21T12:24:40.644Z" }, + { url = "https://files.pythonhosted.org/packages/d4/ca/af82bf0fad4c3e573c6930ed743b5308492ff19917c7caaf2f9b6f9e2e98/numpy-2.3.1-cp313-cp313t-win_arm64.whl", hash = "sha256:eccb9a159db9aed60800187bc47a6d3451553f0e1b08b068d8b277ddfbb9b244", size = 10260376, upload-time = "2025-06-21T12:24:56.884Z" }, +] + +[[package]] +name = "pandas" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy" }, + { name = "python-dateutil" }, + { name = "pytz" }, + { name = "tzdata" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/51/48f713c4c728d7c55ef7444ba5ea027c26998d96d1a40953b346438602fc/pandas-2.3.0.tar.gz", hash = "sha256:34600ab34ebf1131a7613a260a61dbe8b62c188ec0ea4c296da7c9a06b004133", size = 4484490, upload-time = "2025-06-05T03:27:54.133Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d3/57/5cb75a56a4842bbd0511c3d1c79186d8315b82dac802118322b2de1194fe/pandas-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c7e2fc25f89a49a11599ec1e76821322439d90820108309bf42130d2f36c983", size = 11518913, upload-time = "2025-06-05T03:27:02.757Z" }, + { url = "https://files.pythonhosted.org/packages/05/01/0c8785610e465e4948a01a059562176e4c8088aa257e2e074db868f86d4e/pandas-2.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c6da97aeb6a6d233fb6b17986234cc723b396b50a3c6804776351994f2a658fd", size = 10655249, upload-time = "2025-06-05T16:50:20.17Z" }, + { url = "https://files.pythonhosted.org/packages/e8/6a/47fd7517cd8abe72a58706aab2b99e9438360d36dcdb052cf917b7bf3bdc/pandas-2.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb32dc743b52467d488e7a7c8039b821da2826a9ba4f85b89ea95274f863280f", size = 11328359, upload-time = "2025-06-05T03:27:06.431Z" }, + { url = "https://files.pythonhosted.org/packages/2a/b3/463bfe819ed60fb7e7ddffb4ae2ee04b887b3444feee6c19437b8f834837/pandas-2.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:213cd63c43263dbb522c1f8a7c9d072e25900f6975596f883f4bebd77295d4f3", size = 12024789, upload-time = "2025-06-05T03:27:09.875Z" }, + { url = "https://files.pythonhosted.org/packages/04/0c/e0704ccdb0ac40aeb3434d1c641c43d05f75c92e67525df39575ace35468/pandas-2.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1d2b33e68d0ce64e26a4acc2e72d747292084f4e8db4c847c6f5f6cbe56ed6d8", size = 12480734, upload-time = "2025-06-06T00:00:22.246Z" }, + { url = "https://files.pythonhosted.org/packages/e9/df/815d6583967001153bb27f5cf075653d69d51ad887ebbf4cfe1173a1ac58/pandas-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:430a63bae10b5086995db1b02694996336e5a8ac9a96b4200572b413dfdfccb9", size = 13223381, upload-time = "2025-06-05T03:27:15.641Z" }, + { url = "https://files.pythonhosted.org/packages/79/88/ca5973ed07b7f484c493e941dbff990861ca55291ff7ac67c815ce347395/pandas-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4930255e28ff5545e2ca404637bcc56f031893142773b3468dc021c6c32a1390", size = 10970135, upload-time = "2025-06-05T03:27:24.131Z" }, + { url = "https://files.pythonhosted.org/packages/24/fb/0994c14d1f7909ce83f0b1fb27958135513c4f3f2528bde216180aa73bfc/pandas-2.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:f925f1ef673b4bd0271b1809b72b3270384f2b7d9d14a189b12b7fc02574d575", size = 12141356, upload-time = "2025-06-05T03:27:34.547Z" }, + { url = "https://files.pythonhosted.org/packages/9d/a2/9b903e5962134497ac4f8a96f862ee3081cb2506f69f8e4778ce3d9c9d82/pandas-2.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e78ad363ddb873a631e92a3c063ade1ecfb34cae71e9a2be6ad100f875ac1042", size = 11474674, upload-time = "2025-06-05T03:27:39.448Z" }, + { url = "https://files.pythonhosted.org/packages/81/3a/3806d041bce032f8de44380f866059437fb79e36d6b22c82c187e65f765b/pandas-2.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:951805d146922aed8357e4cc5671b8b0b9be1027f0619cea132a9f3f65f2f09c", size = 11439876, upload-time = "2025-06-05T03:27:43.652Z" }, + { url = "https://files.pythonhosted.org/packages/15/aa/3fc3181d12b95da71f5c2537c3e3b3af6ab3a8c392ab41ebb766e0929bc6/pandas-2.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a881bc1309f3fce34696d07b00f13335c41f5f5a8770a33b09ebe23261cfc67", size = 11966182, upload-time = "2025-06-05T03:27:47.652Z" }, + { url = "https://files.pythonhosted.org/packages/37/e7/e12f2d9b0a2c4a2cc86e2aabff7ccfd24f03e597d770abfa2acd313ee46b/pandas-2.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e1991bbb96f4050b09b5f811253c4f3cf05ee89a589379aa36cd623f21a31d6f", size = 12547686, upload-time = "2025-06-06T00:00:26.142Z" }, + { url = "https://files.pythonhosted.org/packages/39/c2/646d2e93e0af70f4e5359d870a63584dacbc324b54d73e6b3267920ff117/pandas-2.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:bb3be958022198531eb7ec2008cfc78c5b1eed51af8600c6c5d9160d89d8d249", size = 13231847, upload-time = "2025-06-05T03:27:51.465Z" }, +] + +[[package]] +name = "parso" +version = "0.8.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/66/94/68e2e17afaa9169cf6412ab0f28623903be73d1b32e208d9e8e541bb086d/parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d", size = 400609, upload-time = "2024-04-05T09:43:55.897Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18", size = 103650, upload-time = "2024-04-05T09:43:53.299Z" }, +] + +[[package]] +name = "pexpect" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload-time = "2023-11-25T06:56:14.81Z" }, +] + +[[package]] +name = "polars" +version = "1.31.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fd/f5/de1b5ecd7d0bd0dd87aa392937f759f9cc3997c5866a9a7f94eabf37cd48/polars-1.31.0.tar.gz", hash = "sha256:59a88054a5fc0135386268ceefdbb6a6cc012d21b5b44fed4f1d3faabbdcbf32", size = 4681224, upload-time = "2025-06-18T12:00:46.24Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3d/6e/bdd0937653c1e7a564a09ae3bc7757ce83fedbf19da600c8b35d62c0182a/polars-1.31.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:ccc68cd6877deecd46b13cbd2663ca89ab2a2cb1fe49d5cfc66a9cef166566d9", size = 34511354, upload-time = "2025-06-18T11:59:40.048Z" }, + { url = "https://files.pythonhosted.org/packages/77/fe/81aaca3540c1a5530b4bc4fd7f1b6f77100243d7bb9b7ad3478b770d8b3e/polars-1.31.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:a94c5550df397ad3c2d6adc212e59fd93d9b044ec974dd3653e121e6487a7d21", size = 31377712, upload-time = "2025-06-18T11:59:45.104Z" }, + { url = "https://files.pythonhosted.org/packages/b8/d9/5e2753784ea30d84b3e769a56f5e50ac5a89c129e87baa16ac0773eb4ef7/polars-1.31.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ada7940ed92bea65d5500ae7ac1f599798149df8faa5a6db150327c9ddbee4f1", size = 35050729, upload-time = "2025-06-18T11:59:48.538Z" }, + { url = "https://files.pythonhosted.org/packages/20/e8/a6bdfe7b687c1fe84bceb1f854c43415eaf0d2fdf3c679a9dc9c4776e462/polars-1.31.0-cp39-abi3-manylinux_2_24_aarch64.whl", hash = "sha256:b324e6e3e8c6cc6593f9d72fe625f06af65e8d9d47c8686583585533a5e731e1", size = 32260836, upload-time = "2025-06-18T11:59:52.543Z" }, + { url = "https://files.pythonhosted.org/packages/6e/f6/9d9ad9dc4480d66502497e90ce29efc063373e1598f4bd9b6a38af3e08e7/polars-1.31.0-cp39-abi3-win_amd64.whl", hash = "sha256:3fd874d3432fc932863e8cceff2cff8a12a51976b053f2eb6326a0672134a632", size = 35156211, upload-time = "2025-06-18T11:59:55.805Z" }, + { url = "https://files.pythonhosted.org/packages/40/4b/0673a68ac4d6527fac951970e929c3b4440c654f994f0c957bd5556deb38/polars-1.31.0-cp39-abi3-win_arm64.whl", hash = "sha256:62ef23bb9d10dca4c2b945979f9a50812ac4ace4ed9e158a6b5d32a7322e6f75", size = 31469078, upload-time = "2025-06-18T11:59:59.242Z" }, +] + +[[package]] +name = "polars-lts-cpu" +version = "1.31.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fb/d5/198c77abe78c06af8768f71eecbd8714b2930a0da97eaf4d5aebe8f757a8/polars_lts_cpu-1.31.0.tar.gz", hash = "sha256:574a7b077aa5f71add4a099d491a28b31e9ec72e020b27b1c9731fc9a638280a", size = 4680376, upload-time = "2025-06-18T12:00:48.195Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9c/ac/1e7cde190510d49725539bfd9a261c99413980717f5d8aca5b2f397f9966/polars_lts_cpu-1.31.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:f699d5ab25781a116adb7288a7d34b333626014b37d61c75f700db201da5aa30", size = 34202968, upload-time = "2025-06-18T12:00:02.211Z" }, + { url = "https://files.pythonhosted.org/packages/a9/bf/81b2d7ad1c96ada39ff3a46b433e012838b2fbc9b680faed60a7816ce34a/polars_lts_cpu-1.31.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:7c63d36eca8f534662eaf92fc80217e6821183d609ceff24029473b9c4d0cd18", size = 31377827, upload-time = "2025-06-18T12:00:06.179Z" }, + { url = "https://files.pythonhosted.org/packages/1f/16/7d2aae57715b879aa3b415f487764aa5ec20ca942aa1fb6dea13d00e37ff/polars_lts_cpu-1.31.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81870f8bf27258d34bd474bc5b9213534834a647e39f4e18b4aa49600356f982", size = 34733404, upload-time = "2025-06-18T12:00:09.133Z" }, + { url = "https://files.pythonhosted.org/packages/d3/4d/fbd9e8bfa8af55472b14f1700ac40bc5f06b0bd24caa2cefc2c808b2fe07/polars_lts_cpu-1.31.0-cp39-abi3-manylinux_2_24_aarch64.whl", hash = "sha256:9cea1c270b080aa5215d64d14ec251e643525f386fb669d064dea6176f45e533", size = 32260917, upload-time = "2025-06-18T12:00:12.745Z" }, + { url = "https://files.pythonhosted.org/packages/1f/a3/8f1886f8eb435f8d56db5ca4989543a5d11f050238aee440670b51f1a108/polars_lts_cpu-1.31.0-cp39-abi3-win_amd64.whl", hash = "sha256:a639c014fca4a497b24c5e16d6aabe3f9d29ddd8169d6d9aea87483138b5ece0", size = 35071460, upload-time = "2025-06-18T12:00:17.202Z" }, + { url = "https://files.pythonhosted.org/packages/57/d0/d6a9ec099bfc7520e8bba2efcf6a2876a3d79c453dce8c4dbbde3564e31c/polars_lts_cpu-1.31.0-cp39-abi3-win_arm64.whl", hash = "sha256:5e9583f21ebfa7a6e36e2527d64416a3f2892f957c68fd3adbc5516fd96eacdb", size = 31469156, upload-time = "2025-06-18T12:00:20.543Z" }, +] + +[[package]] +name = "prompt-toolkit" +version = "3.0.51" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bb/6e/9d084c929dfe9e3bfe0c6a47e31f78a25c54627d64a66e884a8bf5474f1c/prompt_toolkit-3.0.51.tar.gz", hash = "sha256:931a162e3b27fc90c86f1b48bb1fb2c528c2761475e57c9c06de13311c7b54ed", size = 428940, upload-time = "2025-04-15T09:18:47.731Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ce/4f/5249960887b1fbe561d9ff265496d170b55a735b76724f10ef19f9e40716/prompt_toolkit-3.0.51-py3-none-any.whl", hash = "sha256:52742911fde84e2d423e2f9a4cf1de7d7ac4e51958f648d9540e0fb8db077b07", size = 387810, upload-time = "2025-04-15T09:18:44.753Z" }, +] + +[[package]] +name = "ptyprocess" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762, upload-time = "2020-12-28T15:15:30.155Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993, upload-time = "2020-12-28T15:15:28.35Z" }, +] + +[[package]] +name = "pure-eval" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752, upload-time = "2024-07-21T12:58:21.801Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842, upload-time = "2024-07-21T12:58:20.04Z" }, +] + +[[package]] +name = "pyarrow" +version = "20.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/ee/a7810cb9f3d6e9238e61d312076a9859bf3668fd21c69744de9532383912/pyarrow-20.0.0.tar.gz", hash = "sha256:febc4a913592573c8d5805091a6c2b5064c8bd6e002131f01061797d91c783c1", size = 1125187, upload-time = "2025-04-27T12:34:23.264Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9b/aa/daa413b81446d20d4dad2944110dcf4cf4f4179ef7f685dd5a6d7570dc8e/pyarrow-20.0.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:a15532e77b94c61efadde86d10957950392999503b3616b2ffcef7621a002893", size = 30798501, upload-time = "2025-04-27T12:30:48.351Z" }, + { url = "https://files.pythonhosted.org/packages/ff/75/2303d1caa410925de902d32ac215dc80a7ce7dd8dfe95358c165f2adf107/pyarrow-20.0.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:dd43f58037443af715f34f1322c782ec463a3c8a94a85fdb2d987ceb5658e061", size = 32277895, upload-time = "2025-04-27T12:30:55.238Z" }, + { url = "https://files.pythonhosted.org/packages/92/41/fe18c7c0b38b20811b73d1bdd54b1fccba0dab0e51d2048878042d84afa8/pyarrow-20.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa0d288143a8585806e3cc7c39566407aab646fb9ece164609dac1cfff45f6ae", size = 41327322, upload-time = "2025-04-27T12:31:05.587Z" }, + { url = "https://files.pythonhosted.org/packages/da/ab/7dbf3d11db67c72dbf36ae63dcbc9f30b866c153b3a22ef728523943eee6/pyarrow-20.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6953f0114f8d6f3d905d98e987d0924dabce59c3cda380bdfaa25a6201563b4", size = 42411441, upload-time = "2025-04-27T12:31:15.675Z" }, + { url = "https://files.pythonhosted.org/packages/90/c3/0c7da7b6dac863af75b64e2f827e4742161128c350bfe7955b426484e226/pyarrow-20.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:991f85b48a8a5e839b2128590ce07611fae48a904cae6cab1f089c5955b57eb5", size = 40677027, upload-time = "2025-04-27T12:31:24.631Z" }, + { url = "https://files.pythonhosted.org/packages/be/27/43a47fa0ff9053ab5203bb3faeec435d43c0d8bfa40179bfd076cdbd4e1c/pyarrow-20.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:97c8dc984ed09cb07d618d57d8d4b67a5100a30c3818c2fb0b04599f0da2de7b", size = 42281473, upload-time = "2025-04-27T12:31:31.311Z" }, + { url = "https://files.pythonhosted.org/packages/bc/0b/d56c63b078876da81bbb9ba695a596eabee9b085555ed12bf6eb3b7cab0e/pyarrow-20.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9b71daf534f4745818f96c214dbc1e6124d7daf059167330b610fc69b6f3d3e3", size = 42893897, upload-time = "2025-04-27T12:31:39.406Z" }, + { url = "https://files.pythonhosted.org/packages/92/ac/7d4bd020ba9145f354012838692d48300c1b8fe5634bfda886abcada67ed/pyarrow-20.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e8b88758f9303fa5a83d6c90e176714b2fd3852e776fc2d7e42a22dd6c2fb368", size = 44543847, upload-time = "2025-04-27T12:31:45.997Z" }, + { url = "https://files.pythonhosted.org/packages/9d/07/290f4abf9ca702c5df7b47739c1b2c83588641ddfa2cc75e34a301d42e55/pyarrow-20.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:30b3051b7975801c1e1d387e17c588d8ab05ced9b1e14eec57915f79869b5031", size = 25653219, upload-time = "2025-04-27T12:31:54.11Z" }, + { url = "https://files.pythonhosted.org/packages/95/df/720bb17704b10bd69dde086e1400b8eefb8f58df3f8ac9cff6c425bf57f1/pyarrow-20.0.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:ca151afa4f9b7bc45bcc791eb9a89e90a9eb2772767d0b1e5389609c7d03db63", size = 30853957, upload-time = "2025-04-27T12:31:59.215Z" }, + { url = "https://files.pythonhosted.org/packages/d9/72/0d5f875efc31baef742ba55a00a25213a19ea64d7176e0fe001c5d8b6e9a/pyarrow-20.0.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:4680f01ecd86e0dd63e39eb5cd59ef9ff24a9d166db328679e36c108dc993d4c", size = 32247972, upload-time = "2025-04-27T12:32:05.369Z" }, + { url = "https://files.pythonhosted.org/packages/d5/bc/e48b4fa544d2eea72f7844180eb77f83f2030b84c8dad860f199f94307ed/pyarrow-20.0.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f4c8534e2ff059765647aa69b75d6543f9fef59e2cd4c6d18015192565d2b70", size = 41256434, upload-time = "2025-04-27T12:32:11.814Z" }, + { url = "https://files.pythonhosted.org/packages/c3/01/974043a29874aa2cf4f87fb07fd108828fc7362300265a2a64a94965e35b/pyarrow-20.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e1f8a47f4b4ae4c69c4d702cfbdfe4d41e18e5c7ef6f1bb1c50918c1e81c57b", size = 42353648, upload-time = "2025-04-27T12:32:20.766Z" }, + { url = "https://files.pythonhosted.org/packages/68/95/cc0d3634cde9ca69b0e51cbe830d8915ea32dda2157560dda27ff3b3337b/pyarrow-20.0.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:a1f60dc14658efaa927f8214734f6a01a806d7690be4b3232ba526836d216122", size = 40619853, upload-time = "2025-04-27T12:32:28.1Z" }, + { url = "https://files.pythonhosted.org/packages/29/c2/3ad40e07e96a3e74e7ed7cc8285aadfa84eb848a798c98ec0ad009eb6bcc/pyarrow-20.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:204a846dca751428991346976b914d6d2a82ae5b8316a6ed99789ebf976551e6", size = 42241743, upload-time = "2025-04-27T12:32:35.792Z" }, + { url = "https://files.pythonhosted.org/packages/eb/cb/65fa110b483339add6a9bc7b6373614166b14e20375d4daa73483755f830/pyarrow-20.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:f3b117b922af5e4c6b9a9115825726cac7d8b1421c37c2b5e24fbacc8930612c", size = 42839441, upload-time = "2025-04-27T12:32:46.64Z" }, + { url = "https://files.pythonhosted.org/packages/98/7b/f30b1954589243207d7a0fbc9997401044bf9a033eec78f6cb50da3f304a/pyarrow-20.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e724a3fd23ae5b9c010e7be857f4405ed5e679db5c93e66204db1a69f733936a", size = 44503279, upload-time = "2025-04-27T12:32:56.503Z" }, + { url = "https://files.pythonhosted.org/packages/37/40/ad395740cd641869a13bcf60851296c89624662575621968dcfafabaa7f6/pyarrow-20.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:82f1ee5133bd8f49d31be1299dc07f585136679666b502540db854968576faf9", size = 25944982, upload-time = "2025-04-27T12:33:04.72Z" }, +] + +[[package]] +name = "pygments" +version = "2.19.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "pytz" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload-time = "2025-03-25T02:25:00.538Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "stack-data" +version = "0.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "asttokens" }, + { name = "executing" }, + { name = "pure-eval" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707, upload-time = "2023-09-30T13:58:05.479Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload-time = "2023-09-30T13:58:03.53Z" }, +] + +[[package]] +name = "traitlets" +version = "5.14.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621, upload-time = "2024-04-19T11:11:49.746Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359, upload-time = "2024-04-19T11:11:46.763Z" }, +] + +[[package]] +name = "tzdata" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380, upload-time = "2025-03-23T13:54:43.652Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839, upload-time = "2025-03-23T13:54:41.845Z" }, +] + +[[package]] +name = "wcwidth" +version = "0.2.13" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301, upload-time = "2024-01-06T02:10:57.829Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166, upload-time = "2024-01-06T02:10:55.763Z" }, +] From 50b8fbcda5aa508512918945d4887d351d4eaeac Mon Sep 17 00:00:00 2001 From: DavidOry Date: Wed, 3 Sep 2025 09:38:09 -0400 Subject: [PATCH 2/2] Re-number sameness assessments to align with the document --- ...tour-mode-choice-sameness-assessment.ipynb | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/notebooks/tour-mode-choice-sameness-assessment.ipynb b/notebooks/tour-mode-choice-sameness-assessment.ipynb index ec06c53..852ce4d 100644 --- a/notebooks/tour-mode-choice-sameness-assessment.ipynb +++ b/notebooks/tour-mode-choice-sameness-assessment.ipynb @@ -347,12 +347,12 @@ "id": "f08d56dd", "metadata": {}, "source": [ - "#### Sameness Definition 1: By household_id, person_id, tour_type, primary_purpose, and tour_type_num" + "#### Sameness Definition 2: By household_id, person_id, tour_type, primary_purpose, and tour_type_num" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "ceea26a0", "metadata": {}, "outputs": [], @@ -364,7 +364,7 @@ " (\"base_primary_purpose\", \"build_primary_purpose\"),\n", " (\"base_tour_type_num\", \"build_tour_type_num\")\n", "]\n", - "same_01_df = process_sameness(eet_base_df, eet_build_df, join_cols, SAMENESS_MONTE_CARLO_WORD, same_error_df, base_error_term_in_build_df)" + "same_02_df = process_sameness(eet_base_df, eet_build_df, join_cols, SAMENESS_MONTE_CARLO_WORD, same_error_df, base_error_term_in_build_df)" ] }, { @@ -372,12 +372,12 @@ "id": "35ad6a51", "metadata": {}, "source": [ - "#### Sameness Definition 2: By household_id, person_id, tour_type, primary_purpose, and start_time" + "#### Sameness Definition 4: By household_id, person_id, tour_type, primary_purpose, and start_time" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "e607b98b", "metadata": {}, "outputs": [], @@ -389,7 +389,7 @@ " (\"base_primary_purpose\", \"build_primary_purpose\"),\n", " (\"base_start_time_index\", \"build_start_time_index\")\n", "]\n", - "same_02_df = process_sameness(eet_base_df, eet_build_df, join_cols, SAMENESS_START_TIME_WORD, same_error_df, base_error_term_in_build_df)" + "same_04_df = process_sameness(eet_base_df, eet_build_df, join_cols, SAMENESS_START_TIME_WORD, same_error_df, base_error_term_in_build_df)" ] }, { @@ -397,12 +397,12 @@ "id": "8c156a2e", "metadata": {}, "source": [ - "#### Sameness Definition 3: By household_id, person_id, tour_type, primary_purpose, start_time, duration, origin, and destination" + "#### Sameness Definition 5: By household_id, person_id, tour_type, primary_purpose, start_time, duration, origin, and destination" ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "2f1942c7", "metadata": {}, "outputs": [], @@ -417,7 +417,7 @@ " (\"base_origin\", \"build_origin\"),\n", " (\"base_destination\", \"build_destination\")\n", "]\n", - "same_03_df = process_sameness(eet_base_df, eet_build_df, join_cols, SAMENESS_SCHEDULE_LOCATION_WORD, same_error_df, base_error_term_in_build_df)" + "same_05_df = process_sameness(eet_base_df, eet_build_df, join_cols, SAMENESS_SCHEDULE_LOCATION_WORD, same_error_df, base_error_term_in_build_df)" ] }, { @@ -425,12 +425,12 @@ "id": "6ae9975e", "metadata": {}, "source": [ - "#### Sameness Definition 4: By household_id, person_id, tour_type, primary_purpose, and destination" + "#### Sameness Definition 3: By household_id, person_id, tour_type, primary_purpose, and destination" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "5fe3cda8", "metadata": {}, "outputs": [], @@ -442,7 +442,7 @@ " (\"base_primary_purpose\", \"build_primary_purpose\"),\n", " (\"base_destination\", \"build_destination\")\n", "]\n", - "same_04_df = process_sameness(eet_base_df, eet_build_df, join_cols, SAMENESS_DESTINATION_WORD, same_error_df, base_error_term_in_build_df)" + "same_03_df = process_sameness(eet_base_df, eet_build_df, join_cols, SAMENESS_DESTINATION_WORD, same_error_df, base_error_term_in_build_df)" ] }, { @@ -450,12 +450,12 @@ "id": "cb7181d2", "metadata": {}, "source": [ - "#### Sameness Definition 5: By household_id, person_id, tour_type, primary_purpose" + "#### Sameness Definition 1: By household_id, person_id, tour_type, primary_purpose" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "48bbfa10", "metadata": {}, "outputs": [], @@ -466,7 +466,7 @@ " (\"base_tour_type\", \"build_tour_type\"),\n", " (\"base_primary_purpose\", \"build_primary_purpose\")\n", "]\n", - "same_05_df = process_sameness(eet_base_df, eet_build_df, join_cols, SAMENESS_BASICS_WORD, same_error_df, base_error_term_in_build_df)" + "same_01_df = process_sameness(eet_base_df, eet_build_df, join_cols, SAMENESS_BASICS_WORD, same_error_df, base_error_term_in_build_df)" ] }, {